Documente Academic
Documente Profesional
Documente Cultură
Unidad
Introduccin
Mapa conceptual:
1. Conceptos de Sistemas Operativos
2. Evolucin de los Sistemas Operativos
3. Estructura de los Sistemas Operativos
4. Tendencias
5. Hardware
6. Software
Optimizar todos los recursos del sistema para soportar los requerimientos.
A los efectos de situar a los S. O. en el conjunto del software para computadoras, podemos clasificar a
este de la siguiente manera:
Programas de sistema:
Programas de aplicacin:
1
Fundamentos de Sistemas Operativos
En este contexto, el Sistema Operativo es el programa fundamental de todos los programas de sistema.
El S. O. protege y libera a los programadores de la complejidad del hardware, colocndose un nivel de
software por sobre el hardware para:
Programas de sistema:
Hardware:
Lenguaje de mquina.
Microprogramacin.
Dispositivos fsicos.
Generalmente posee entre 50 y 300 instrucciones, sirviendo la mayora para desplazar datos,
hacer operaciones aritmticas y comparar valores.
Los dispositivos de E/S (entrada / salida) se controlan al cargar valores en registros del
dispositivo especiales.
Una de las principales funciones del S. O. es ocultar toda esta complejidad y brindar al programador
un conjunto ms conveniente de instrucciones para trabajar.
El S. O. se ejecuta en modo central o modo de supervisin, con mxima prioridad y generalmente con
proteccin por hardware.
2
Fundamentos de Sistemas Operativos
Los S. O. ponen el poder computacional bsico del hardware convenientemente a disposicin del
usuario, pero consumen parte de ese poder computacional para funcionar [Deitel].
Los S. O. son, en primer lugar, administradores de recursos, siendo el recurso primario el hardware
del sistema (ver Figura 1.1).
Fig. 1.1
Las principales caractersticas de los S. O. son:
3
Fundamentos de Sistemas Operativos
Procesadores.
Almacenamiento.
Dispositivos de E/S.
Datos.
Operadores.
Programadores de aplicaciones.
Programadores de sistemas (administradores del S. O.).
Programas.
Hardware.
Usuarios.
El S. O. debe presentar al usuario el equivalente de una mquina extendida o mquina virtual que
sea ms fcil de programar que el hardware subyacente.
Los S. O. han estado relacionados histricamente con la arquitectura de las computadoras en las cuales
se ejecutan, razn por la cual su historia puede analizarse segn las siguientes generaciones y sus
principales caractersticas (7, Deitel):
Carencia total de S. O.
Completo acceso al lenguaje de mquina.
Carencia de S. O.
En los aos cincuenta comienzan como transicin entre trabajos, haciendo la misma
ms simple.
4
Fundamentos de Sistemas Operativos
5
Fundamentos de Sistemas Operativos
La interfaz entre el S. O. y los programas del usuario se define como el conjunto de instrucciones
ampliadas (Tanenbaum) que proporciona el S. O. y son las llamadas al sistema:
Procesos:
Archivos:
6
Fundamentos de Sistemas Operativos
Los directorios se estructuran jerrquicamente, por lo que a cada archivo le corresponde una
ruta de acceso.
Existen distintos esquemas de seguridad de archivos en los distintos S. O.
Llamadas al sistema:
Pone los parmetros de la llamada en un lugar especfico para luego ejecutar una
instruccin tipo trap de llamada a procedimiento protegido para iniciar el S. O.
Luego de trap el S. O. recupera el control, examina los parmetros y si son vlidos
ejecuta el trabajo solicitado.
Luego de terminar, el S. O. coloca un cdigo de estado en un registro indicando si
tuvo xito o fracaso y ejecuta una instruccin del tipo return from trap para
regresar el control al procedimiento.
El procedimiento regresa al programa llamador con un cdigo de estado como un
valor de funcin; dentro de los parmetros pueden regresar valores adicionales.
Sistemas monolticos:
Fig. 3.1
Cada procedimiento tiene una interfaz bien definida en trminos de parmetros y resultados.
7
Fundamentos de Sistemas Operativos
Fig. 3.2
Para ejecutar los servicios del S. O. (llamadas al sistema): (ver Figura 3.2).
o Se solicitan colocando los parmetros en lugares bien definidos (registros o pilas).
o Se ejecuta una instruccin especial de trampa: llamada al ncleo o llamada al
supervisor.
o La instruccin cambia la mquina del modo usuario al modo ncleo (o modo
supervisor). [Tanenbaum]
o Se transfiere el control al S. O.
o El S. O. examina los parmetros de la llamada para determinar cul de ellas se desea
realizar.
o El S. O. analiza una tabla que contiene en la entrada k un apuntador al procedimiento
que realiza la k-sima llamada al sistema:
Identifica al procedimiento de servicio llamado.
o La llamada al sistema termina y el control regresa al programa del usuario.
5 - Operador
4 - Programas del Usuario
3 - Control de Entrada - Salida
2 - Comunicaciones Operador -
Proceso
1 - Administracin de la Memoria y
8
Fundamentos de Sistemas Operativos
del Disco
0 - Asignacin del Procesador y
Multiprogramacin
Tabla 3.1: Estructura del S.O. en
capas "THE".
El primer sistema con este esquema fue el THE (Dijkstra ): (ver Tabla 3.1).
Capa 0:
o Trabaja con la asignacin del procesador.
o Alterna entre los procesos cuando ocurren las interrupciones o expiran los cronmetros.
o Proporciona la multiprogramacin bsica.
Capa 1:
o Administra la memoria.
o Asegura que las pginas (porciones de memoria) requeridas de los procesos lleguen a
memoria cuando fueran necesarias.
Capa 2:
o Administra la comunicacin entre cada proceso y la consola del operador.
o Por sobre esta capa, cada proceso tiene su propia consola de operador.
Capa 3:
o Controla los dispositivos de e / s y almacena en buffers los flujos de informacin entre
ellos.
o Por sobre la capa 3 cada proceso puede trabajar con dispositivos abstractos de e / s en
vez de con dispositivos reales.
Capa 4:
o Aloja los programas del usuario.
o Los programas. del usuario no tienen que preocuparse por el proceso, memoria, consola
o control de e / s.
Capa 5:
o Localiza el proceso operador del sistema.
Una generalizacin mas avanzada del concepto de capas se presento con Multics (MIT, Bell Labs y
General Electric):
Mquinas virtuales:
Se separan totalmente las funciones de multiprogramacin y de mquina extendida.
9
Fundamentos de Sistemas Operativos
Se ejecuta en el hardware.
Realiza la multiprogramacin.
Proporciona varias mquinas virtuales a la capa superior.
Las mquinas virtuales instrumentan copias exactas del hardware simple, con su modo ncleo /
usuario, e / s, interrupciones y todo lo dems que posee una mquina real.
Fig. 3.3
Para solicitar un servicio (por ej.: lectura de un bloque de cierto archivo) segn el modelo cliente -
servidor: (ver Figura 3.4).
10
Fundamentos de Sistemas Operativos
Fig. 3.4
Servicio a archivos, a procesos, a terminales, a memoria, etc., cada parte pequea y ms fcilmente
controlable.
Los servidores se ejecutan como procesos en modo usuario:
Fig. 3.5
11
Fundamentos de Sistemas Operativos
Algunas funciones del S. O., por ej. el cargado de comandos en los registros fsicos del dispositivo de e
/ s, presentan problemas especiales y distintas soluciones:
Ejecucin en modo ncleo, con acceso total al hardware y comunicacin con los dems
procesos mediante el mecanismo normal de mensajes.
Construccin de un mnimo de mecanismos dentro del ncleo manteniendo las decisiones de
poltica relativas a los usuarios dentro del espacio del usuario.
4 Tendencias
Continuacin del esquema de familias de S. O. para familias de computadoras, viendo las aplicaciones
mquinas virtuales.
Proliferacin de redes de sistemas, distribuyendo tareas en equipos sobre los que el usuario puede no
tener conocimiento ni control con nfasis en la importancia de la perspectiva de las mquinas virtuales.
Permanencia de la perspectiva del S. O. como administrador de recursos, teniendo presente que los
datos sern considerados cada vez ms como un recurso para ser administrado.
Profundizacin del desarrollo de S. O. con funciones distribuidas entre varios procesadores a travs de
grandes redes de sistemas [Tanenbaum].
5 Hardware
Los principales aspectos del hardware, de importancia para los S. O., son los siguientes [Deitel]:
12
Fundamentos de Sistemas Operativos
Registro de relocalizacin:
Interrupciones y escrutinio:
Interrupciones: permiten a una unidad obtener la inmediata atencin de otra, de manera que la
primera pueda informar de un cambio de estado:
o Permite salvar el estado de la unidad interrumpida antes de procesar la interrupcin.
Escrutinio: tcnica que permite que una unidad verifique el estado de otra unidad de
funcionamiento independiente.
Dispositivos perifricos:
13
Fundamentos de Sistemas Operativos
Temporizadores y relojes:
Robo de ciclo:
14
Fundamentos de Sistemas Operativos
Almacenamiento virtual:
Los sistemas de almacenamiento virtual permiten a los programas referenciar direcciones que
no necesitan corresponder con las direcciones reales disponibles en el almacenamiento
primario.
Las direcciones virtuales desarrolladas por los programas en ejecucin son traducidas
dinmicamente por el hardware a las direcciones reales de instrucciones y datos del
almacenamiento principal.
Los programas pueden referenciar espacios de direcciones mucho mayores que los espacios de
direcciones disponibles en el almacenamiento primario.
Se utilizan tcnicas de:
o Paginacin: bloques de datos de tamao fijo van o vienen entre el almacenamiento
primario y el secundario.
o Segmentacin: identifica las unidades lgicas de los programas y datos para facilitar
el control de acceso y participacin.
Multiprocesamiento:
15
Fundamentos de Sistemas Operativos
Requiere una sola interrupcin al procesador por cada bloque de caracteres transferidos durante
la operacin de e / s, lo cual mejora significativamente la performance (rendimiento).
Es como si el procesador, en vez de interrumpido fuera retrasado.
Resulta muy til para altos requerimientos de e / s.
Canal DMA: es el hardware responsable del robo de ciclos y de la operacin de los
dispositivos de e / s.
Canalizacin:
Jerarqua de almacenamiento:
6 Software
Consiste en los programas de instrucciones y datos que definen para el hardware los algoritmos
necesarios para la resolucin de problemas. Los aspectos ms destacados en relacin con los S. O. son
los siguientes [Deitel]:
Ensambladores y macroprocesadores:
Los lenguajes ensambladores se desarrollaron para:
16
Fundamentos de Sistemas Operativos
Los programas deben ser traducidos al lenguaje de mquina mediante un programa ensamblador:
Los macroprocesadores:
Compiladores:
O. hacia el procedimiento: son de propsito general y aptos para resolver gran variedad de
problemas:
17
Fundamentos de Sistemas Operativos
C. rpidos y sucios: producen rpidamente un programa objeto que puede ser ineficiente
respecto de almacenamiento y velocidad de ejecucin:
o Utiles para el desarrollo y prueba de sistemas.
C. optimizadores: producen con mayor lentitud un cdigo de mquina alta-mente eficiente en
almacenamiento y ejecucin:
o Utiles en etapa de produccin de los sistemas.
Interpretadores:
El programa en lenguaje de mquina producido por un traductor debe ser combinado con otros
programas en lenguaje de mquina para formar una unidad ejecutable.
La combinacin de programas es realizada por cargadores de enlace y editores de
enlace antes del tiempo de ejecucin del programa.
Cargador de enlace: en el momento de carga, combina cualesquiera programas requeridos y
los carga directamente en el almacenamiento primario.
Editor de enlace: ejecuta la combinacin de programas mencionada y adems crea una
imagen de carga a memoria que preserva en el almacenamiento secundario (disco), para usos
futuros:
18
Fundamentos de Sistemas Operativos
Ejercicios:
19