miércoles, 27 de enero de 2010

7.1 MEDICION DE DESEMPEÑO PERFORMANCE SISTEMA OPERATIVO

Mediciones del Rendimiento
El rendimiento expresa la manera o la eficiencia con que un sistema de computación cumple sus metas [7, Deitel].
El rendimiento es una cantidad relativa más que absoluta pero suele hablarse de medidas absolutas de rendimiento, ej.: número de trabajos atendidos por unidad de tiempo.
Algunas mediciones son difíciles de cuantificar, ej.: facilidad de uso.
Técnicas de Evaluación del Rendimiento
Tiempos
Los tiempos proporcionan los medios para realizar comparaciones rápidas del hardware [7, Deitel].
Una posible unidad de medida es el “mips”: millón de instrucciones por segundo.
Los tiempos se usan para comparaciones rápidas; se utilizan operaciones básicas de hardware.
Mezclas de instrucciones
Se usa un promedio ponderado de varios tiempos de las instrucciones más apropiadas para una aplicación determinada; los equipos pueden ser comparados con mayor certeza de la que proporcionan los tiempos por sí solos.
Son útiles para comparaciones rápidas del hardware.
Programas del núcleo
Un programa núcleo es un programa típico que puede ser ejecutado en una instalación.
Se utilizan los tiempos estimados que suministran los fabricantes para cada máquina para calcular su tiempo de ejecución.
Se corre el programa típico en las distintas máquinas para obtener su tiempo de ejecución.
Pueden ser útiles para la evaluación de ciertos componentes del software, por ej. compiladores; pueden ayudar a determinar qué compilador genera el código más eficiente.
Modelos analíticos
Son representaciones matemáticas de sistemas de computación o de componentes de sistemas de computación.
Generalmente se utilizan los modelos de:
Teoría de colas.
Procesos de Markov.
Requieren un gran nivel matemático del evaluador y son confiables solo en sistemas sencillos, ya que en sistemas complejos los supuestos simplificadores pueden invalidar su utilidad y aplicabilidad.
Embotellamientos y Saturación
Los recursos administrados por los S. O. se acoplan e interactúan de maneras complejas para afectar al total de la operación del sistema [7, Deitel].
Ciertos recursos pueden sufrir embotellamientos que limitan el rendimiento del sistema:
No pueden realizar su parte del trabajo.
Otros recursos pueden estar con exceso de capacidad.
Un embotellamiento tiende a producirse en un recurso cuando el tráfico de trabajos o procesos de ese recurso comienza a alcanzar su capacidad límite:
El recurso se encuentra saturado.
Los procesos que compiten por el recurso comienzan a interferirse unos a otros.
Ej.: problema de la hiperpaginación:
o Ocurre cuando el almacenamiento principal está lleno.
o Los conjuntos de trabajo de los distintos procesos activos no pueden ser mantenidos simultáneamente en el almacenamiento principal.
Para detectar los embotellamientos se debe controlar cada cola de peticiones de los recursos; cuando una cola crece rápidamente significa que la tasa de llegadas de peticiones debe superar a su tasa de servicio.

7.2 SEGURIDAD SISTEMA OPERATIVO

