TECNOLOGICO DE ESTUDIOS SUPERIORES DE CUAUTITLAN IZCALLI

UNIDAD VI Y VII

ESPERANDO QUE SEA DE SU AGRADO Y PARA SU MAYOR ENTENDIMIENTO ESTOS TEMAS TAMBIEN SE DESARROLLAN POR CADA SUBTEMA.
| edit post
7.1 MEDICION DESEMPEÑO PERFORMANCE SISTEMAS OPERATIVOS
Un sistema operativo es en primer lugar un administrador de recursos, por ello es importante poder determinar con qué efectividad administra sus recursos un sistema determinado [7, Deitel].
Generalmente hay un gran potencial de mejora en el uso de los recursos existentes, pero:
• Muchas instalaciones realizan muy poco o ningún control y evaluación.
• Cuando se hacen controles específicos se generan grandes cantidades de datos que muchas veces no se sabe cómo interpretar.
Las instalaciones rara vez cuentan con personal versado en las técnicas de análisis de rendimiento.
Durante los primeros años del desarrollo de las computadoras el hardware representaba el costo dominante de los sistemas y debido a ello los estudios de rendimiento se concentraban en el hardware.
Actualmente y según la tendencia apreciable:
• El software representa una porción cada vez mayor de los presupuestos informáticos.
• El software incluye el S. O. de multiprogramación / multiproceso, sistemas de comunicaciones de datos, sistemas de administración de bases de datos, sistemas de apoyo a varias aplicaciones, etc.
• El software frecuentemente oculta el hardware al usuario creando una máquina virtual, que está definida por las características operativas del software.
Un software deficiente y / o mal utilizado puede ser causa de un rendimiento pobre del hardware, por lo tanto es importante controlar y evaluar el rendimiento del hardware y del software.
Tendencias Importantes que Afectan a los Aspectos del Rendimiento
Con los avances en la tecnología de hardware los costos del mismo han decrecido drásticamente y todo hace suponer que esta tendencia continuará [7, Deitel].
Los costos de trabajo (personal) han ido aumentando:
• Significan un porcentaje importante del costo de los sistemas informáticos.
• Se debe reformular el aspecto del rendimiento del hardware base y medirlo de manera más adaptada a la productividad humana.
El advenimiento del microprocesador en la década de 1.970:
• Ha permitido bajar considerablemente el costo de los ciclos de cpu.
• Ha desplazado el foco de atención de la evaluación del rendimiento a otras áreas donde los costos no disminuyeron proporcionalmente; ej.: utilización de dispositivos de entrada / salida.
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.
| edit post
7.2 SEGURIDAD DE SISTEMAS OPERATIVOS
El ambiente de seguridad Siatemas Operativos.
Los términos seguridad y protección se utilizan en forma indistinta. Sin embargo, es útil hacer una distinción entre los problemas generales relativos a la garantía de que los archivos no sea leídos o modificados por personal no autorizado, lo que incluye aspectos técnicos, de administración, legales y políticos, por un lado y los sistemas específicos del sistema operativo utilizados para proporcionar la seguridad, por el otro. Para evitar la confusión, utilizaremos el término seguridad para referirnos al problema general y el término mecanismo de protección para referirnos a los mecanismos específicos del sistema operativo utilizado para resguardar la información de la computadora. Sin embargo, la frontera entre ellos no está bien definida. Primero nos fijaremos en la seguridad; más adelante analizaremos la protección.
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
| edit post
7.2.1 CONCEPTOS FUNDAMENTALES DE SEGURIDAD SISTEMAS OPERATIVOS
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 Seguridad física.contra intrusos y desastres como incendios e inundaciones.
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. 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.
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.
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.
| edit post
7.2.2 VIGILANCIA SISTEMAS OPERATIVOS
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.
| edit post
7.2.3 PROTECCION EN SISTEMAS OPERATIVOS
Existen varios mecanismos que pueden usarse para asegurar los archivos, segmentos de memoria, CPU, y otros recursos administrados por el Sistema Operativo. Por ejemplo, el direccionamiento de memoria asegura que unos procesos puedan ejecutarse solo dentro de sus propios espacios de dirección. El timer asegura que los procesos no obtengan el control de la CPU en forma indefinida. 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.
| edit post
7.2.4 AUDITORIA SISTEMAS OPERATIVOS
La auditoría suele realizarse a posteriori en sistemas manuales , es decir que se examinan las recientes transacciones de una organización para determinar si hubo ilícitos.
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.
| edit post
7.2.5 CONTROLES DE ACCESO SISTEMAS OPERATIVOS
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.
| edit post
7.2.6 NUCLEOS DE SEGURIDAD SISTEMAS OPERATIVOS
Núcleos de Seguridad
Es mucho más fácil hacer un sistema más seguro si la seguridad se ha incorporado desde el principio al diseño del sistema [7, Deitel].
Las medidas de seguridad deben ser implementadas en todo el sistema informático.
Un sistema de alta seguridad requiere que el núcleo del S. O. sea seguro.
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
| edit post
7.2.7 SEGURIDAD POR HARDWARE Y SOFTWARE
Existe una tendencia a incorporar al hardware funciones del S. O. :
• 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.
| edit post
7.2.8 CRIPTOGRAFIA SISTEMAS OPERATIVOS
Criptografía
El uso creciente de las redes de computadoras y la importancia del trafico cursado hace necesario proteger a los datos [7, Deitel].
La Oficina Nacional de Estándares de EE. UU. (NBS) ha adoptado la norma de cifrado de datos (DES) para la transmisión de información federal delicada.
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.
El problema de la disputa trata sobre cómo proporcionar al receptor de un mensaje pruebas legales de la identidad del remitente, que serían el equivalente electrónico de una firma escrita.
Un Sistema de Intimidad Criptográfica
El remitente desea transmitir cierto mensaje no cifrado (texto simple) a un receptor legítimo:
• La transmisión se producirá a través de un canal inseguro:
o Se supone que podrá ser verificado o conectado mediante un espía.
El remitente pasa el texto simple a una unidad de codificación que lo transforma en un texto cifrado o criptograma:
• No es comprensible para el espía.
• Se transmite en forma segura por un canal inseguro.
• El receptor pasa el texto cifrado por una unidad de descifrado para regenerar el texto simple.
Criptoanálisis
Es el proceso de intentar regenerar el texto simple a partir del texto cifrado, pero desconociendo la clave de ciframiento:
• Es la tarea del espía o criptoanalista:
o Si no lo logra, el sistema criptográfico es seguro.
Sistemas de Clave Pública
La distribución de claves de un sistema criptográfico debe hacerse por canales muy seguros.
Los sistemas de clave pública rodean el problema de distribución de claves:
• Las funciones de cifrado y descifrado están separadas y utilizan distintas claves.
• No es computacionalmente posible (en un tiempo “razonable”) determinar la clave de desciframiento “D” a partir de la clave de ciframiento “C”.
• “C” puede hacerse pública sin comprometer la seguridad de “D”, que permanece privada:
o Se simplifica el problema de la distribución de claves.
Firmas Digitales
Para que una firma digital sea aceptada como sustituta de una firma escrita debe ser:
• Fácil de autentificar (reconocer) por cualquiera.
• Producible únicamente por su autor.
En los criptosistemas de clave pública el procedimiento es:
• El remitente usa la clave privada para crear un mensaje firmado.
• El receptor:
o Usa la clave pública del remitente para descifrar el mensaje.
o Guarda el mensaje firmado para usarlo en caso de disputas.
Para mayor seguridad se podría actuar como sigue:
• El remitente puede codificar el mensaje ya cifrado utilizando la clave pública del receptor.
• La clave privada del receptor permite recuperar el mensaje cifrado firmado.
• La clave pública del remitente permite recuperar el texto simple original.
Aplicaciones
La criptografía es especialmente útil en los sistemas multiusuario y en las redes de computadoras.
Se debe utilizar para proteger a las contraseñas, almacenándolas cifradas.
Se puede utilizar también para proteger todos los datos almacenados en un sistema de computación; se debe considerar el tiempo de cifrado / descifrado.
También es aplicable en los protocolos de redes de capas, que ofrecen varios niveles de cifrado.
En el cifrado de enlace la red asume la responsabilidad de cifrado / descifrado de cada nodo:
• Los datos se transmiten cifrados entre los nodos.
• En cada nodo se descifran, se determina a dónde transmitirlos y se los vuelve a cifrar.
En el cifrado punto a punto un mensaje se cifra en su fuente y se descifra solo una vez, en su destino:
• Existen ciertas limitaciones tales como la legibilidad de la dirección de destino en cada nodo:
o Debe ser legible para el encaminamiento del mensaje.
o Ej.: sistemas de conmutación de paquetes de almacenamiento y reenvío con cifrado punto a punto; en este caso la dirección de destino asociada a un paquete no puede ser cifrada.
| edit post
7.2.9 PENETRACION SISTEMAS OPERATIVOS
Penetración al Sistema Operativo
La penetración definitiva puede consistir 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.
| edit post
6.1 SISTEMAS DE ARCHIVO
Sistema de Archivos
Un “Archivo” es un conjunto de registros relacionados [23, Tanenbaum].
El “Sistema de Archivos” es un componente importante de un S. O. y suele contener [7, Deitel]:
• “Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
• “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
• “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
• “Integridad del archivo” para garantizar la integridad de la información del archivo.
El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco.
Una forma de organización de un sistema de archivos puede ser la siguiente:
• Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio raíz ”.
• El “directorio raíz ” apunta a los “directorios de usuarios”.
• Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario.
• Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.
Los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado.
El nombre del sistema para un archivo dado debe ser único para el sistema de archivos.
En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.
Sistema de archivos
Los sistemas de archivos 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).
Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (“..” en Unix). El acceso seguro a sistemas de archivos básicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace décadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales aún funcionan con listas de control de acces.
| edit post
6.2 JERARQUIA DE DATOS
Internamente los sistemas operativos estructuralmente de se clasifican según como se hayan organizado intérnamente en su diseño, por esto la clasificación más común de los S.O. son:
• Sistemas monolíticos:
En estos sistemas operativos se escriben como un conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada una tiene la libertad de llamar a cualquiera otra, si la última ofrece algún cálculo útil que la primera necesite.
Para construir el programa objeto real del sistema operativo cuando se usa este método, se compilan todos los procedimientos individuales a archivos que contienen los procedimientos y después se combinan todos en un solo archivo objeto con el enlazador.
En términos de ocultamiento de información, esencialmente no existe ninguno; todo procedimiento es visible para todos (al contrario de una estructura que contiene módulos o paquetes, en los cuales mucha información es local a un módulo y sólo pueden llamar puntos de registro designados oficialmente del exterior del módulo)
Esta organización sugiere una estructura básica del sistema operativo:
1.- Un programa central que invoque el procedimiento de servicio solicitado (Shell o Kernel)
2.- Un conjunto de procedimientos de servicios que realice las llamadas al sistema.
3.- Un conjunto de procedimientos de uso general que ayude a los procedimientos de servicio
• Sistemas en estratos:
Estos sistemas operativos se organizan como una jerarquía de estratos, cada uno construido arriba del que está debajo de él. El primer sistema construido en esta forma fuel el sistema THE que se fabricó en Technische Hogeschool Eindhoven de Holanda por E. W Dijkstra (1968) y sus alumnos. El sistema THE era un sistema de lote para una computadora alemana, la Electrológica X8, que tenía 32K de palabras de 27 bits ( los bits eran costosos en aquellos días)
El sistema tenía 6 estratos, estos se muestran en la siguiente tabla:
5 Operador de THE
4 Programas del usuario
3 Administración de Entrada/Salida
2 Comunicación entre el operador y el proceso
1 Administración de la memoria y el tambor magnético
0 Distribución del procesador y multiprogramación
| edit post
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.
Audio: Los archivos de audio son todos los que contienen sonidos (no solo música). Las diferentes extensiones atienden al formato de compresión utilizado para convertir el sonido real en digital.
Video: Los formatos de video no sólo continen imágenes sino también el sonido que las acompaña. Es bastante habitual que al intentar visualizar un vídeo no podamos ver la imagen aunque sí oigamos el sonido. Esto es debido al formato de compresión utilizado en ellos que puede no ser reconocido por nuestro ordenador, por ello siempre se ha de tener actualizados los codecs de cada uno de los formatos.
Comprimidos: Los formatos de compresión son de gran utilidad a la hora del almacenamiento de información ya que hacen que esta ocupe el menor espacio posible y que se puedan reunir muchos ficheros en uno sólo.
Images: Poco hay que decir de las imágenes y de sus formatos salvo que cada uno de ellos utiliza un método de representación y que algunos ofrecen mayor calidad que otros. También cabe destacar que muchos programas de edición gráfica utilizan sus propios formatos de trabajo con imágenes.
Texto: Dentro de los documentos de texto hemos de diferenciar entre el texto plano y el enriquecido. Es decir, entre los formatos que sencillamente guardan las letras (txt, log…) y los que podemos asignarles un tamaño, fuente, color, etc. (doc)
Programas La mayoría de los programas tienen formatos de archivo propios para utilizarlos en distintas funciones. Al ser bastante habituales algunos de ellos, detallamos los más importantes aquí.
| edit post
6.4 INTERFACES CON USUARIO
Interfaz de 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.
Funciones principales Sus principales funciones son los siguientes:
Puesta en marcha y apagado Control de las funciones manipulables del equipo Manipulación de archivos y directorios Herramientas de desarrollo de aplicaciones Comunicación con otros sistemas Información de estado Configuración de la propia interfaz y entorno Intercambio de datos entre aplicaciones Control de acceso Sistema de ayuda interactivo.
Tipos de interfaces de usuario
Según la forma de interactuar del usuario Atendiendo a como el usuario puede interactuar con una interfaz, nos encontramos con varios tipos de interfaces de Usuario:
Interfaces alfanuméricas (intérpretes de mandatos) que solo presentan texto. Interfaces gráficas de usuario (GUI, Graphics User Interfaces), las que permiten comunicarse con el ordenador de una forma muy rápida e intuitiva representando gráficamente los elementos de control y medida. Interfaces táctiles, que representan gráficamente un “panel de control” en una pantalla sensible que permite interaccionar con el dedo de forma similar a si se accionara un control físico.
Según su construcción
Pueden ser de hardware o de software:
Interfaces hardware.- Se trata de un conjunto de controles o dispositivos que permiten la interacción hombre-máquina, de modo que permiten introducir o leer datos del equipo, mediante pulsadores, reguladores e instrumentos. Interfaces software.- Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.
| edit post
6.4.1. EL SISTEMA DE ARCHIVO VISTO POR EL USUARIO
Los usuarios y aplicaciones desean usar los archivos. Las operaciones típicas que deben soportarse incluyen las siguientes:
1. Recuperar Todo ( Retrieve_all):Recuperar todos los registros de un archivo. Esto va a requerir de una aplicación que deba procesar toda la información de un archivo una vez.. Esta opcion es usualmente equivalente con el termino de sequential proccessing, ( proceso secuencial), porque todos los registros son accedidos en secuencia.
2. Recuperar_Uno (Retrieve_One): Esta operacion requiere la recuperación de un solo un registro. Las
soluciones interactivas orientadas a la transacción necesitan esta operación.
1. Recuperar_siguiente (Retrieve_Next): Esta operación implica la recuperación del registro que es el siguiente ,según una secuencia lógica, el recuperado hace menos tiempo. Un programa que realice búsquedas puede usar también esta operación.
2. Recuperar Previo (Retrieve_Previous): Es similar a Recuperar Siguiente, pero en este caso el registro que es "previo" al que se esta accediendo en el momento actual.
3. Insertar Uno (Insert One): Inserta un nuevo registro dentro del archivo. Es necesario que el nuevo registro se ajuste a una posición particular para preservar la secuencia del archivo.
4. Borrar uno (Delete One): Borra un registro existente. Ciertos enlaces o otras estructuras
puede que necesiten actualizarse para preservar la secuencia del archivo.
1. Actualizar Uno ( Update_one): Recupera un registro o actualiza uno o más de sus campos, y rescribe la actualización en el archivo. Es necesario preservar la secuencia con esta operación. Sí el tamaño del registro esta cambiado, la operación de actualización es más difícil si el tamaño es preservado.
2.
1. Recuperar Varios (Retrieve_ Few): Recupero un numero de registros.
La naturaleza de las operaciones que comúnmente se ejecutan. sobre un archivo va a influenciar sobre el modo en que se va a organizar el mismo.
| edit post
6.4.2 DISEÑO DEL SISTEMA DE ARCHIVOS
Pasos a seguir
• Inventario Preliminar: Relevamiento sin mucho detalle para ver el volumen de la tarea a realizar.
• Etapa de Análisis: (crítica y detallado de la organización) (Análisis de Sistemas: usando herramientas, encuestas, estadísticas, etc., arman una carpeta que marca la organización actual de la empresa con las modificaciones propuestas para organizar el sistema).
• Etapa de Diseño: Cuál es la mejor solución informática en función de la carpeta (Ingeniería de Sistemas) (Diagnósticos). Esto nos llevará a una carpeta técnica con instructivo, manual de funciones, etc., para llegar a la última etapa.
• Programación e Implementación: Se elige el lenguaje y programadores.
• Puesta en Marcha:
• Mantenimiento: Se lo mantiene con actualizaciones, con el tiempo, la perfomance del sistema decrece por lo que se requiere más mantenimiento. Cuando este tiempo es muy grande se intenta renovarlo.
Diseño: Varias metodologías y herramientas o software que nos facilitan la tarea, algunas veces orientadas.
• Metodologías:
1. Lineal
2. Estructurada o Modular.
3. Diseño Orientado a Objetos *
4. Metodologías CASE. *
* Se basan en la estructura.
En todas se llega al concepto fundamental de la informática "archivo".
En el sistema Lineal, las aplicaciones son definidas o diseñadas en secuencias, como una escala o etapa de un proceso productivo.
En el sistema Modular, se parte de una idea general de lo que es el sistema y se empieza a seccionar el sistema en estructuras de acuerdo a un criterio pre establecido (Ejemplo: de acuerdo a las funciones de c/área y a su vez subdividirlo). Se llegará a un nivel donde ya no se podrá realizar subdivisiones y se tendrá entonces las aplicaciones.
• Archivos: Contenedores de los datos que nos suministran información de la organización.
Hay dos grupos de archivos o ficheros (entidad).
1. Convencionales: Están asociados a una filosofía de lenguaje más artesanal, son los que tienen una relación directa con los programas.
2. Bases de Datos: Se originan del anterior pero tienen una estructura más completa y hacen uso de la tecnología. Un fichero o archivo contiene un conjunto de información relativa a un conjunto de individuos o de objetos.
Un archivo puede estar estructurado en varios niveles, puede tener subarchivos o subniveles a su vez estos contener varios registros o artículos y estos a su vez tener rúbricas, campos o atributos que contienen la información agrupada o elemental
• Registro: Un registro de un archivo contiene todas las informaciones relativas a un mismo individuo o a un mismo objeto perteneciente al fichero. El individuo de un registro es una información que figura en todos los registros del fichero y que permite distinguirlos y buscarlos en el mismo.
Una grabación es la representación física de un registro sobre el soporte del fichero.
Operaciones sobre los archivos:
Determinadas operaciones se refieren a todos los registros de un fichero otras solo conciernen a determinados registros del mismo.
Las operaciones que conciernen a todos los registros de un archivo son:
• Creación de un archivo: Con técnicas.
• Anulación o destrucción de un fichero.
• Selección o clasificación del fichero: Ordenar todos los artículos (grabaciones) de un archivo siguiendo los valores crecientes y/o decrecientes de uno o varios campos que figuran en los registros de dicho fichero. Los campos utilizados para este fin (ordenamiento) se llaman llaves o claves o argumentos de clasificación, ordenamiento o entresacado
| edit post
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.
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, como un plan de proyecto, podrán tener acceso al archivo del servidor de archivos 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.
Si tiene toda la información de la empresa almacenada en su servidor de archivos, el respaldo de este es mas simple de realizar
Algunos protocolos comúnmente utilizados en servidores de archivos:
• SMB/CIFS (Windows, Samba en Unix)
• NFS (Unix)
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, como un plan de proyecto, podrán tener acceso al archivo del servidor de archivos 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.
| edit post
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.
PROGRAMAS SUID Y SGID:
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.-

