Está en la página 1de 18

CLASE 5:

UNIDAD 1 INTRODUCCION A LOS


SISTEMAS OPERATIVOS.
OBJETIVO: Aplicar y describir correctamente los elementos básicos de un
sistema operativo y sus funciones de instalación y configuración de
Software, diagnosticando con responsabilidad problemas básicos de
funcionamiento de un sistema computacional.

Competencia a Desarrollar:

Identificar los componentes de los sistemas operativos,


así como el objetivo, la función y las características de
diferentes sistemas operativos.

1.5 Tema: Estructura: niveles o estratos de diseño


Internamente los sistemas operativos
estructuralmente se clasifican según como se
hayan organizado internamente en su diseño, por
esto la clasificación más común de los S.O. son:

A- 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.
CARACTERÍSTICAS
Construcción de programa final a base de
módulos compilados separadamente que se une a
través del editor de enlaces.

 Buena definición de parámetros de enlace


entre las rutinas existentes.
 Carecen de protección y privilegios al entrar y
manejan diferentes aspectos de la computadora.
 Generalmente están hechos a la medida.
 Por ejemplo, los cajeros automáticos donde
sólo tienen que cumplir una determinada
función siguiendo una serie de procesos ya
determinados.

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

B- 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)

CARACTERÍSTICAS.

 Las zonas más intensas o núcleo están más


protegidas de posibles accesos indeseados
desde las capas más externas.
 Tienes un contacto más próximo con el
hardware.
 Núcleo mínimo, más seguro y ágil.

En esta estructura se basan prácticamente


la mayoría de los Sistemas Operativos
actuales. Otra forma de ver este tipo de
sistema es la denominación de anillos
concéntricos o “RINGS”
 
EJEMPLOS

Multics y Unix

El sistema tenía 6 estratos, estos se muestran en


la siguiente imagen:
El estrato 0 trabajaba con la distribución del
procesador, cambiando entre procesos cuando
ocurrían interrupciones o los relojes expiraban.
Sobre el estrato 0, el sistema constaba de
procesos secuenciales, cada uno de los cuales
podía programarse sin tener que preocuparse por
el hecho de que múltiples procesos estuvieran
corriendo en un solo procesador.

En otras palabras, el estarto 0 ofrecía la


multiprogramación básica de la CPU.

El estrato 1 realizaba el manejo de memoria. Este


distribuía espacio para procesos contenidos en la
memoria central y en un tambor de 512K palabras
que se usaba para contener partes de procesos
(páginas) para las cuales no había espacio en la
memoria central. Sobre el estrato 1, los procesos
no tenía que preocuparse de si estaban en la
memoria o en el tambor; el software del estrato 1
se hacía cargo de asegurar que las páginas se
trajeran a la memoria siempre que se necesitaran.

El estrato 2 manejaba la comunicación entre cada


proceso y la consola de operador.

El estrato 3 se hacía cargo de manejar los


dispositivos de E/S y de separar la información en
flujo que entraba y salí de ellos. Sobre el estrato 3
cada proceso podía 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 tenían que
preocuparse por el manejo de los procesos,
memoria, consola o E/S. El proceso operador del
sistema se localizaba en el estrato 5

C- Estructura por microkernel


Las funciones centrales de un SO son controladas
por el núcleo (kernel) mientras que la interfaz del
uso
uario es controlada por el entorno (Shell). Por
ejemplo, la parte más 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 código máquina de bajo nivel para manejar la
administración de hardware para otros programas
que necesitan estos servicios, y para la segunda
parte del COMMAND.COM el Shell, el cual es el
intérprete de comandos

Las funciones de bajo nivel del SO y las funciones


de interpretación de comandos están 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 línea
de comandos con una interfaz gráfica 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
versión 5.0 incluyó un Shell llamado DOS SHELL.

Estructura cliente – servidor

Una tendencia de los sistemas operativos


modernos es la de explotar la idea de mover el
código a capas superiores y eliminar la mayor
parte posible del sistema operativo para mantener
un núcleo mínimo. El punto de vista

usual es el de implantar la mayoría 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) envía 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 núcleo es controlar la
comunicación 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 pequeña y controlable. Además, como
todos los servidores se ejecutan como procesos
en modo usuario y no en modo núcleo, 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 máquina.

Otra de las ventajas del modelo cliente-servidor es


su capacidad de adaptación para su uso en los
sistemas distribuidos

Si un cliente se comunica con un servidor


mediante mensajes, el cliente no necesita saber si
el mensaje se maneja en forma local, en su
máquina, o si se envía por medio de una red a un
servidor en una máquina remota. En lo que
respecta al cliente, lo mismo ocurre en ambos
casos: se envió una solicitud y se recibió una
respuesta

CARACTERÍSTICAS

 Coordina, permite el trabajo entre iguales.


Cliente; inicia las solicitudes o peticiones
(maestro)
 Espera y recibe respuesta del servidor Se
puede conectar a varios servidores a la vez .
 Servidor:
 Esclavo, espera las solicitudes del cliente
 Aceptan conexiones desde un gran número
de clientes.

EJEMPLOS

 Sistema operativo Novell NetWare 1983,