La seguridad tiene muchas facetas. Dos de las más importantes son la pérdida de datos y los intrusos. Algunas de las causas más comunes de la perdida de datos son:
1. Actos divinos: Incendios, inundaciones, terremotos, guerras, revoluciones o ratas que roen las cintas o discos flexibles.
2. errores de Hardware o Software: Mal funcionamiento de la CPU, discos o cintas ilegibles, errores de telecomunicación o errores en el programa.
3. Errores Humanos: Entrada incorrecta de datos, mal montaje de las cintas o el disco, ejecución incorrecta del programa, perdida de cintas o discos.
La mayoría de estas causas se pueden enfrentar con el mantenimiento de los respaldos adecuados; de preferencia, en un lugar alejado de los datos originales.
Un problema más interesante es que hacer con los intrusos. Estos tienen dos variedades. Los intrusos pasivos solo desean leer archivos que no están autorizados a leer. Los intrusos activos son más crueles: Desean hacer cambios no autorizados a los datos. Si se desea diseñar un sistema seguro contra los intrusos, es importante tener en cuenta el tipo de intruso con el que se desea tener protección. Algunas de las categorías comunes son:
1. Curiosidad casual de usuarios no técnicos. Muchas personas tienen en sus escritorios terminales para sistemas con tiempo compartido y, por la naturaleza humana, algunos de ellos leerán el correo electrónico de los demás u otros archivos, si no existen barreras en frente de ellos. Por ejemplo la mayoría de los sistema UNÍS tienen pre definido que todos los archivos se pueden leer de manera pública.
2. Conocidos husmeando. Algunos estudiantes, programadores de sistemas, operadores y demás personal técnico consideran como un reto personal romper la seguridad del sistema de cómputo local. A menudo son muy calificados y están dispuestos a invertir una cantidad sustancial de su tiempo en este esfuerzo.
3. Un intento deliberado de hacer dinero. Algunos programadores en banco han intentado penetrar un sistema bancario con el fin de robarle al banco. Los esquemas han variado desde cambiar el software para truncar y no redondear el interés, para quedarse con una pequeña fracción de dinero, hasta sacar dinero de las cuentas que no se han utilizado en años o el “correo negro” .
4. Espionaje comercias o militar. El espionaje indica un intento serio y fundamentado por parte de un competidor u otro país para robar programas, secretos comerciales, patentes, tecnología, diseño de circuitos, planes de comercialización, etc. A menudo, este intento implica la cobertura de cables o el levantamiento de antenas hacia la computadora con el fin de recoger su radiación electromagnética.
Debe quedar claro que el intento por mantener la KGB lejos de los secretos militares es un poco distinto del intento por evitar que los estudiantes inserten un mensaje gracioso en el sistema. La cantidad de esfuerzo que alguien pone en la seguridad y la protección depende claramente de quién se piensa sea el enemigo.
Otro aspecto del problema de la seguridad es la privacía: la protección de las personas respecto del mal uso de la información en contra de uno mismo. Esto implica en forma casi inmediata muchos aspectos morales y legales.

7.2.1 CONCEPTOS FUNDAMENTALES DE SEGURIDAD SISTEMA OPERATIVO

Seguridad esta definida como el conjunto de medidas tomadas para protegerse contra robos, ataques, crímenes y espionaje o sabotaje.
La seguridad implica la cualidad o el estar seguro, es decir, la evitación de exposición a situaciones de peligro y la actuación para quedar a cubierto frete a contingencias. [1, Milenkovic].
Seguridad externa.- se ocupa de proteger el recurso de cómputo contra intrusos y desastres como incendios e inundaciones.  Seguridad física.
 Seguridad de operación.
Seguridad interna.- se ocupa de los diversos controles integrados al equipo y al sistema operativo con el fin de garantizar el funcionamiento confiable y sin corrupción del sistema de cómputo y la integridad de los programas y los datos.
[2, Deitel].
Amenazas y objetivos de seguridad.
Las principales amenazas a la seguridad percibidas por los usuarios y los proveedores de sistemas basados en computadoras incluyen:
1.- Revelación no autorizada de la información.
2.- Alteración o destrucción no autorizada de la información.
3.-Uso no autorizado de servicios.
4.- Denegación de servicios a usuarios legítimos.
La revelación de información a entidades no autorizadas puede dar lugar a brechas en la privacidad y a pérdidas tangibles para el propietario de la información.
La alteración o destrucción no detectadas de información que no pueda ser recuperada es potencialmente igual de peligrosas. Incluso sin fugas externas, la perdida de datos vitales puede afectar gravemente.
El uso no autorizado de un servicio puede dar lugar a perdida de beneficios para el proveedor del servicio.
La denegación de servicio implica generalmente alguna forma de daño al sistema informático que da lugar a una pérdida parcial o completa del servicio prestado a los clientes legítimos. [1, Milenkovic].
La seguridad de computadoras y redes aborda los siguientes cuatro requisitos:
• Secreto: exige que la información de un sistema de computadoras sea accesible para la lectura solamente por partes no autorizadas. Este tipo de acceso incluye la impresión, visualización y otras formas de revelación.
• Integridad: exige que los elementos de un sistema de computadoras puedan ser modificables solo por partes autorizadas.
• Disponibilidad: exige que los elementos de un sistema de computadora estén disponibles para las partes autorizadas.
• Autenticidad: requiere que un sistema de computadoras sea capaz de verificar la identidad de un usuario.
[3, Stalling]
Tipos de amenazas.
Los tipos de amenazas a la seguridad de un sistema de computadora o una red se caracterizan mejor contemplando la función del sistema como un suministrador de información.
• Interrupción: se destruye un elemento del sistema o se hace que inasequible o inútil.
• Interceptación: una parte no autorizada consigue acceder a un elemento. Este es un ataque al secreto.
• Modificación: una parte no autorizada no solo consigue acceder, si no que falsifica un elemento. Este es un ataque ala integridad. [3, Stalling]

