Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EN SISTEMAS COMPUTACIONALES
Investigacin DE TEMAS: CLASIFICACIN DE LOS SISTEMAS OPERATIVOS Y SU ESTRUCTURA 1.5 Estructura: niveles o estratos de diseo. 1.6 Ncleo. El Ncleo (o kernel) 1.6.1 Interrupciones (FLIH). 1.6.2 Despachador (Scheduler).
Segn [Alcal92], se deben observar dos tipos de requisitos cuando se construye un Sistema operativo, Que son:
Requisitos de usuario: Es un Sistema fcil de usar y de aprender, seguro, rpido y Adecuado al uso al que se le quiere destinar.
Requisitos del software: Es en Donde se engloban aspectos como el mantenimiento, Forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por Un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que Cada una puede llamar a cualquier otra Las caractersticas fundamentales De este tipo de estructura son:
Construccin del programa final a base de mdulos compilados separadamente Que se unen a travs del ligador.
Buena definicin de parmetros de enlace entre las distintas rutinas existentes, Que puede provocar mucho acoplamiento. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes Aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su
Estructura jerrquica.
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los Sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo, Donde una parte del sistema contena subpartes y esto organizado en forma de niveles.
Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas Estuviera perfectamente definida y con un claro interfase con el resto de elementos. Se constituy una estructura jerrquica o de niveles en los sistemas operativos, El primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), De Dijkstra, que se utiliz con fines didcticos (Fig. 3). Se puede pensar tambin en Estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categora. [Feld93]. En la estructura anterior se basan Prcticamente la mayora de los Sistemas operativos actuales. Otra forma de ver este tipo De sistema es la denominada de anillos Concntricos o "rings" (Fig. 4). En el sistema de anillos, cada uno Tiene una apertura, conocida como Puerta o trampa (trap), por donde Pueden entrar las llamadas de las Capas inferiores. De esta forma, las Zonas ms internas del sistema Operativo o ncleo del sistema Estarn ms protegidas de accesos Indeseados desde las capas ms Externas. Las capas ms internas sern, por tanto, ms privilegiadas que las externas.
Mquina Virtual.
Tantas consiste un tipo de sistemas operativos que presentan una interfase a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan da proceso, mostrando una mquina que parece idntica a la mquina real subyacente Estos Sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias mquinas diferentes. El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin Llevar a cabo la multiprogramacin, presentando a los niveles superiores Mquinas virtuales como se soliciten. Estas mquinas virtuales no son mquinas Extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se Pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina Extendida al usuario ( Fig. 5).
del usuario final. Esta clasificacin se comprende fcilmente con el cuadro sinptico que a continuacin se muestra en la Fig. 6.
Los sistemas operativos multiusuarios son capaces de dar servicio a ms de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el nmero de procesadores en la mquina ni el nmero de procesos que cada usuario puede ejecutar simultneamente.
Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten Varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.
Un sistema operativo un proceso es aqul que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese ms de uno le sera intil. El ejemplo ms tpico de este tipo de sistemas es el DOS y MacOS.
Un sistema operativo multitarea es aqul que le permite al usuario estar realizando Varias labores al mismo tiempo. Por ejemplo, puede estar editando el cdigo fuente de un programa durante su depuracin mientras compila otro programa, a la vez que est recibiendo correo electrnico en un proceso en background. Es comn encontrar en ellos interfaces grficas orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario, mejorando su productividad.
El sistema operativo selecciona a uno de los procesadores el cual jugar el papel de procesador maestro y servir como pivote para distribuir la carga a los dems procesadores, que reciben el nombre de esclavos.
Se refiere al nmero de procesadores del sistema, que es ms de uno y ste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simtrica o asimtricamente.
Los procesos o partes de ellos (threads) son enviados Indistintamente a cualesquiera de los procesadores disponibles, teniendo, tericamente, una mejor distribucin y equilibrio en la carga de trabajo bajo este esquema. Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede consistir de un rea de memoria, un conjunto de registros con valores especficos, la pila y otros valores de contexto. Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de cdigo paralelizable, los cuales son ejecutados al mismo tiempo en procesadores Diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por s mismo esta facilidad, pero esta ltima opcin las ms de las veces es costosa en horas hombre y muy tediosa, obligando al programador a ocupar tanto o ms tiempo a la paralelizacin que a elaborar el algoritmo inicial.
informacin, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, adems de la ubicacin de los recursos que desee acceder. Por ejemplo, si un usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio /software/cdigo en la computadora morelos bajo el sistema operativo UNIX, dicho usuario podra copiarlo a travs de la red con los comandos siguientes: hidalgo% hidalgo % rcp morelos:/software/cdigo/matriz.pas . hidalgo% En este caso, el comando rcp que significa "remote copy" trae el archivo indicado de la computadora morelos y lo coloca en el directorio donde se ejecut el mencionado comando. Lo importante es hacer ver que el usuario puede acceder y compartir muchos recursos.
En estos tipos de Sistemas Operativos se pretende que cuando existan dos o ms procesos que compitan por algn recurso se puedan realizar o ejecutar al mismo tiempo. En UNIX existe tambin la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). As, en lugar de esperar a que el proceso termine de ejecutarse (como lo hara normalmente),regresa a atender al usuario inmediatamente despus de haber creado el proceso. Ejemplos de estos tipos de Sistemas Operativos estn: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.
Manejo de interrupciones. Creacin y destruccin de procesos Cambio de estado de los procesos. Despacho. Suspensin y reanudacin de procesos. Sincronizacin de procesos. Comunicacin entre procesos. Manipulacin de los bloques de control de procesos. Apoyo para las actividades de entrada/salida. Apoyo para asignacin y liberacin de memoria. Apoyo para el sistema de archivos. Apoyo para el mecanismo de llamada y retorno de un procedimiento. Apoyo para ciertas funciones de contabilidad del sistema. Como ejemplo de ncleo de sistema operativo, se describirn las rutinas Internas, estructuras de datos y primitivas de un ncleo multiprogramado para la arquitectura i80x86. Este ncleo es el que usaremos en el ejemplo. El funcionamiento del ncleo de Presentar en la siguiente seccin.
eficiencia del procesamiento. Por ejemplo, la mayora de los dispositivos externos son mucho ms lentos TABLA 1. Clases de Interrupciones Con las interrupciones, el procesador se puede dedicar a la ejecucin de otras instrucciones mientras una operacin de E/S est en proceso. Considrese el flujo de control de la figura 1 .5b. Al igual que antes, el programa de usuario alcanza un punto en el que hace una llamada al sistema en forma de una llamada ESCRIBIR. El programa de E/S que se invoca consta solo del cdigo de preparacin y de la orden concreta de E/S. Despus de que se ejecuten estas pocas instrucciones, se devuelve el control al programa de usuario. Mientras tanto, el dispositivo externo estar ocupado recibiendo datos desde la memoria del computador e imprimindolos. Esta operacin de E/S se lleva a
cabo concurrentemente con la ejecucin de las instrucciones del programa de usuario. Cuando el dispositivo de E/S est disponible, es decir, cuando est preparado para aceptar ms datos desde el procesador, el mdulo de E/S de dicho dispositivo enviar una seal de solicitud de interrupcin al procesador. El procesador responde suspendiendo la operacin del programa en curso y saltando a un programa que da servicio al dispositivo de E/S en par-ticular, conocido como rutina de tratamiento de la interrupcin (interrupt handler),reanu-dando la ejecucin original despus de haber atendido al dispositivo. El instante en que se produce tal interrupcin viene indicado con un asterisco (*). Desde el punto de vista del programa de usuario, una interrupcin es solamente eso: una interrupcin de la secuencia normal de ejecucin. Cuando el tratamiento de la interrupcin se termina, la ejecucin contina. As pues, el programa de usuario no tiene que disponer de ningn cdigo especial para dar cabida a las interrupciones; el procesador y el sistema operativo son los responsables de suspender el programa de usuario y reanudarlo despus en el mismo punto.
proporcionar una mezcla balanceada de trabajos al despachador de corto plazo. Este tipo de despachador es invocado cada vez que un proceso termina y abandona el sistema. Su utilizacin es relativamente poco frecuente. En trminos del diagrama de transicin de estados de un proceso, el despachador de largo plazo se encarga de la transicin de un proceso del estado de dormido al estado de listo. De mediano plazo . Cuando existen procesos que necesitan un uso intensivo de las facilidades de entrada y salida, y que por ello permanezcan suspendidos, puede ser que stos procesos se quiten temporalmente de memoria principal y se guarden en memoria secundaria, hasta que su condicin de espera haya concluido (a esta actividad se le conoce como]swapping), para darle oportunidad a otros procesos que quieran ser admitidos. El despachador de mediano plazo se encarga del manejo de procesos que temporalmente se han enviado a memoria secundaria. En trminos del diagrama de transicin de estados, el despachador de mediano plazo se encarga de la transicin suspendido a listo. De corto plazo. El despachador de corto plazo asigna el CPU entre los procesos listos en memoria principal. Su objetivo principal es maximizar la eficiencia del sistema de acuerdo con ciertos criterios. Ya que se encarga de las transiciones de 5listo a ejecutndose. En la prctica, el despachador de corto plazo se invoca cada vez que ocurre un evento que modifique el estado global del sistema. Algunos eventos que provocan tales cambios son:-Pulsos de reloj (interrupciones de tiempo)-Interrupciones y terminaciones de E/S-La mayora de los llamados operacionales al sistema operativoEnvo y recepcin de seales-Activacin de programas interactivos