You are on page 1of 18

UNIDAD 1

1. 1.1 Introduccin a los Sistemas Operativos. Definicin y concepto.

Existen diversas definiciones de lo que es un Sistema Operativo, pero no hay una definicin exacta, es decir una que sea estndar; a continuacin se presentan algunas: Se pueden imaginar un Sistema Operativo como los programas, instalados en el software o firmware+, que hacen utilizable el hardware. El hardware proporciona la "capacidad bruta de cmputo"; los sistemas operativos ponen dicha capacidad de cmputo al alcance de los usuarios y administran cuidadosamente el hardware para lograr un buen rendimiento. Los Sistemas Operativos son ante todo administradores de recursos; el principal recurso que administran es el hardware del computador; adems de los procesadores, los medios de almacenamiento, los dispositivos de entrada / salida, los dispositivos de comunicacin y los datos. Ver figura # 1. Ubicacin de un sistema operativo en un sistema de cmputo.

Figura # 1. Sistema de cmputo


+

Es la programacin realizada en chips de memorias de solo lectura.

Sistema Operativo. Que es? Es una coleccin de mecanismos de software destinados a servir de interface entre un sistema informtico y sus usuarios, el cual ofrece herramientas y facilidades para simplificar las tareas de diseo codificacin depuracin, actualizacin, etc. Que hace? Administrar todos los recursos hardware y software que constituyen el sistema informtico a explotar. Como naci? Naci con la necesidad de llevar el control de quien utiliza los recursos software usuario(s). Un Sistema Operativo es un programa que acta como intermediario entre el usuario y el hardware del computador y su propsito es proporcionar el entorno en el cual el usuario pueda ejecutar programas. Entonces, el objetivo principal de un Sistema Operativo es, lograr que el sistema de computacin se use de manera cmoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. Un Sistema Operativo es un conjunto de programas que controla la ejecucin de programas de aplicacin y acta como una interfaz entre el usuario y el hardware de una computadora, esto es, un Sistema Operativo explota y administra los recursos de hardware de la computadora con el objeto de proporcionar un conjunto de servicios a los usuarios del sistema. En resumen, se podra decir que los Sistemas Operativos son un conjunto de programas que crean la interfaz del hardware con el usuario, y que tiene dos funciones primordiales, que son: Gestionar el hardware. Se refiere al hecho de administrar de una forma ms eficiente los recursos de la mquina.

Facilitar el trabajo al usuario. Permite una comunicacin con los dispositivos de la mquina.

El Sistema Operativo se encuentra almacenado en la memoria secundaria. Primero se carga y ejecuta un pedazo de cdigo que se encuentra en el procesador, el cual carga el BIOS, y este a su vez carga el Sistema Operativo que carga todos los programas de aplicacin y software variado. Los sistemas operativos pueden emplear memoria virtual para ejecutar procesos que exigen ms memoria principal de la realmente disponible. Con esta tcnica se emplea espacio en el disco duro para simular la memoria adicional necesaria. Sin embargo, el acceso al disco duro requiere ms tiempo que el acceso a la memoria principal, por lo que el funcionamiento del ordenador resulta ms lento. 1

1.2

Funciones y caractersticas.

En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas: Conveniencia. Un Sistema Operativo hace ms conveniente el uso de una computadora. Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera ms eficiente posible. Habilidad para evolucionar. Un Sistema Operativo deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio. Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.

http://www.tar.org.ar/base/lara.pue.udlap.mx/sistoper/capitulo1.htmL.