COPIAS DE SEGURIDAD
Pocos temas con los que tratan los administradores típicos de linux son tan importantes como las copias de seguridad de un sistema. Un administrador puede ser despedido o una empresa puede llegar a colapsarse por la pérdida de datos valiosos. Los discos de una computadora son dispositivos electromecánicos y pueden fallar en cualquier momento.
La mayoría de discos duros nuevos están homologados para periodos de funcionamiento de unas 150.000 horas de media entre fallos; es decir mas de 5 años. Pero las estadísticas de tiempos medios pueden ser engañosas. Su disco puede fallar después de 50.000 horas de trabajo o podría durar mas de 10 años(algo poco probable). Correrá un gran riesgo si solo realiza copias de seguridad de un sistema de tarde en tarde y se arriesgara aun mas si no comprueba sus cintas de copia de seguridad.
| edit post
6.4.5 MECANISMOS DE PROTECCION DE ARCHIVOS
Mecanismos de Protección
Dominios de Protección
Muchos objetos del sistema necesitan protección, tales como la cpu, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc.
Cada objeto se referencia por un nombre y tiene habilitadas un conjunto de operaciones sobre él. Un dominio es un conjunto de parejas (objeto, derechos):
• Cada pareja determina:
• Un objeto.
• Un subconjunto de las operaciones que se pueden llevar a cabo en él.
Un derecho es el permiso para realizar alguna de las operaciones. Es posible que un objeto se encuentre en varios dominios con “distintos” derechos en cada dominio.
Un proceso se ejecuta en alguno de los dominios de protección:
• Existe una colección de objetos a los que puede tener acceso.
• Cada objeto tiene cierto conjunto de derechos.
Los procesos pueden alternar entre los dominios durante la ejecución. Una llamada al S. O. provoca una alternancia de dominio. En algunos S. O. los dominios se llaman anillos.
Una forma en la que el S. O. lleva un registro de los objetos que pertenecen a cada dominio es mediante una matriz:
• Los renglones son los dominios.
• Las columnas son los objetos.
• Cada elemento de la matriz contiene los derechos correspondientes al objeto en ese dominio, por ej.: leer, escribir, ejecutar.
Listas Para Control de Acceso
Las “matrices de protección” son muy grandes y con muchos lugares vacíos:
• Desperdician espacio de almacenamiento.
• Existen métodos prácticos que almacenan solo los elementos no vacíos por filas o por columnas. La lista de control de acceso (ACL: access control list):
• Asocia a cada objeto una lista ordenada con:
• Todos los dominios que pueden tener acceso al objeto.
• La forma de dicho acceso (ej: lectura ®, grabación (w), ejecución (x)).
Una forma de implementar las ACL consiste en:
• Asignar tres bits (r, w, x) para cada archivo, para:
• El propietario, el grupo del propietario y los demás usuarios.
• Permitir que el propietario de cada objeto pueda modificar su ACL en cualquier momento:
• Permite prohibir accesos antes permitidos.
Posibilidades
La matriz de protección también puede dividirse por renglones:
• Se le asocia a cada proceso una lista de objetos a los cuales puede tener acceso.
• Se le indican las operaciones permitidas en cada uno.
• Esto define su dominio.
La lista de objetos se denomina lista de posibilidades y los elementos individuales se llaman posibilidades. Cada posibilidad tiene:
• Un campo tipo:
• Indica el tipo del objeto.
• Un campo derechos:
• Mapa de bits que indica las operaciones básicas permitidas en este tipo de objeto.
• Un campo objeto:
• Apuntador al propio objeto (por ej.: su número de nodo-i).
Las listas de posibilidades son a su vez objetos y se les puede apuntar desde otras listas de posibilidades; esto facilita la existencia de subdominios compartidos. Las listas de posibilidades o listas-c deben ser protegidas del manejo indebido por parte del usuario. Los principales métodos de protección son:
• Arquitectura marcada:
• Necesita un diseño de hardware en el que cada palabra de memoria tiene un bit adicional:
• Indica si la palabra contiene una posibilidad o no.
• Solo puede ser modificado por el S. O.
• Lista de posibilidades dentro del S. O.:
• Los procesos hacen referencia a las posibilidades mediante su número.
• Lista de posibilidades cifrada dentro del espacio del usuario:
• Cada posibilidad está cifrada con una clave secreta desconocida por el usuario.
• Muy adecuado para sistemas distribuidos.
Generalmente las posibilidades tienen derechos genéricos aplicables a todos los objetos, por ej.:
• Copiar posibilidad:
• Crear una nueva posibilidad para el mismo objeto.
• Copiar objeto:
• Crear un duplicado del objeto con una nueva posibilidad.
• Eliminar posibilidad:
• Eliminar un dato dentro de la lista-c sin afectar al objeto.
• Destruir objeto:
• Eliminar en forma permanente un objeto y una posibilidad.
Muchos sistemas con posibilidades se organizan como una colección de módulos con módulos administradores de tipos para cada tipo de objeto y entonces es esencial que el módulo administrador de tipos pueda hacer más cosas con la posibilidad que un proceso ordinario.
Se utiliza la técnica de amplificación de derechos:
• Los administradores de tipo obtienen una plantilla de derechos que les da más derechos sobre un objeto de los que permitía la propia lista de posibilidades.
Modelos de Protección
Las matrices de protección no son estáticas sino dinámicas. Se pueden identificar seis operaciones primitivas en la matriz de protección:
• Crear objeto.
• Eliminar objeto.
• Crear dominio.
• Eliminar dominio.
• Insertar derecho.
• Eliminar derecho.
Las primitivas se pueden combinar en comandos de protección, que pueden ser ejecutados por los programas del usuario para modificar la matriz de protección.
En cada momento, la matriz de protección determina lo que puede hacer un proceso en cualquier momento; no determina lo que no está autorizado a realizar. La matriz es impuesta por el sistema. La autorización tiene que ver con la política de administración.
Control de Acceso Por Clases de Usuarios
Una matriz de control de acceso puede llegar a ser tan grande que resulte impráctico mantenerla. Una técnica que requiere menos espacio es controlar el acceso a varias clases de usuarios. Un ejemplo de esquema de clasificación es el siguiente:
• Propietario:
• Suele ser el usuario que creó el archivo.
• Usuario especificado:
• El propietario especifica quién más puede usar el archivo.
• Grupo o proyecto:
• Los diferentes miembros de un grupo de trabajo sobre un proyecto, acceden a los diferentes archivos relacionados con el proyecto.
• Público:
• Un archivo público puede ser accedido por cualquier usuario de la computadora.
• Generalmente permite leer o ejecutar pero no escribir sobre el archivo.
| edit post
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:
o “Condensación”: se pueden “reorganizar” los archivos expresamente o automáticamente según algún criterio predefinido.
o “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
| edit post
6.5 LLAMADAS AL SISTEMA SYSTEM CALLS
Es la Forma como se traslada la informacion, la recuperacion y el almacenamiento entre los datos de diferentes terminales
Los programas son un conjunto de instrucciones organizadas con un objetivo. Un proceso es conceptualmente un programa en ejecución. En los sistemas operativos multitarea, puede haber varios procesos ejecutándose concurrentemente. Cada proceso puede requerir el uso de recursos de hardware, como periféricos, o espacio de memoria principal, u otros recursos.
Dado que el hardware es compartido por múltiples procesos, el acceso a los recursos debe ser administrado para garantizar su correcto uso y evitar problemas de seguridad (si procesos malintencionados desean acceder a recursos asignados a otros procesos). Por estas razones,en los sistemas duales, el acceso al ambiente físico es manejado exclusivamente por el Sistema Operativo. La única forma de acceder al hardware es a través de las llamadas al sistema, que están perfectamente definidas. Esto no ocurre en los Sistemas Operativos no duales, como el MS-DOS, donde cualquier proceso podía acceder a todos los niveles del hardware.
Los procesadores actuales pueden ejecutar las instrucciones en diferentes estados. En los sistemas duales, normalmente son llamados modo supervisor y modo usuario. Los procesadores proveen diferentes niveles de privilegio de forma tal que los sistemas operativos pueden restringir las operaciones que ejecutan los programas tanto por razones de seguridad como de estabilidad. Estas operaciones incluyen el acceso a periféricos, habilitar o deshabilitar interrupciones, cambiar el estado del procesador, y acceder a la memoria, entre otras.
Las llamadas al sistema comúnmente usan una instrucción especial de la CPU que causa que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.
Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB, para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU.
| edit post
6.6 TIPOS DE INTERFAZ
Interfaz de preguntas y respuestas
En los primeros días de las computadoras (antes de pantallas gráficas, el ratón, etc.) era la única forma realista de interfaz. El usuario podía comunicarse con el sistema especifico con ordenes de la forma indicada en la figura. Aunque es una forma concisa, es muy propensa a errores, muy estricta y difícil de aprender.
Interfaz de menú simple
Es una variante de la forma anterior, se presenta al usuario una lista de opciones y la selección se realiza por medio de un número, letra o un código en particular. Ofrece al usuario un contexto global y tiene menos porcentaje de errores que el anterior, pero su uso puede llegar a ser tedioso. Este es el caso de las opciones del ejemplo de la figura, que incluyen subopciones (que a su vez puede incluir otras opciones) dentro de las opciones principales.
interfaz orientada a ventanas
A medida que el hardware se ha hecho mas eficiente y los ingenieros de software han aprendido mas sobre los factores humanos, las técnicas de interfaz evolucionaron, llegando a lo que se conoce como interfaces de la tercera generación. Ofrece al usuario las siguiente ventajas:
Se puede visualizar diferentes tipos de información simultáneamente El esquema de menús desplegables permite realizar muchas tareas interactivas diferentes. Se realizan tareas de control y de dialogo en forma sencilla. La utilización de menús desplegables, botones y técnicas de presentación reducen el manejo del teclado.
| edit post
6.7 LENGUAJES DE COMUNICACIÓN
Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo el HTML. (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación sino un conjunto de instrucciones que permiten diseñar el contenido y el texto de los documentos)
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.
Los procesadores usados en las computadoras entienden únicamente instrucciones en lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado
| edit post