plataforma más fiable para ofrecer acceso
seguro.
 Windows 2000
 Cualquiera de este puede compartir sus
recursos con otro Windows 2000
 Windows xp

D- Máquina Virtual
Se trata de un tipo de sistemas operativos que
presentan una interface a cada proceso,
mostrando una máquina que parece idéntica a la
máquina real subyacente. Estos sistemas
operativos separan dos conceptos que suelen
estar unidos en el resto de sistemas: la
multiprogramación y la máquina extendida. El
objetivo de los sistemas operativos de máquina
virtual es el de integrar distintos sistemas
operativos dando la sensación de ser varias
máquinas diferentes.
El núcleo de estos sistemas operativos se
denomina monitor virtual y tiene como misión
llevar a cabo la multiprogramación, presentando a
los niveles superiores tantas máquinas virtuales
como se soliciten. Estas máquinas virtuales no
son máquinas extendidas, sino una réplica de la
máquina real, de manera que en cada una de
ellas se pueda ejecutar un sistema operativo
diferente, que será el que ofrezca la máquina
extendida al usuario

CARACTERÍSTICAS

 Se puede hacer varios sistemas operativos


sin necesidad de crear particiones.
 Se puede simular el hardware Gran
capacidad de disco duro-memoria RAM
 Protección cada máquina virtual está aislada
de las otras y no puede inferir.

EJEMPLOS

  Nachos: sistema operativo se ejecuta en una


virtual mips, cuyo emulador corre sobre
Linux.
 IBM IV: ofrecía a cada usuario su propia
máquina virtual no multiprogramado.
CLASE 6:
UNIDAD 1 INTRODUCCION A LOS
SISTEMAS OPERATIVOS.
OBJETIVO: Aplicar y describir correctamente los
elementos básicos de un sistema operativo y sus
funciones de instalación y configuración de Software,
diagnosticando con responsabilidad problemas básicos
de funcionamiento de un sistema computacional.

Competencia a Desarrollar:

Identificar los componentes de los sistemas


operativos, así como el objetivo, la función y
las características de diferentes sistemas
operativos.

1.6 Tema: Núcleo


Todas las operaciones en las que participan
procesos son controladas por la parte del
sistema operativo denominada núcleo
(nucleus, core o kernel, en inglés). El núcleo
normalmente representa sólo una pequeña
parte de lo que por lo general se piensa que
es todo el sistema operativo, pero es tal vez
el código que más se utiliza. Por esta razón,
el núcleo reside por lo regular en la memoria
principal, mientras que otras partes del
sistema operativo son cargadas en la
memoria principal sólo cuando se necesitan.
Los núcleos se diseñan para realizar "el
mínimo" posible de procesamiento en cada
interrupción y dejar que el resto lo realice el
proceso apropiado del sistema, que puede
operar mientras el núcleo se habilita para
atender otras interrupciones.
El Kernel consiste en la parte principal del
código del sistema operativo, el cual se
encargan de controlar y administrar los
servicios y peticiones de recursos y de
hardware con respecto a uno o varios
procesos, en otras palabras, el kernel es el
corazón del sistema operativo.
Cada sistema operativo tiene un tipo distinto de
kernel: así los Unix más tradicionales como
FreeBSD usan un kernel " monolítico" en el que
está todo compilado dentro, otros usan los
llamados "microkernels" como el Darwin, Hurd e
incluso Windows (krnl32.dll). GNU/Linux usa un
kernel "modular" (vmlinuz); un núcleo bastante
grande comparado con un microkernel, pero que
es capaz de delegar funciones en los llamados "
módulos" , partes independientes del núcleo que
pueden ser incorporadas dinámicamente si hacen
falta y luego descargadas si molestan. Así se
pueden cargar "drivers" para hardware, firewall o
funciones especiales de red (ppp, rdsi, etc)
cuando se necesiten y cuando, por ejemplo, se
cierre la conexión a internet, liberar la memoria
que usaba ese modulo.

El núcleo de un sistema operativo normalmente


contiene el código necesario para realizar las
siguientes funciones:
 Manejo de interrupciones.
 Creación y destrucción de procesos.
 Cambio de estado de los procesos.
 Despacho.
 Suspensión y reanudación de procesos.
 Sincronización de procesos.
 Comunicación entre procesos.
 Manipulación de los bloques de control de
procesos.
 Apoyo para las actividades de entrada/salida.
 Apoyo para asignación y liberación 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.
 Núcleo o Kernel y niveles de un Sistema
Operativo.

El Kernel consiste en la parte principal del código


del sistema operativo, el cual se encargan de
controlar y administrar los servicios y peticiones
de recursos y de hardware con respecto a uno o
varios procesos, este se divide en 5 capas:
 Nivel 1. Gestión de Memoria: que
proporciona las facilidades de bajo nivel para
la gestión de memoria secundaria necesaria
para la ejecución 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 procesos.
 Nivel 4. Información o Aplicación o Interprete
de Lenguajes: Facilita la comunicación con
los lenguajes y el sistema operativo para
aceptar las ordenes en cada una de las
aplicaciones. Cuando se solicitan 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 manipulación de archivos con
nombre, va asignando espacio y acceso de
datos en memoria.

También podría gustarte