Vous êtes sur la page 1sur 21

1.

1 Definicin y concepto de sistema operativo


El conjunto de programas informticos que permite la administracin eficaz de
los
recursos de
una computadora es
conocido
como sistema
operativo o software de sistema. Estos programas comienzan a trabajar apenas
se enciende el equipo, ya que gestionan el hardware desde los niveles ms
bsicos
y
permiten
adems
la
interaccin
con
el
usuario.
Un sistema operativo es un conjunto de programas o software, destinado a
permitir la comunicacin entre el usuario y la mquina de forma cmoda y
eficiente; se encarga de gestionar los recursos del ordenador, esto incluye la
gestin del hardware desde los niveles ms bsicos.
Concepto de sistema operativo
Un sistema operativo es un programa que forman parte del software bsico de
un dispositivo informtico y que se utiliza para gestionar el hardware y posibilita
el funcionamiento de determinadas aplicaciones.

El sistema operativo se encarga transmitir informacin entre los programas de


aplicacin y los recursos fsicos (como los dispositivos perifricos). El tipo de
sistema operativo condiciona el uso de las aplicaciones, debido a que muchas
de ellas requieren el uso de un determinado sistema operativo.

1.2.- Funciones y caractersticas del sistema operativo


El sistema operativo cumple varias funciones:

Administracin del procesador: el sistema operativo administra la


distribucin del procesador entre los distintos programas por medio de
un algoritmo de programacin. El tipo de programador depende
completamente del sistema operativo, segn el objetivo deseado.

Gestin de la memoria de acceso aleatorio: el sistema operativo se


encarga de gestionar el espacio de memoria asignado para cada
aplicacin y para cada usuario, si resulta pertinente. Cuando la memoria
fsica es insuficiente, el sistema operativo puede crear una zona de
memoria en el disco duro, denominada "memoria virtual". La memoria
virtual permite ejecutar aplicaciones que requieren una memoria superior

a la memoria RAM disponible en el sistema. Sin embargo, esta memoria


es mucho ms lenta.

Gestin de entradas/salidas: el sistema operativo permite unificar y


controlar el acceso de los programas a los recursos materiales a travs
de los drivers (tambin conocidos como administradores perifricos o de
entrada/salida).

Gestin de ejecucin de aplicaciones: el sistema operativo se


encarga de que las aplicaciones se ejecuten sin problemas asignndoles
los recursos que stas necesitan para funcionar. Esto significa que si
una aplicacin no responde correctamente puede "sucumbir".

Administracin de autorizaciones: el sistema operativo se encarga de


la seguridad en relacin con la ejecucin de programas garantizando
que los recursos sean utilizados slo por programas y usuarios que
posean las autorizaciones correspondientes.

Gestin de archivos: el sistema operativo gestiona la lectura y escritura


en el sistema de archivos, y las autorizaciones de acceso a archivos de
aplicaciones y usuarios.

Gestin de la informacin: el sistema operativo proporciona cierta


cantidad de indicadores que pueden utilizarse para diagnosticar el
funcionamiento correcto del equipo.

Caractersticas del sistema operativo


En general, se puede decir que un Sistema Operativo tiene las siguientes
caracteristicas:
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.
Relacionar dispositivos (gestionar a traves del kernel). El Sistema Operativo se
debe encargar de comunicar a los dispositivos perifericos, cuando el usuario
asi lo requiera.

Organizar datos para acceso rapido 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 esta 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.

1.3 EVOLUCION HISTORICA