Relacionar dispositivos (gestionar a travs del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos perifricos, cuando el usuario as lo requiera.

Organizar datos para acceso rpido y seguro. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de computadoras.

Procesamiento por bytes de flujo a travs del bus de datos. Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.

Tcnicas de recuperacin de errores. Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informndoles si esa aplicacin est siendo ocupada por otro usuario.

Generacin de estadsticas. Permite que se puedan compartir el hardware y los datos entre los usuarios.

El software de aplicacin son programas que se utilizan para disear, tal como el procesador de palabras, lenguajes de programacin, hojas de clculo, etc. El software de base sirve para interactuar el usuario con la mquina, son un conjunto de programas que facilitan el ambiente plataforma, y permite el diseo del mismo. El Software de
2

base

est

compuesto

por:

Cargadores,

Compiladores,

Ensambladores, Macros.

1.3

Evolucin histrica.
Cuando aparecieron los primeros ordenadores, la programacin de estos era hecha

ntegramente en cdigo mquina, lo cual resultaba una tarea extremadamente pesada: cada

http://www.tau.org.ar/base/lara.pue.udlap.mx/sistoper/capitulo1.html .

vez que se escriba un nuevo programa, adems de escribir el algoritmo adecuado era preciso aadir todo el cdigo necesario para que el ordenador pudiese leer datos desde una cinta perforada, imprimir en un teletipo, etc. Dado que, en general, todas estas rutinas eran exactamente iguales para todos los programas que se hacan, pronto los programadores de aquellas mquinas aprendieron a organizarlas en bibliotecas de rutinas. Cada vez que haba que escribir un nuevo programa, solo tenan que ir a su libreta y copiar las rutinas de Entrada/Salida que necesitaban, lo cual les simplificaba un poco el trabajo. Otro sistema era el que la propia empresa que fabricaba el ordenador incluyese un paquete de fichas perforadas con dichas rutinas, de modo que el programador solo tena que coger las que le interesasen y aadirlas estratgicamente en su paquete. El siguiente paso fue generalizar este conjunto de rutinas. La idea era incluir juntas todas las rutinas necesarias para acceder al hardware, y hacerlas accesibles a cualquier programador en forma de llamadas a subrutina. De este modo, cada vez que se haca un programa no era preciso incluir en l todas esas rutinas. Haba nacido el Sistema Operativo. Los primeros 'Sistemas Operativos' (si es que podan recibir ese nombre) no eran ms que un conjunto de subrutinas que ayudaban al programador, ofrecindole servicios bsicos como lectura de caracteres desde un teletipo, escritura en tambor, disco, etc. Sin embargo, pronto se vio la necesidad de un nuevo enfoque. Los ordenadores eran caros, y su mantenimiento tambin, por lo que solo algunas grandes empresas y universidades podan disponer de ellos. Para amortizarlos, se alquilaba tiempo de proceso, de modo que se poda ir all con un programa, ejecutarlo, y pagar por el tiempo que le llevase hacerlo al ordenador. El primer problema que haba era que se tardaba mucho en cargar cada programa. Cuando el ordenador terminaba de ejecutar uno, el operador tena que insertar el siguiente, lo cual era una tarea bastante pesada y larga. Durante el tiempo que se haca esto, el ordenador estaba totalmente inactivo, se estaba desperdiciando tiempo. Fue entonces cuando surgieron los sistemas de proceso por lotes (batch).

En los sistemas de proceso por lotes, los programas se almacenan en una cinta, todos seguidos. Cada vez que el ordenador terminaba de ejecutar un programa, lea el siguiente de dicha cinta. Si llegaba alguien con un programa, este se aada a continuacin del ltimo que hubiese, mientras el ordenador iba ejecutando el que ya tena en memoria. El coste de mantenimiento del nuevo sistema era ligeramente superior, pues haba que aadir al sistema el lector de cintas en donde se escriban los programas; pero como poda ejecutar muchos ms programas en el mismo tiempo (porque no se perda parte de este en cargar los programas), el precio de alquiler baj drsticamente, permitiendo que ms gente tuviese acceso a los ordenadores. Es en los sistemas de proceso por lotes donde empieza a aparecer realmente lo que hoy conocemos como Sistema Operativo: un programa principal que es el que va cargando los distintos programas desde la cinta, les cede el control de la CPU pero ofrecindoles una serie de servicios de Entrada/Salida, y cuando terminan, recupera el control del ordenador. Pronto los programadores se dieron cuenta de que haba an ms tiempos muertos de los que pareca: si un ordenador tena que leer algo de una cinta o una tarjeta con datos, como el sistema era mecnico tardaba mucho tiempo en encontrarlo (mucho tiempo de cara al ordenador, claro. Una dcima de segundo es algo muy relativo). As mismo, se empezaban a usar terminales para dar entrada de datos en tiempo real al ordenador, y el tiempo que ste esperaba a que el usuario pulsase cada tecla tambin era una eternidad. Entonces se empez a pensar en los Sistemas Operativos multitarea. La idea consista en tener varios programas simultneamente en memoria, si bien, como el ordenador es nico, solo uno estara activo en cada momento. Cuando dicho programa hace una operacin de Entrada/Salida en la que se pierde tiempo de CPU (como leer una tarjeta, por ejemplo), mientras la mecnica realiza la operacin de bsqueda y lectura, el ordenador conmuta al siguiente programa que tiene en memoria, el cual continuar ejecutndose hasta que haga una operacin de Entrada/Salida. Cuando se llega al ltimo, se vuelve a empezar. Para ese momento, la operacin de Entrada/Salida pedida

por el primer programa ya estar lista, con lo que podr seguir su ejecucin. De esta forma, hemos aprovechado un tiempo que antes perdamos. Finalmente, llegamos a los sistemas distribuidos. Generalmente, lo que tenemos es una red de ordenadores (por ejemplo, en una universidad es normal tener una gran cantidad de PC's) conectados entre s. Si nos fijamos, normalmente solo unos cuantos estn en uso en cada momento, y el resto simplemente se dedican a ejecutar un bonito salvapantallas, o peor an, a realizar la esttica funcin de caro pisapapeles. En otras palabras, estamos desperdiciando una vez ms tiempo de proceso. Para solucionarlo, se han ideado los Sistemas Operativos distribuidos. Estos sistemas operativos son el siguiente paso en la evolucin de los Sistemas Operativos multitarea. La idea consiste en que en los Sistemas Operativos multitarea los programas suelen estar divididos en varios Threads o hilos de ejecucin. Cada uno de estos Threads se puede ver como un programa absolutamente independiente de los dems, si bien, trabajando todos en conjunto forman el programa completo. Dado que cada Thread es independiente de los dems, nada impedira, en principio, que se ejecutase cada uno en un procesador diferente. Esa es la base de los Sistemas Operativos distribuidos: cada nuevo Thread es ejecutado en una mquina distinta, de modo que la potencia de clculo se halla distribuida por toda la red. De esta forma, los equipos que estaban inactivos son aprovechados al mximo. Por desgracia, esta idea resulta extremadamente compleja de implementar, por lo que esta clase de Sistemas Operativos se encuentran todava poco extendidos. Los sistemas operativos han venido evolucionando a travs de los aos. Los sistemas operativos se han apegado ntimamente a la arquitectura de las computadoras en las cuales se ejecutan.

Se observaran las generaciones sucesivas de las computadoras para apreciar cmo se comenzaron a implementar los sistemas operativos.

La primera generacin (1945 - 1955). Se caracteriza por tener: . Tubos de vaco y tableros enchufables. . Tambores magnticos. . Toda la programacin se realizo en lenguaje de mquina obsoleto. . Los lenguajes de programacin se desconocan. . Los sistemas operativos eran extraos. . Cintas de papel perforadas, con rutinas de ejecucin. . En 1950 se introdujeron las tarjetas perforadas. . Cintas magnticas al final de la generacin . Programas en lenguaje ensamblador (cerca del extremo de la generacin) . 1946 - Von Neumann publica el documento llamado mquina de Newman. . 1940 - ABC (1r ordenador electrnico) . 1940 - Robinson (1r ordenador, cdigo operacionales de Enigma de las grietas) . 1946 - Calculadora numrica de ENIAC (1r completamente electrnico, de uso general) . 1950 - UNIVAC I (1r ordenador comercialmente acertado)

La segunda generacin (1955 - 1965). Se caracterizo por: . Transistores y sistemas por lote. . Desperdicio de tiempo mientras los operadores se deslizaban por los cuartos de mquinas. . Equipo costoso.

. Impresin fuera de lnea (no conectada a la computadora central). . Uso de tarjetas de control (pila de tarjetas). . Sistemas operativos comunes FMS, IBSYS, sistema operativo de IBM de la 7094. . Lenguajes de alto nivel, en 1956 FORTRAN, en 1959 - COBOL . 1963 PDP 8 (1ra minicomputadora)

La tercera generacin (1965 - 1980). Se caracterizo por: . Circuitos integrados (CI). 1958 . Multiprogramacin. . Serie de mquinas compatibles con el software. . Familia de computadoras IBM 360 . Sistemas operativos enormes, OS/360. . Spooling, manejo por cola de impresin. . Tiempo compartido. . Crecimiento de las minicomputadoras. . Sistemas UNIX. . 1970 Diskette. . Lenguajes de un nivel ms alto (1965 - BASIC)

La cuarta generacin (1980 - 1990). Se caracterizo por: . Circuitos integrados LSI.

. Computadoras personales IBM 1980. . Software para computadoras personales. . Software amable con el usuario. . El sistema operativo MSDOS a dominado la escena. . MSDOS y UNIX. . Viruta del microprocesador introducida en los EE.UU. por Intel. . Programacin estructurada. . Windows interfaz de usuario Grafica. . Sistemas operativos de RED. . Sistemas operativos distribuidos. . Almacenamientos de grandes volmenes de informacin.

La quinta generacin ( 1990 - ? ). Se caracteriza por: . Mejoras notables al sistema operativo Microsof Windows / MSDOS. . Surgimiento del procesador PENTIUM I, II, III, IV y otras competencias . Procesadores con dos o cuatro ncleos. . Realidad virtual. . Inteligencia Artificial. . Lenguajes de programacin Visuales. . Programacin para Internet, IP ver. 6 . Conexiones de Red de Redes (Internet)

10

. Grficos poderosos, GAMES, X-BOX, PLAY STATION . Windows 95, 98, ME,2000, XP, 2003, VISTA, WINDOWS 7. . UNIX, LINUX y sus clones . Supercomputadoras con miles de procesadores.

Como fue el desarrollo de un sistema operativo?. Atreves de las generaciones de computadoras. En la primera generacin no se conoca el concepto de un sistema operativo. En la segunda generacin se cargaba un programa especial, el cual lea un trabajo y lo ejecutaba (era un ancestro de un sistema operativo). En la tercera generacin surgen los primeros sistemas operativos enormes y muy complejos. En la cuarta generacin surgen los modernos sistemas operativos que conocemos hoy en da.

1.4

Clasificacin.
Con el paso del tiempo, los Sistemas Operativos fueron clasificndose de diferentes

maneras, dependiendo del uso o de la aplicacin que se les daba. A continuacin se mostrarn diversos tipos de Sistemas Operativos3 que existen en la actualidad, con algunas de sus caractersticas:

1.4.1 Sistemas Operativos por lotes.


Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interaccin entre los usuarios y los programas en ejecucin. Se renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o ms trabajos como sucede en el procesamiento en serie. Estos sistemas son de los ms tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.

http://www.monografias.com/Computacin/Sistemas_Operativos.

11

Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecucin muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidad de la ejecucin de los trabajos. Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento acadmico.
Caractersticas con que cuentan los Sistemas Operativos por lotes.

Requiere que el programa, datos y rdenes al sistema sean remitidos todos juntos en forma de lote.

Permiten poca o ninguna interaccin usuario/programa en ejecucin. Mayor potencial de utilizacin de recursos que procesamiento serial simple en sistemas mltiusuarios.

No conveniente para desarrollo de programas por bajo tiempo de retorno y depuracin fuera de lnea.

Conveniente para programas de largos tiempos de ejecucin (por ejemplo, anlisis estadsticos, nminas de personal, etc.)

Se encuentra en muchos computadores personales combinados con procesamiento serial. Planificacin del procesador sencilla, tpicamente procesados en orden de llegada. Planificacin de memoria sencilla, generalmente se divide en dos: parte residente del S.O. y programas transitorios.

No requieren gestin crtica de dispositivos en el tiempo. Suelen proporcionar gestin sencilla de manejo de archivos: se requiere poca proteccin y ningn control de concurrencia para el acceso.

1.4.2 Sistemas Operativos de tiempo real.


Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, estn subutilizados sus recursos con la finalidad de prestar atencin a los procesos en el momento que lo requieran. Se utilizan en entornos donde son procesados un gran nmero de sucesos o eventos.

12

Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy especficas como control de trfico areo, bolsas de valores, control de refineras, control de laminadores. Tambin en el ramo automovilstico y de la electrnica de consumo, las aplicaciones de tiempo real estn creciendo muy rpidamente. Otros campos de aplicacin de los Sistemas Operativos de tiempo real son los siguientes:

Control de trenes. Telecomunicaciones. Sistemas de fabricacin integrada. Produccin y distribucin de energa elctrica. Control de edificios. Sistemas multimedia.

Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra. Los Sistemas Operativos de tiempo real.

1.4.2.1 Caractersticas de los Sistemas Operativos de tiempo real

Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayora externos al sistema computacional, en breve tiempo o dentro de ciertos plazos.

Se utilizan en control industrial, conmutacin telefnica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc.

Objetivo es proporcionar rpidos tiempos de respuesta. Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso. Proceso se activa tras ocurrencia de suceso, mediante interrupcin. Proceso de mayor prioridad expropia recursos. Por tanto generalmente se utiliza planificacin expropiativa basada en prioridades. Gestin de memoria menos exigente que tiempo compartido, usualmente procesos son residentes permanentes en memoria.

Poblacin de procesos esttica en gran medida. Poco movimiento de programas entre almacenamiento secundario y memoria. Gestin de archivos se orienta ms a velocidad de acceso que a utilizacin eficiente del recurso. 13

1.4.3 Sistemas Operativos de multiprogramacin (o Sistemas Operativos de multitarea).


Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms trabajos activos (que se estn ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al mximo su utilizacin. Su objetivo es tener a varias tareas en la memoria principal, de manera que cada uno est usando el procesador, o un procesador distinto, es decir, involucra mquinas con ms de una UCP. Sistemas Operativos como UNIX4, Windows 955, Windows 986, Windows NT7, MAC-OS, OS/2, soportan la multitarea. Las caractersticas de un Sistema Operativo de multiprogramacin o multitarea son las siguientes:

Mejora productividad del sistema y utilizacin de recursos. Multiplexa recursos entre varios programas. Generalmente soportan mltiples usuarios (multiusuarios). Proporcionan facilidades para mantener el entorno de usuarios individuales. Requieren validacin de usuario para seguridad y proteccin. Proporcionan contabilidad del uso de los recursos por parte de los usuarios. Multitarea sin soporte multiusuario se encuentra en algunos computadores personales o en sistemas de tiempo real.

Sistemas multiprocesadores son sistemas multitareas por definicin ya que soportan la ejecucin simultnea de mltiples tareas sobre diferentes procesadores.

En general, los sistemas de multiprogramacin se caracterizan por tener mltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos perifricos.

4 5

http://www.monografias.com/trabajos/Unix/Unix.shtml. http://www.monografias.com/trabajos/W311w95/W311w95.shtml. 6 http://www.monografias.com/trabajos/guiawin98/guiawin98_shtml. 7 http://www.monografias.com/trabajos11/introwin/introwin.shtml.

14

1.4.4 Sistemas Operativos de tiempo compartido.


Permiten la simulacin de que el sistema y sus recursos son todos para cada usuario. El usuario hace una peticin a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecer en la terminal del usuario. Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de que tiene el sistema dedicado para s mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administracin de memoria principal y secundaria+. Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.

1.4.4.1 Caractersticas de los Sistemas Operativos de tiempo compartido:

Populares representantes de sistemas multiprogramados multiusuario, por ejemplo: sistemas de diseo asistido por computador, procesamiento de texto, etc.

Dan la ilusin de que cada usuario tiene una mquina para s. Mayora utilizan algoritmo de reparto circular. Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye despus de concedido el servicio.

Evitan monopolizacin del sistema asignando tiempos de procesador (time slot). Gestin de memoria proporciona proteccin a programas residentes. Gestin de archivo debe proporcionar proteccin y control de acceso debido a que pueden existir mltiples usuarios accesando un mismo archivos.

La administracin de la memoria se trata en el Capitulo 3.

15

1.4.5 Sistemas Operativos distribuidos.


Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, en este caso es transparente para el usuario. Existen dos esquemas bsicos de stos+. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema dbilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local. Los sistemas distribuidos8 deben de ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

1.4.5.1 Caractersticas de los Sistemas Operativos distribuidos:

Coleccin de sistemas autnomos capaces de comunicacin y cooperacin mediante interconexiones hardware y software .

Gobierna operacin de un S.C. y proporciona abstraccin de mquina virtual a los usuarios.

Objetivo clave es la transparencia. Generalmente proporcionan medios para la comparticin global de recursos. Servicios aadidos: denominacin global, sistemas de archivos distribuidos, facilidades para distribucin de clculos (a travs de comunicacin de procesos internodos, llamadas a procedimientos remotos, etc.).

Consultar libro de Sistemas Operativos conceptos fundamentales, P Galvin, Ed. Adison wesley, capitulo 12 Estructuras de sistemas distribuidos pag. 445 8 http://www.monografias.com/trabajos16/sistemas-distribuidos/sistemas-distribuidos.shtml.

16

1.5

Estructura: nivel o estratos de diseo.

Existen autores que son partidarios de un enfoque jerrquico para el diseo de sistemas operativos. En la base de la jerarqua se encuentra el hardware del computador, a veces denominado simplemente mquina pura o los hierros desnudos. En el siguiente nivel de la jerarqua (o en varios de los siguientes niveles en algunos diseos) estn las diferentes funciones del ncleo, las cuales se ven como si formaran una mquina ampliada, es decir, un computador que ofrece no slo su lenguaje de mquina como apoyo al sistema operativo y a sus usuarios, sino tambin un grupo de funciones adicionales proporcionadas por el ncleo. Estas posibilidades adicionales se denominan a menudo primitivas. Arriba del ncleo, en jerarqua, se encuentran los diferentes procesos del sistema operativo que trabajan en apoyo de los procesos de usuario; por ejemplo, los procesos de administracin de los dispositivos, que se encargan en la prctica de supervisar las operaciones de entrada/salida de los dispositivos del sistema para beneficio de los diversos usuarios. En la cima de la jerarqua se encuentran los procesos de usuario. Se ha visto que los diseos jerrquicos son ms fciles de depurar, modificar y verificar. En los diseos en que el ncleo est distribuido en varios niveles de jerarqua, elegir qu funcin colocar en cada nivel requiere un anlisis cuidadoso. En tales diseos, con frecuencia slo se permite hacer llamadas a funciones situadas jerrquicamente por debajo de quin hace la llamada; es decir, cada nivel slo puede llamar a las funciones que estn colocadas en el nivel inmediato inferior. Ver figura # 2.

17

Figura # 2. Niveles o estratos de diseo. En los sistemas ms recientes existe la tendencia de colocar gran parte del ncleo en micro cdigo. sta es una tcnica de seguridad efectiva, pues impide la alteracin del ncleo y con una cuidadosa codificacin se puede lograr que se ejecuten ms eficientemente las funciones del ncleo.

18

You might also like