7.2.2 VIGILANCIA SISTEMA OPERATIVO

La vigilancia tiene que ver con :
La verificación y la auditoría del sistema.
La autentificación de los usuarios.
Los sistemas sofisticados de autentificación de usuarios resultan muy difíciles de evitar por parte de los intrusos.
Un problema existentes es la posibilidad de que el sistema rechace a usuarios legítimos:
Un sistema de reconocimiento de voz podría rechazar a un usuario legítimo resfriado.
Un sistema de huellas digitales podría rechazar a un usuario legítimo que tenga una cortadura o una quemadura.

7.2.3 PROTECCION SISTEMA OPERATIVO

La protección se refiere a los mecanismos para controlar el acceso de programas, procesos, o usuarios a los recursos definidos por un sistema de computación. Seguridad es la serie de problemas relativos a asegurar la integridad del sistema y sus datos. Hay importantes razones para proveer protección. La más obvia es la necesidad de prevenirse de violaciones intencionales de acceso por un usuario. Otras de importancia son, la necesidad de asegurar que cada componente de un programa, use solo los recursos del sistema de acuerdo con las políticas fijadas para el uso de esos recursos. Un recurso desprotegido no puede defenderse contra el uso no autorizado o de un usuario incompetente. Los sistemas orientados a la protección proveen maneras de distinguir entre uso autorizado y desautorizado.

7.2.4 AUDITORIA SISTEMA OPERATIVO

La auditoría en un sistema informático puede implicar un procesamiento inmediato, pues se verifican las transacciones que se acaban de producir.
Un registro de auditoría es un registro permanente de acontecimientos importantes acaecidos en el sistema informático:
* Se realiza automáticamente cada vez que ocurre tal evento.
* Se almacena en un área altamente protegida del sistema.
* Es un mecanismo importante de detección.
El registro de auditoría debe ser revisado cuidadosamente y con frecuencia:
* Las revisiones deben hacerse:
o Periódicamente:
+ Se presta atención regularmente a los problemas de seguridad.
o Al azar:
+ Se intenta atrapar a los intrusos desprevenidos.

7.2.5 CONTROLES DE ACCESO SISTEMA OPERATIVO

Lo fundamental para la seguridad interna es controlar el acceso a los datos almacenados [7, Deitel].
Los derechos de acceso definen qué acceso tienen varios sujetos o varios objetos.
Los sujetos acceden a los objetos.
Los objetos son entidades que contienen información.
Los objetos pueden ser:
* Concretos:
o Ej.: discos, cintas, procesadores, almacenamiento, etc.
* Abstractos:
o Ej.: estructuras de datos, de procesos, etc.
Los objetos están protegidos contra los sujetos.
Las autorizaciones a un sistema se conceden a los sujetos.
Los sujetos pueden ser varios tipos de entidades:
* Ej.: usuarios, procesos, programas, otras entidades, etc.
Los derechos de acceso más comunes son:
* Acceso de lectura.
* Acceso de escritura.
* Acceso de ejecución.
Una forma de implementación es mediante una matriz de control de acceso con:
* Filas para los sujetos.
* Columnas para los objetos.
* Celdas de la matriz para los derechos de acceso que un usuario tiene a un objeto.
Una matriz de control de acceso debe ser muy celosamente protegida por el S. O.

7.2.6 NUCLEOS DE SEGURIDAD SISTEMA OPERATIVOS

Las medidas de seguridad más decisivas se implementan en el núcleo, que se mantiene intencionalmente lo más pequeño posible.
Generalmente se da que aislando las funciones que deben ser aseguradas en un S. O. de propósito general a gran escala, se crea un núcleo grande.
La seguridad del sistema depende especialmente de asegurar las funciones que realizan:
* El control de acceso.
* La entrada al sistema.
* La verificación.
* La administración del almacenamiento real, del almacenamiento virtual y del sistema de archivos.

7.2.7 SEGURIDAD POR HARDWARE Y SOFTWARE