Para tratar de comprender los requisitos de un Sistema Operativo y el
significado de las principales caractersticas de un Sistema Operativo
contemporneo, es til considerar como han ido evolucionando estos con el
tiempo.
Existen diferentes enfoques o versiones de cmo han ido evolucionando los
Sistemas Operativos La primera de estas versiones podra ser esta:
En los 40's, se introducen los programas bit a bit, por medio de interruptores
mecnicos y despus se introdujo el lenguaje mquina que trabajaba por
tarjetas perforadas.
Con las primeras computadoras, desde finales de los aos 40 hasta la mitad
de los aos 50, el programador interactuaba de manera directa con el hardware
de la computadora, no exista realmente un Sistema Operativo; las primeras
computadoras utilizaban bulbos, la entrada de datos y los programas se
realizaban a travs del lenguaje maquina (bits) o a travs de interruptores.
Durante los aos 50's y 60's.- A principio de los 50's, la compaa General's
Motors implanto el primer sistema operativo para su IBM 170. Empiezan a
surgir las tarjetas perforadas las cuales permiten que los usuarios (que en ese
tiempo eran programadores, diseadores, capturistas, etc.), se encarguen de
modificar sus programas. Establecan o apartaban tiempo, metan o introducan
sus programas, corregan y depuraban sus programas en su tiempo. A esto se
le llamaba trabajo en serie. Todo esto se traduca en prdida de tiempo y
tiempos de programas excesivos.
En los aos 60's y 70's se genera el circuito integrado, se organizan los
trabajos y se generan los procesos Batch (por lotes), lo cual consiste en
determinar los trabajos comunes y realizarlos todos juntos de una sola vez. En
esta poca surgen las unidades de cinta y el cargador de programas, el cual se
considera como el primer tipo de Sistema Operativo.

En los 80's, inicio el auge de la INTERNET en los Estados Unidos de Amrica.


A finales de los aos 80's comienza el gran auge y evolucin de los Sistemas
Operativos. Se descubre el concepto de multiprogramacin que consiste en
tener cargados en memoria a varios trabajos al mismo tiempo, tema principal
de
los
Sistemas
Operativos
actuales.

Los 90's y el futuro, entramos a la era de la computacin distribuida y del


multiprocesamiento a travs de mltiples redes de computadoras,
aprovechando el ciclo del procesador.
Se tendr una configuracin dinmica con un reconocimiento inmediato de
dispositivos y software que se aada o elimine de las redes a travs de
procesos de registro y localizadores.
La conectividad se facilita gracias a estndares y protocolos de sistemas
abiertos por organizaciones como la Organizacin Internacional de normas,
fundacin de software abierto, todo estar ms controlado por los protocolos de
comunicacin OSI y por la red de servicios digital ISDN.
Se ha desarrollado otra versin, la cual se ha hecho en base a etapas o
generaciones:
1a.

Etapa

(1945-1955):

Bulbos

conexiones.

Despues de los infructuosos esfuerzos de Babbage, hubo poco progreso en la


construccin de las computadoras digitales, hasta la Segunda Guerra Mundial.
A mitad de la dcada de los 40's, Howard Aiken (Harvard), John Von Newman
(Instituto de Estudios Avanzados, Princeton), J. Prespe R. Eckert y Williams
Mauchley (Universidad de Pennsylvania), asi como Conrad Zuse (Alemania),
entre otros lograron construir maquinas de calculo mediante bulbos. Estas

maquinas eran enormes y llenaban cuartos completos con decenas de miles de


bulbos, pero eran mucho mas lentas que la computadora casera mas
economica en nuestros dias.
Toda la programacion se llevaba a cabo en lenguaje de maquina absoluto y con
frecuencia se utilizaban conexiones para controlar las funciones basicas de la
maquina. Los lenguajes de programacion eran desconocidos (incluso el
lenguaje ensamblador). No se oia de los Sistemas Operativos el modo usual de
operacion consistia en que el programador reservaba cierto periodo en una
hoja de reservacion pegada a la pared, iba al cuarto de la maquina, insertaba
su conexion a la computadora y pasaba unas horas esperando que ninguno de
los 20,000 o mas bulbos se quemara durante la ejecucion. La inmensa mayoria
de los problemas eran calculos numericos directos, por ejemplo, el calculo de
valores para tablas de senos y cosenos.
A principio de la decada de los 50's la rutina mejoro un poco con la introduccion
de las tarjetas perforadas. Fue entonces posible escribir los programas y
leerlas en vez de insertar conexiones, por lo demas el proceso era el mismo.
2a. Etapa. (1955-1965): Transistores y Sistemas de Procesamiento por lotes.

La introduccion del transistor a mediados de los aos 50's modifico en forma


