SISTEMAS OPERATIVOS


                                                                  1.SISTEMAS OPERATIVOS





1.2PROCESOS EN SISTEMAS OPERATIVOS

Es el concepto central de todos los sistemas operativos, caracterizado por su contador de programa, su palabra de estado es la Palabra que recoge en binario el estado del entorno de programa, después de la ejecución de cada instrucción. sus registros del procesador, su segmento de texto, pila (zona reservada de la memoria o registros hardware donde se almacena temporalmente el estado o información de un programa, rutina, etc..) y datos.

La información de control relacionada con los procesos se almacena en la tabla de procesos, administrada por el sistema operativo y posee un arreglo de estructuras una por cada proceso existente en este momento.

Proceso suspendido Consta de; un espacio de dirección y los datos pertinentes de las tablas de procesos

Un proceso puede crear procesos hijo y estos nuevos procesos hijo, conformando un árbol de procesos



1.3.LLAMADAS AL SISTEMA

Es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo ,permite a los programas comunicarse con el sistema operativo y solicitarle servicios

A cada llamada le corresponde un procedimiento:

Pone los parámetros de la llamada en un lugar especifico para luego ejecutar una instrucción tipo TRAP de llamada a procedimiento protegido para iniciar el sistema operativo y luego de TRAP el sistema operativo recupera el control y examina los parámetros y si son validos ejecuta trabajo solicitado, después de terminar el sistema operativo coloca un código de estado en un registro indicando si tuvo éxito o fracaso y ejecuta una instrucción del tipo RETURN FROM TAP para regresar el control al procedimiento y por último el procedimiento regresa al programa llamador con un código de estado como un valor de función.

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.



1.4. SISTEMAS MONOLITICOS

L os sistemas monolíticos son aquellos en los que su centro es un grupo de estructuras fijas, las cuales funcionan entre sí.

En los Sistemas Operativos Monolíticos, existen módulos grandes en el núcleo, los cuales interactúan entre sí, para poder tener esta estructura, las diferentes partes del kernel son compiladas por capas,

Concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá ser recompilado por completo al añadir una nueva funcionalidad. Todos los componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el núcleo. Todos sus componentes se encuentran integrados en un único programa que ejecuta en un único espacio de direcciones. En este tipo de sistemas, todas las funciones que ofrece el sistema operativo se ejecutan en modo supervisor también El problema que plantean este tipo de sistemas radica en lo complicado que es modificar el sistema operativo para añadir nuevas funcionalidades y servicios. En efecto, añadir una nueva característica implica la modificación de un gran programa, compuesto por miles de líneas de código fuente y funciones, cada una de las cuales puede invocar a otras cuando así lo requiera.



1.5.SISTEMAS CON CAPAS

Es una generalización del modelo de estructura simple para un sistema monolítico consiste en organizar el sistema operativo como una jerarquía de capas cada una construida sobre la inmediata inferior, creado según niveles jerárquicos aprovechando siempre los servicios de la capa inferior. La inferior (capa 0)es el hardware, la capa superior (capa N )es la interfaz con el usuario

Las capas se seleccionan de tal manera que cada una utilice unas funciones y servicios exclusivamente de capas de niveles inferiores



1.5.1 estructuras del s. o. en capas


• CAPA 0

trabaja con la asignación del procesador

alterna entre los procesos cuando ocurren las interrupciones o expiran los cronómetros.

• CAPA 1

Administra la memoria

Asegura que las paginas (proporciones de memoria)requeridas de los procesos lleguen a memoria cuando fueron necesarias

• CAPA 2

Administra la comunicación entre cada proceso y la consola del operador

Por sobre esta capa, cada proceso tiene su propia consola de operador

• CAPA 3

Controla los dispositivos de E/S y almacena en buffers los flujos de información entre ellos

• CAPA 4

Aloja los programas del usuario

Los programas del usuario no tienen que preocuparse por el proceso, memoria, consola, o controles de E/S