Las funciones incorporadas al hardware:
o Resultan mucho más seguras que cuando son asequibles como instrucciones de software que pueden ser modificadas.
o Pueden operar mucho más rápido que en el software:
+ Mejorando la performance.
+ Permitiendo controles más frecuentes
Al disminuir los costos del equipo, se hace cada vez mas deseable incorporar algunas funciones del sistema operativo en el hardware. Asi, la seguridad de estas funciones es mayor, pues no están accesibles como instrucciones de programa, las cuales se pueden modificar con facilidad. Las funciones incorporadas en el equipo se ejecutan mucho mas rapido que en software; diversas funciones de supervisión se pueden realizar con mas frecuencia.

7.2.8 CRIPTOGRAFIA SISTEMA OPERATIVO

La criptografía es el uso de la transformación de datos para hacerlos incomprensibles a todos, excepto a los usuarios a quienes están destinados.
El problema de la intimidad trata de cómo evitar la obtención no autorizada de información de un canal de comunicaciones.
El problema de la autentificación trata sobre cómo evitar que un oponente:
Modifique una transmisión.
Le introduzca datos falsos.

7.2.9 PENETRACION SISTEMA OPERATIVO

Consiste en cambiar el bit de estado de la máquina del estado problema al estado supervisor; el intruso podrá así ejecutar instrucciones privilegiadas para obtener acceso a los recursos protegidos por el S. O.
Los estudios de penetración están diseñados para:
Determinar si las defensas de un sistema contra ataques de usuarios no privilegiados son adecuadas.
Descubrir deficiencias de diseño para corregirlas.
El control de entrada / salida es un área favorita para intentar la penetración a un sistema, ya que los canales de entrada / salida tienen acceso al almacenamiento primario y por consiguiente pueden modificar información importante.
Una de las metas de las pruebas de penetración consiste en estimar el factor de trabajo de penetración:
Indicación de cuánto esfuerzo y recursos son necesarios para conseguir un acceso no autorizado a los recursos del sistema:
o Debería ser tan grande que resulte disuasivo.


6.1 Sistema de Archivos

Los sistemas de archivos (file system ) estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos poseen su propio sistema de archivos.

Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento).

Archivos de Windows
NTFS.
FAT y FAT32

Sistema de archivos de Linux
/dev/null
/dev/zero
Btrfs
Ext2
Ext3
Ext4
Extended file system
FUSE (Linux)
Filesystem Hierarchy Standard
Logical Volume Manager
Sysfs
XFS

6.2 Jerarquia de Datos

En este tipo de jerarquía cada lista define un nodo que representa un nuevo nivel en la jerarquía. Los datos de la estructura definen los elementos finales de la jerarquía y los llamamos hojas.

Como sabes, los árboles son el tipo de datos típico que se usa en computación para representar estructuras jerárquicas. ¿Qué diferencia fundamental hay entre los árboles y las listas jerárquicas? En un árbol todos los nodos tienen un dato asociado, mientras que en las listas jerárquicas los datos sólo se encuentran en las hojas. Por esta razón, los árboles definidos por estas listas no son verdaderos y los llamaremos pseudo árboles.

La utilidad principal de las listas jerárquicas es doble. Por una parte definen una estructura relativamente sencilla en la que podemos definir y probar un conjunto de funciones que después van a ser directamente adaptables a los árboles. Por otra parte, representan una estructura de datos muy flexible con la que representar gran cantidad de objetos.

En los nombres de las funciones definidas para listas jerárquicas usaremos el sufijo pt (pseudo tree) para no confundirlas con las funciones que definiremos más adelante para árboles verdaderos. Por ejemplo, la función levels-pt contará el número de niveles de un pseudo árbol o lista jerárquica, mientras que la función levels-tree contará el número de niveles de un árbol genérico.

6.3 Tipos de Archivos

En computación existen básicamente dos tipos de archivos, los archivos ascii y los archivos binarios. El vocablo ascii es un acrónimo para American Standard Code for Information Interchange. Es un estándar que asigna un valor numérico a cada carácter, con lo que se pueden representar los documentos llamados de Texto Plano, es decir, los que son legibles por seres humanos. Los archivos binarios son todos los demás. Como ejemplos tenemos:

Archivos binarios:

De imagen: .jpg, .gif, .tiff, .bmp (Portable bitmap), .wmf (Windows Meta File), .png (Portable Network Graphics), .pcx (Paintbrush); entre muchos otros
•De video: .mpg, .mov, .avi, .gif •Comprimidos o empaquetados: .zip, .Z, .gz, .tar, .lhz •Ejecutables o compilados: .exe, .com, .cgi, .o, .a •Procesadores de palabras: .doc
Archivos ascii