radical el panorama. Las computadoras se volvieron confiables de forma que
podian fabricarse y venderse a clientes, con la esperanza de que ellas
continuaran funcionando lo suficiente como para realizar un trabajo en forma.
Dado el alto costo del equipo, no debe sorprender el hecho de que las
personas buscaron en forma por demas rapidas vias para reducir el tiempo
invertido. La solucion que, por lo general se adopto, fue la del sistema de
procesamiento por lotes.
3ra Etapa (1965-1980): Circuitos integrados y multiprogramacion.

La 360 de IBM fue la primera linea principal de computadoras que utilizo los
circuitos integrados, lo que proporciono una gran ventaja en el precio y
desempeno con respecto a las maquinas de la segunda generacion,
construidas a partir de transistores individuales. Se trabajo con un sistema
operativo enorme y extraordinariamente complejo. A pesar de su enorme
tamano y sus problemas el sistema operativo de la linea IBM 360 y los
sistemas operativos similares de esta generacion producidos por otros
fabricantes de computadoras realmente pudieron satisfacer, en forma
razonable a la mayoria de sus clientes. Tambien popularizaron varias tecnicas
fundamentales, ausentes de los sistemas operativos de la segunda generacion,
de las cuales la mas importante era la de multiprogramacion.

Otra caracteristica era la capacidad de leer trabajos de las tarjetas al disco, tan
pronto como llegara al cuarto de computo. Asi, siempre que concluyera un
trabajo el sistema operativo podia cargar un nuevo trabajo del disco en la
particion que quedara desocupada y ejecutarlo.
4ta Etapa (1980-Actualidad): Computadoras personales.
Un interesante desarrollo que comenzo a llevarse a cabo a mediados de la
decada de los ochenta ha sido el crecimiento de las redes de computadoras
personales, con sistemas operativos de red y sistemas operativos distribuidos.
En los sistemas operativos de red, los usuarios estn conscientes de la
existencia de varias computadoras y pueden conectarse con mquinas remotas
y copiar archivos de una maquina a otra. Cada mquina ejecuta su propio
sistema operativo local y tiene su propio usuario.
Por el contrario, un sistema operativo distribuido es aquel que aparece ante sus
usuarios como un sistema tradicional de un solo procesador, aun cuando esta
compuesto por varios procesadores. En un sistema distribuido verdadero, los
usuarios no deben ser conscientes del lugar donde su programa se ejecute o
de lugar donde se encuentren sus archivos; eso debe ser manejado en forma
automtica y eficaz por el sistema operativo.

1.4.- Clasificacin de los sistemas operativos


Con el paso de los tiempos los sistemas operativos fueron cambiando de
muchas maneras, por ejemplo:

Sistemas Operativos de multitarea: con este sistema operativo es que la


computadora procesa diferentes tareas al mismo tiempo. Existen varios
tipos de multitareas. Estos sistemas 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.
Los sistemas operativos que soportan estas multitareas son: UNIX, Windows
95, Windows 98, Windows NT, MAC-OS, OS/2.

Sistema Operativo Monotareas: los sistemas operativos monotareas son


ms primitivos y es todo lo contrario a los de multitareas es decir, solo
pueden manejar un proceso en cada momento o que solo puede ejecutar
las tareas de una en una. Por ejemplo cuando la computadora est
imprimiendo un documento, no puede iniciar otro proceso ni responder a
nuevas instrucciones hasta que se termine la impresin. El sistema
operativo que soporta el monotareas es DOS.

Sistema Operativo Monousuario: Los sistemas monousuarios son


aquellos que nada ms puede atender a un solo usuario, gracias a las
limitaciones creadas por el hardware, los programas o el tipo de aplicacin
que se est ejecutando. Estos tipos de sistemas son muy simples, porque
todos los dispositivos de entrada, salida y control dependen de la tarea que
se est utilizando, esto quiere decir, que las instrucciones que se dan, son
procesadas de inmediato; ya que existe un solo usuarios. Los sistemas
operativos que soportan el monousuario son DOS e incluso en el actual
Windows XP y sus predecesores.

Sistema Operativo Multiusuario: Es todo lo contrario a monousuario; y en