• CAPA 5

Localiza el proceso operador del sistema .

Una generalización mas avanzada del concepto de capas se presento con –multics-(mit, bell labs y general electric)

-multics- multiplexed information and computing service

Presenta una estructura en anillos concéntricos siendo los interiores los principales .



1.5 MAQUINAS VIRTUALES

Existe un elemento central llamado monitor de la maquina virtual que

Se ejecuta en el hardware, realiza la multiprogramación, proporciona varias maquinas virtuales a la capa superior.

Las maquinas virtuales instrumentan copias exactas del hardware simple, con su modo núcleo/usuario, E/S, interrupciones y todo lo demás que posee una maquina real .

Pueden ejecutar cualquier sistema operativo que se ejecute en forma directa sobre el hardware , las distintas maquinas virtuales pueden ejecutar distintos sistemas operativos y en general así lo hacen y soportan periféricos virtuales .


3.MANEJO DE DISPOSITIVO E/S

una de las funciones principales de un s. o. es el control de todos los dispositivos de e / s de la computadora [23, tanenbaum].

las principales funciones relacionadas son:

• enviar comandos a los dispositivos.

• detectar las interrupciones.

• controlar los errores.

• proporcionar una interfaz entre los dispositivos y el resto del sistema:

debe ser sencilla y fácil de usar.

debe ser la misma (preferentemente) para todos los dispositivos (independencia del dispositivo).

el código de e / s representa una fracción significativa del s. o.

el uso inapropiado de los dispositivos de e / s frecuentemente genera ineficiencias del sistema, lo que afecta la performance global.

Se pueden clasificar en dos grandes categorías:

• Dispositivos de bloque.

• Dispositivos de caracter.

Las principales características de los dispositivos de bloque son:

• La información se almacena en bloques de tamaño fijo.

• Cada bloque tiene su propia dirección.

• Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes.

• Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento.

• Un ejemplo típico de dispositivos de bloque son los discos.

Las principales características de los dispositivos de caracter son:

• La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques.

• No se pueden utilizar direcciones.

• No tienen una operación de búsqueda.

• Un ejemplos típico de dispositivos de caracter son las impresoras de línea, terminales, interfaces de una red, ratones, etc.

Las unidades de e / s generalmente constan de:

• Un componente mecánico.

• Un componente electrónico, el controlador del dispositivo o adaptador.

Muchos controladores pueden manejar más de un dispositivo.

El S. O. generalmente trabaja con el controlador y no con el dispositivo.

Los modelos más frecuentes de comunicación entre la cpu y los controladores son:

• Para la mayoría de las micro y mini computadoras:

o Modelo de bus del sistema.

• Para la mayoría de los mainframes:

o Modelo de varios buses y computadoras especializadas en e / s llamadas canales de e / s.

La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:

• La comunicación es mediante un flujo de bits en serie que:

o Comienza con un preámbulo.

o Sigue con una serie de bits (de un sector de disco, por ej.).

o Concluye con una suma para verificación o un código corrector de errores.

• El preámbulo:

o Se escribe al dar formato al disco.

o Contiene el número de cilindro y sector, el tamaño de sector y otros datos similares.

El controlador debe:

• Convertir el flujo de bits en serie en un bloque de bytes.

• Efectuar cualquier corrección de errores necesaria.

• Copiar el bloque en la memoria principal.

Cada controlador posee registros que utiliza para comunicarse con la cpu:

• Pueden ser parte del espacio normal de direcciones de la memoria: e / s mapeada a memoria.

• Pueden utilizar un espacio de direcciones especial para la e / s, asignando a cada controlador una parte de él.

El S. O. realiza la e / s al escribir comandos en los registros de los controladores; los parámetros de los comandos también se cargan en los registros de los controladores.

Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo.

Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:

• Obtenga el control de la cpu.

• Verifique los resultados de la operación.

huy que temota tan aspero