•Archivos fuente: .f, .c, .p
•Formatos de texto: .tex, .txt, .html •Formatos de intercambio: .rtf, .ps, .uu
Dentro de los archivos ASCII de uso común por los programas de bioinformática están los siguientes:

• De secuencias: .seq • De secuencias múltiples: .aln, .msf (Multiple Sequence Format, secuencias alineadas), .rsf (Rich Sequence Format, estos archivos pueden incluir una o más secuencias relacionadas o no).

Los archivos también se pueden separar por grupos como son:
Nomenclatura: Todos los formatos de archivo o extensiones están escritos en mayúscula en la columna de la izquierda. A su derecha y en la misma línea todos ellos poseen una explicación adjunta o bien los programas recomendados para su uso. Todas las extensiones más importantes y que requieren una explicación más completa están marcados con un asterisco (*) y ampliadas en la parte final de su categoría correspondiente.
Listado:Aquí tenemos la lista completa de tipos de archivos ordenados, tal y como se indicó anteriormente.

Sistema: Estos son los archivos necesarios para el funcionamiento interno del Sistema Operativo así como de los diferentes programas que trabajan en él. No esta recomendado moverlos, editarlos o variarlos de ningún modo porque pueden afectar al buen funcionamiento del sistema.

6.4 Interfase con Usuario

La interfaz de usuario es el medio con que el usuario puede comunicarse con una máquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo, normalmente suelen ser fáciles de entender y fáciles de accionar.
Las interfaces básicas de usuario son aquellas que incluyen cosas como menús, ventanas, teclado, ratón, los beeps y algunos otros sonidos que la computadora hace, en general, todos aquellos canales por los cuales se permite la comunicación entre el ser humano y la computadora. La mejor interacción humano-máquina a través de una adecuada interfaz (Interfaz de Usuario), que le brinde tanto comodidad, como eficiencia.
Dentro de las Interfaces de Usuario se puede distinguir básicamente dos tipos: A) Una interfaz de hardware, a nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratón y pantalla visualizadora. B) Una interfaz de software, destinada a entregar información acerca de los procesos y herramientas de control, a través de lo que el usuario observa habitualmente en la pantalla. C) Una interfaz de Software-Hardware, esta permite un puente entre la maquina y las personas, permite a la maquina entender la instruccion y a el hombre entender el codigo binario traducido a informacion legible.

6.4.2 Diseño del Sistema de archivos

El diseño del sistema es la estrategia de alto nivel para resolver problemas y construir una solución. Éste incluye decisiones acerca de la organización del sistema en subsistemas, la asignación de subsistemas a componentes hardware y software, y decisiones fundamentales conceptuales y de política que son las que constituyen un marco de trabajo para el diseño detallado.

La organización global del sistema es lo que se denomina la arquitectura del sistema. Existe un cierto número de estilos frecuentes de arquitectura, cada uno de los cuales es adecuado para ciertas clases de aplicaciones. Una forma de caracterizar una aplicación es por la importancia relativa de sus modelos de objetos, dinámico y funcional. Las distintas arquitecturas ponen distintos grados de énfasis en los tres modelos.

El diseño de sistemas es la primera fase de diseño en la cual se selecciona la aproximación básica para resolver el problema. Durante el diseño del sistema, se decide la estructura y el estilo global. La arquitectura del sistema es la organización global del mismo en componentes llamados subsistemas. La arquitectura proporciona el contexto en el cual se toman decisiones más detalladas en una fase posterior del diseño. AL tomar decisiones de alto nivel que se apliquen a todo el sistema, el diseñador desglosa el problema en subsistemas, de tal manera que sea posible realizar más trabajo por parte de varios diseñadores que trabajarán independientemente en distintos subsistemas. El diseñador de sistemas debe tomar las siguientes decisiones:

- Organizar el sistema en subsistemas
- Identificar la concurrencia inherente al problema
- Asignar los subsistemas a los procesadores y tareas
- Seleccionar una aproximación para la administración de almacenes de datos
- Manejar el acceso a recursos globales
- Seleccionar la implementación de control en software
- Manejar las condiciones de contorno
- Establecer la compensación de prioridades

6.4.3 Servidor de Archivos