esta categora se encuentran todos los sistemas que cumplen
simultneamente las necesidades de dos o ms usuarios, que comparten
mismos recursos. Este tipo de sistemas se emplean especialmente en
redes. Los sistemas operativos que soportan el multiusuario son con el
Linux, Windows 2003 y sus predecesores.

Sistemas Operativos por lotes: Con este sistema operativo 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,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. Los sistemas operativos que soportan por
lotes son el SCOPE, del DC6600, y el EXEC II para el UNIVAC 1107.

Sistemas Operativos de tiempo real: este sistema operativo 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.Los sistemas operativos que soportan el tiempo real son VxWorks,
Solaris, Lyns OS y Spectra.

Sistemas Operativos de tiempo compartido: estos sistemas 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. Los
sistemas operativos que soportan el tiempo compartido son Multics,
OS/360 y DEC-10.

Sistemas Operativos distribuidos: Este sistema operativo permite


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 trasparente para el usuario. Existen dos

esquemas bsicos de stos. Un sistema fuertemente acoplado es a 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.

Sistemas Operativos de red: Los sistemas operativos de red son


aquellos que mantienen a dos o ms computadoras unidas a travs de
algn medio de comunicacin (fsico o no), con el objetivo primordial de
poder compartir los diferentes recursos y la informacin del sistema. El
primer Sistema Operativo de red estaba enfocado a equipos con un
procesador Motorola 68000, pasando posteriormente a procesadores Intel
como Novell Netware. Los sistemas operativos ms utilizados que
soportan la red son Novell Netware, Personal Netware, LAN Manager,
Windows NT Server, UNIX, LANtastic.

Sistemas Operativos paralelos: 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. As, en lugar de esperar a que el
proceso termine de ejecutarse, regresa a atender al usuario
inmediatamente. Los sistemas operativos que soportan a los paralelos son
Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.

1.5.-

Estructuras

niveles

estratos

de

diseo

Internamente los sistemas operativos estructuralmente de se clasifican segn


como se hayan organizado intrnamente en su diseo, por esto la clasificacin
ms comn de los S.O. son:

Sistemas monolticos:

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 tcnica, cada procedimiento del sistema tiene
una interfaz bien definida en trminos de parmetros y resultados, y cada una
tiene la libertad de llamar a cualquiera otra, si la ltima ofrece algn clculo til
que la primera necesite.
Para construir el programa objeto real del sistema operativo cuando se usa este
mtodo, se compilan todos los procedimientos individuales a archivos que
contienen los procedimientos y despus se combinan todos en un solo archivo
objeto con el enlazador.

En trminos de ocultamiento de informacin, esencialmente no existe ninguno;


todo procedimiento es visible para todos (al contrario de una estructura que
contiene mdulos o paquetes, en los cuales mucha informacin es local a un
mdulo y slo pueden llamar puntos de registro designados oficialmente del
exterior del mdulo)
Esta organizacin sugiere una estructura bsica 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 jerarqua 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 Electrolgica X8, que
tena 32K de palabras de 27 bits ( los bits eran costosos en aquellos das)
El sistema tena 6 estratos, estos se muestran en la siguiente tabla:
5

Operador de THE

Programas del usuario

Administracin de Entrada/Salida

Comunicacin entre el operador y el proceso

Administracin de la memoria y el tambor magntico

Distribucin del procesador y multiprogramacin

- El estrato 0 trabajaba con la distribucin del procesador, cambiando entre


procesos cuando ocurran interrupciones o los relojes expiraban. Sobre el
estrato 0, el sistema constaba de procesos secuenciales, cada uno de los
cuales poda programarse sin tener que preocuparse por el hecho de que
mltiples procesos estuvieran corriendo en un solo procesador. En otras
palabras, el estarto 0 ofreca la multiprogramacin bsica de la CPU.
El estrato 1 realizaba el manejo de memoria. Este distribua espacio para
procesos contenidos en la memoria central y en un tambor de 512K palabras
que se usaba para contener partes de procesos (pginas) para las cuales no
haba espacio en la memoria central. Sobre el estrato 1, los procesos no tena
que preocuparse de si estaban en la memoria o en el tambor; el software del
estrato 1 se haca cargo de asegurar que las pginas se trajeran a la memoria
siempre que se necesitaran.
El estrato 2 manejaba la comunicacin entre cada proceso y la consola de
operador.
El estrato 3 se haca cargo de manejar los dispositivos de E/S y de separar la
informacin en flujo que entraba y sal de ellos. Sobre el estrato 3 cada proceso