Tipo de servidor en una red de ordenadores cuya función es permitir el acceso remoto a archivos almacenados en él o directamente accesibles por este. En principio, cualquier ordenador conectado a una red con un software apropiado, puede funcionar como servidor de archivos. Desde el punto de vista del cliente de un servidor de archivos, la localización de los archivos compartidos es transparente. O sea, normalmente no hay diferencias perceptibles si un archivo está almacenado en un servidor de archivos remoto o en el disco de la propia máquina.
Algunos protocolos comúnmente utilizados en servidores de archivos:
SMB/CIFS (Windows, Samba en Unix)
NFS (Unix)

Servidores De Archivo
Un servidor de archivos proporciona una ubicación central en la red, en la que puede almacenar y compartir los archivos con usuarios de la red. Cuando los usuarios necesiten un archivo importante, podrán tener acceso a el, en lugar de tener que pasarlo entre distintos equipos. Si los usuarios de la red necesitan tener acceso a los mismos archivos y aplicaciones accesibles a través de la red.
Los servidores de archivo Linux, son compatibles con cualquier computador windows.


Servidores Dedicados: En el cual el Servidor solo se va utilizar para una función determinada, que en este caso es brindar el servicio de acceder a los archivos en red. Es muy común ver estos servidores dedicados en lugares grandes en donde se maneja grandes volúmenes de información y además es necesario asignarle una cuota de seguridad importante.
Servidores No Dedicados: Estos servidores si bien cumple bien su función, también se los utiliza como estación de trabajo. Quizás sea la más utilizada debido a que en nuestros lugares de trabajos de pequeña a mediana envergadura si bien es importante el acceso a recursos remotos, pero necesitamos contarla como estación de trabajo más.

6.4.4 Seguridad en Archivos

El sistema de archivos bajo Linux es una estructura de arbol construida bajo archivos y directorios. Linux almacena distintos tipos de información sobre cada archivo en sus sistema de archivos, incluyendo la siguiente información:



  • El nombre del archivo.


  • El tipo de archivo.


  • El tamaño del archivo.


  • La ubicación fisica del archivo en el disco.



Varios horarios de permisos controlan los derechos de acceso del propietario, los miembros del grupo asociado y otros utilitarios. Si se utiliza el comando ls-l se creará una lista de archivos que muestra el campo de permisos. Los permisos del archivo se modifican mediante el comando chmod.

Existen 2 bits adicionales de permiso asociados a un archivo: los bits SUID y SGID.
SUID representa Establecer el identificador del usuario y SGID representa Establecer el identificador de grupo. Cuando se ejecutan programas con estos permisos, éstos se comportan como si pertenecieran a identificadores de usuarios distintos. Cuando se ejecuta un programa con SUID, su identificador de usuario efectivo es el mismo que el del usuario propietario del programa en el sistema de archivo, independientemente de quién esté ejecutando realmente el programa. SGID es similar, salvo que cambia el identificador de grupo.
Los problemas de seguridad de los programas SUID surgen cuando el programa ejecuta una línea de comandos, activa un shell o ejecuta una archivo que los usuarios pueden modificar para que contenga sus propios comandos.
Aunque algunos programas SUID son necesarios, es mejor reducirlos al mínimo.-

6.4.5 Mecanismos de Proteccion de Archivos

FUNCIONES DE UN SISTEMA DE PROTECCIÓN.
Dado que los sistemas de computo se han venido haciendo cada vez más sofisticados en sus aplicaciones, la necesidad de proteger su integridad, también ha crecido. Los aspectos principales de protección en un Sistema Operativo son:
1. Protección de los procesos del sistema contra los procesos de usuario.
2. Protección de los procesos de usuario contra los de otros procesos de usuario.
3. Protección de Memoria.
4. Protección de los dispositivos

MECANISMOS Y POLÍTICAS. (LIMITACIONES)
La función de la protección en un sistema computacional es la de proveer un mecanismo para la aplicación de políticas que gobiernen el uso de los recursos. Estas políticas pueden ser establecidas de varias maneras. Algunas son fijadas durante el diseño del sistema, mientras que otras son formuladas como parte de la administración en la ejecución del sistema. Algunas otras son definidas por usuarios individuales para proteger sus archivos y programas. Un sistema de protección debe tener la flexibilidad para aplicar las políticas que sean declaradas para ello.
Las políticas para el uso de recursos puede variar, dependiendo de la aplicación y pueden estar sujetas a cambios. Por estas razones, la protección no puede ser considerada como un problema que solamente concierne al diseñador de un Sistema Operativo, sino que debe considerarse, como una herramienta para los programadores de aplicaciones, de manera que los recursos creados y soportados por un subsistema de aplicación, puedan ser protegidos contra el mal uso.
Un principio importante es la separación entre política y mecanismo. Los mecanismos determinan como será realizado algo. En contraste, las políticas deciden que es lo que se realizará. Es posible que las políticas cambien de lugar en lugar o de tiempo en tiempo. En el peor de los casos, cada cambio en la política requerirá un cambio en el subyacente mecanismo.

6.4.6 Implementacion Sistemas de Archivos

Se consideran aspectos tales como
La forma de almacenamiento de archivos y directorios.
La administración del espacio en disco.
La forma de hacerlo de manera eficiente y confiable. Se deben tener presentes problemas tales como la “fragmentación” creciente del espacio en disco:
Ocasiona problemas de performance al hacer que los archivos se desperdiguen a través de bloques muy dispersos.
Una técnica para aliviar el problema de la “fragmentación” consiste en realizar periódicamente:
“Condensación”: se pueden “reorganizar” los archivos expresamente o automáticamente según algún criterio predefinido.
“Recolección de basura o residuos”: se puede hacer fuera de línea o en línea, con el sistema activo, según la implementación.

6.5 Llamadas al Sistema System Calls

Es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.


Las llamadas al sistema proveen una interfaz entre los procesos y el Sistema de Operación. Por lo general estas llamadas se encuentran disponibles como instrucciones en lenguaje ensamblable. En algunos sistemas podemos realizar llamadas al sistema desde programas en lenguajes de alto nivel, en cuyo caso se asemejan a llamadas a funciones o procedimientos.



6.6 Tipos de Interfaces

Un interface paralelo
Transfiere datos en la forma de uno o varios bytes en la paralela a o del dispositivo.
Asuma un ordenador 16 bites, direccionable por el byte, donde la entrada - salida controlada del programa es usada con asincrónico del ducto, y el cronometraje de transferencias de ducto es unos. El interface contiene memorias intermedias de datos separadas para insumo y producción y hay un registro de estado asociado con cada memoria intermedia. Para una operación de insumo, y la palabra de datos es transferida del dispositivo de producción a registros y puesta a 1. Cuando tan pronto como la señal lista es recibida, esto habilita las puertas de producción correspondiente al byte dirigido o palabra y colocación de sus contenido en las líneas de datos. También, la señal de producción aceptan también es puesto a 1.
Este constituye la respuesta del interface a la petición leída emitida por la unidad central de proceso. Tan pronto como la señal lista se cae a 0, la señal aceptaré es borrada y todo el ducto es borrado. Note que cuando la memoria intermedia es dirigida, la bandera de estado de insumo es reinicializada a 0. Este es esencial a fin de garantizar que cada artículo de datos de insumo es leído por el ordenador sólo una vez. Una operación de producción procede del mismo modo, cuando la señal habilitaré es puesta a 1. El insumo de reloj a la memoria intermedia de producción es puesto. Este resulta en la carga de la memoria intermedia con los datos en las líneas de datos. Al mismo tiempo, es puesto a 1 indicar que el interface está listo a aceptar una nueva transferencia de producción.

Interface Consecutivo

Un interface consecutivo transmite y recibe datos un bit a la vez.
Un interface consecutivo contiene el mismo recorrido de control y dirección que el interface paralelo, pero con una adición controla para transferir datos en serie entre registros y el dispositivo de entrada - salida. Aquí, un chip es usado, que es un barco de circuito integrado que contiene todo el recorrido lógico para la conversión paralela y consecutiva requerida. Los dos registros y las banderas de estado son incluidos en el chip.

6.7. Lenguajes de Comunicacion

Un lenguaje informático es un lenguaje usado por, o asociado con, ordenadores. Muchas veces, este término es usado como sinónimo de lenguaje de programación, pero un lenguaje informático no tiene por qué ser un lenguaje de programación.
Como ejemplo un lenguaje de marcas como el HTML no es un lenguaje de programación, pero sí es un lenguaje informático.
En general, como cualquier otro lenguaje, un lenguaje de ordenador es creado cuando hay que transmitir una información de algo a alguien basado en computadora.
El lenguaje de programación es el medio que utilizan los programadores para crear un programa de ordenador; un lenguaje de marcas es el medio para describir a un ordenador el formato o la estructura de un documento; etc.