poda trabajar con dispositivos de E/S abstractos con propiedades agradables,


en vez de dispositivos reales con muchas peculiaridades
El estrato 4 era donde se encontraban los programas de los usuarios. No
tenan que preocuparse por el manejo de los procesos, memoria, consola o
E/S. El proceso operador del sistema se localizaba en el estrato 5.

Estructuras de diseos de sistemas operativos.

Estructura modular. Tambin llamados sistemas monolticos. Este tipo de


organizacin es con mucho la ms comn; bien podra recibir el subttulo de "el
gran embrollo". La estructura consiste en que no existe estructura alguna. El
sistema operativo se escribe como una coleccin de procedimientos, cada uno
de los cuales puede llamar a los dems cada vez que as lo requiera. Cuando
se usa esta tcnica, cada procedimiento del sistema tiene una interfaz bien
definida en trminos de parmetros y resultados y cada uno de ellos es libre de
llamar a cualquier otro, si este ltimo proporciona cierto clculo til para el
primero. Sin embargo incluso en este tipo de sistemas es posible tener al
menos algo de estructura. Los servicios (llamadas al sistema) que proporciona
el sistema operativo se solicitan colocando los parmetros en lugares bien
definidos, como en los registros o en la pila, para despus ejecutar una
instruccin especial de trampa de nombre "llamada al ncleo" o "llamada al
supervisor".
Esta instruccin cambia la mquina del modo usuario al modo ncleo y
transfiere el control al sistema operativo, lo que se muestra en el evento (1) de
la figura 1. El sistema operativo examina entonces los parmetros de la
llamada, para determinar cul de ellas se desea realizar, como se muestra en el
evento (2) de la figura 1. A continuacin, el sistema operativo analiza una tabla
que contiene en la entrada k un apuntador al procedimiento que realiza la kesima llamada al sistema. Esta operacin que se muestra en (3) de la figura 1,
identifica el procedimiento de servicio, al cual se llama. Por ltimo, la llamada al
sistema termina y el control regresa al programa del usuario.
Figura 1. La forma en que debe hacerse una llamada al sistema: (1) el
programa del usuario es atrado hacia el ncleo. (2) el sistema operativo
determina el nmero del servicio solicitado. (3) el sistema operativo localiza y
llama al procedimiento correspondiente al servicio. (4) el control regresa al
programa
del
usuario.
Esta organizacin sugiere una organizacin bsica del sistema operativo:
1.- un programa principal que llama al procedimiento del servicio solicitado.
2.- un conjunto de procedimientos de servicio que llevan a cabo las llamadas al
sistema.
3.- un conjunto de procedimientos utilitarios que ayudan al procedimiento de
servicio.
En este modelo, para cada llamada al sistema existe un procedimiento de
servicio que se encarga de l. Los procedimientos utilitarios hacen cosas
necesarias para varios procedimientos de servicio, por ejemplo buscar los

datos de los programas del usuario.


Estructura por microkernel. Las funciones centrales de un SO son
controladas por el ncleo (kernel) mientras que la interfaz del usuario es
controlada por el entorno (shell). Por ejemplo, la parte ms importante del DOS
es un programa con el nombre "COMMAND.COM" Este programa tiene dos
partes. El kernel, que se mantiene en memoria en todo momento, contiene el
cdigo mquina de bajo nivel para manejar la administracin de hardware para
otros programas que necesitan estos servicios, y para la segunda parte del
COMMAND.COM el shell, el cual es el interprete de comandos
Las funciones de bajo nivel del SO y las funciones de interpretacin de
comandos estn separadas, de tal forma que puedes mantener el kernel DOS
corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo
que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell,
reemplazando la interfaz de lnea de comandos con una interfaz grfica del
usuario. Existen muchos "shells" diferentes en el mercado, ejemplo: NDOS
(Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la
versin 5.0 incluy un Shell llamado DOS SHELL.
Estructura por anillos concntricos (capas).
El sistema por "capas" consiste en organizar el sistema operativo como una
jerarqua de capas, cada una construida sobre la inmediata inferior. El primer
sistema construido de esta manera fue el sistema THE (Technische Hogeschool
Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus
estudiantes.
El sistema tenia 6 capas, como se muestra en la figura 3. La capa 0 trabaja con
la asignacin del procesador y alterna entre los procesos cuando ocurren las
interrupciones o expiran los cronmetros. Sobre la capa 0, el sistema consta de
procesos secunciales, cada uno de los cuales se podra programar sin
importar que varios procesos estuvieran ejecutndose en el mismo procesador,
la capa 0 proporcionaba la multiprogramacin bsica de la CPU.
La capa 1 realizaba la administracin de la memoria. Asignaba el espacio de
memoria principal para los procesos y un recipiente de palabras de 512K se
utilizaba para almacenar partes de los procesos (pginas) para las que no
exista lugar en la memoria principal. Por encima de la capa 1, los procesos no
deban preocuparse si estaban en la memoria o en el recipiente; el software de
la capa 1 se encargaba de garantizar que las pginas llegaran a la memoria
cuando fueran necesarias.
La capa 2 se encargaba de la comunicacin entre cada proceso y la consola
del operador. Por encima de esta capa, cada proceso tiene su propia consola
de operador.
La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los
flujos de informacin entre ellos. Por encima de la capa 3, cada proceso puede

trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de


dispositivos reales con muchas peculiaridades.
La capa 4 es donde estaban los programas del usuario, estos no tenan que
preocuparse por el proceso, memoria, consola o control de E/S. el proceso
operador
del
sistema
se
localizaba
en
la
capa
5
Una generalizacin ms avanzada del concepto de capas se present en el
sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una
serie de anillos concntricos, siendo los anillos interiores los privilegiados.
Cuando un procedimiento de un anillo exterior deseaba llamar a un
procedimiento de un anillo interior, debi hacer el equivalente a una llamada al
sistema. Mientras que el esquema de capas de THE era en realidad un apoyo
al diseo, debido a que todas las partes del sistema estaban ligadas entre si en
un solo programa objeto, en MULTICS, el mecanismo de anillos estaba mas
presente durante el tiempo de ejecucin y era reforzado por el hardware. La
ventaja del mecanismo de anillos es su facilidad de extensin para estructurar
subsistemas
del
usuario.

El operador

Programas del usuario

Control de entrada/salida

Comunicacin operador-proceso

Administracin de la memoria y del disco

Asignacin del procesador y multiprogramacin

Figura 3. Estructura del sistema operativo THE.

Estructura
cliente

servidor
Una tendencia de los sistemas operativos modernos es la de explotar la idea de
mover el cdigo a capas superiores y eliminar la mayor parte posible del
sistema operativo para mantener un ncleo mnimo. El punto de vista usual es
el de implantar la mayora de las funciones del sistema operativo en los
procesos del usuario. Para solicitar un servicio, como la lectura de un bloque de
cierto archivo, un proceso del usuario (denominado proceso cliente) enva la
solicitud a un proceso servidor, que realiza entonces el trabajo y regresa la
respuesta. En este modelo, que se muestra en la figura 4, lo nico que hace el

ncleo es controlar la comunicacin entre los clientes y los servidores. Al


separar el sistema operativo en partes, cada una de ellas controla una faceta
del sistema, como el servicio a archivos, servicios a procesos, servicio a
terminales o servicio a la memoria, cada parte es pequea y controlable.
Adems como todos los servidores se ejecutan como procesos en modo
usuario y no en modo ncleo, no tienen acceso directo al hardware. En
consecuencia si hay un error en el servidor de archivos, ste puede fallar, pero
esto no afectar en general a toda la mquina.

Sistemas Operativos por su Estructura (Visin Interna).

Segn, se deben observar dos tipos de requisitos cuando se construye un


sistema operativo, los cuales son:
Requisitos de usuario: Sistema fcil de usar y de aprender, seguro, rpido y
adecuado al uso al que se le quiere destinar.
Requisitos del software: Donde se engloban aspectos como el mantenimiento,
forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los
errores y flexibilidad.
A continuacin se describen las distintas estructuras que presentan los
actuales sistemas operativos para satisfacer las necesidades que de ellos se
quieren obtener.
Estructura Monoltica. 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
separadamente que se unen a travs del ligador.

de

mdulos

compilados

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 ejecucin y gestin, pero por lo mismo carecen de flexibilidad para soportar
diferentes ambientes de trabajo o tipos de aplicaciones.

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 interface 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. Se
puede pensar tambin en estos sistemas como si fueran `multicapa'. Multics y
Unix caen en esa categora.
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".
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. Se trata de un tipo de sistemas operativos que presentan
una interface a cada 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 tantas 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
Cliente-Servidor (Microkernel). El tipo ms reciente de sistemas operativos
es el denominado Cliente-servidor, que puede ser ejecutado en la mayora de
las computadoras, ya sean grandes o pequeas.
Este sistema sirve para toda clase de aplicaciones por tanto, es de propsito
general y cumple con las mismas actividades que los sistemas operativos

convencionales.
El ncleo tiene como misin establecer la comunicacin entre los clientes y los
servidores. Los procesos pueden ser tanto servidores como clientes. Por
ejemplo, un programa de aplicacin normal es un cliente que llama al servidor
correspondiente para acceder a un archivo o realizar una operacin de
entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente
puede actuar como servidor para otro." [Alcal92]. Este paradigma ofrece gran
flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el
ncleo provee solamente funciones muy bsicas de memoria, entrada/salida,
archivos y procesos, dejando a los servidores proveer la mayora que el
usuario final o programador puede usar. Estos servidores deben tener
mecanismos de seguridad y proteccin que, a su vez, sern filtrados por el
ncleo que controla el hardware. Actualmente se est trabajando en una
versin de UNIX que contempla en su diseo este paradigma.

1.6.- Ncleo
El ncleo o kernel se divide en 5 capas o niveles:
Nivel 1. Gestin de Memoria: Proporciona las facilidades de bajo nivel para
la gestin de memoria secundaria necesaria para la ejecucin de procesos.
Nivel 2. Procesador: Se encarga de activar los cuantums de tiempo para
cada uno de los procesos, creando interrupciones de hardware cuando no son
respetadas.
Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los
dispositivos de E/S requeridos por los procesos.
Nivel 4. Informacin o Aplicacin o Intrprete de Lenguajes: Facilita la
comunicacin con los lenguajes y el sistema operativo para aceptar las rdenes
en cada una de las aplicaciones. Ejecutando un programa el software de este
nivel crea el ambiente de trabajo e invoca a los procesos correspondientes.
Nivel 5. Control de Archivos: Proporciona la facilidad para el
almacenamiento a largo plazo y manipulacin de archivos con nombre, va
asignando
espacio
y
acceso
de
datos
en
memoria.
El ncleo o kernel realiza diferentes funciones tales como:

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.

El ncleo y los procesos


Una definicin ms especfica de lo que es el ncleo ( Kernel ) de un sistema
operativo es: un conjunto de rutinas cuya misin es la de gestionar el
procesador, la memoria, la entrada/salida y el resto de procesos disponibles en
la instalacin. Toda esta gestin la realiza para atender al funcionamiento y
peticiones de los trabajos que se ejecutan en el sistema.
El esquema general de la gestin del procesador, es el siguiente:

Definicin y concepto de proceso.

El Bloque de Control de Proceso (PCB) como imagen donde el sistema


operativo ve el estado del proceso.

Estados por los que pasa un proceso a lo largo de su existencia en la


computadora.

Operaciones que se pueden realizar sobre un proceso.

Clasificacin de los procesos segn su forma de ejecucin, de carga,


etc.

Por proceso debe entenderse: un programa en ejecucin junto con el entorno


asociado (registros, variables, etc.).

Vous aimerez peut-être aussi