Está en la página 1de 52

Tema 1.

Introducción a los SO’s

 ¿Qué es un sistema operativo?


 Evolución de los SO’s.
 Soporte hardware para los SO’s.
 Visión externa del SO.
 Estructura interna de un SO.

Tema 1. Introducción a los SO's 1


Objetivos

 Conocer las funciones de un SO y tener una visión


global de sus distintos componentes.
 Comprender los conceptos de multiprogramación
y tiempo compartido.
 Distinguir diferentes tipos de SO´s.
 Manejar el concepto de interrupción, excepción y
llamada al sistema.
 Conocer diferentes formas de estructurar un SO.

Tema 1. Introducción a los SO's 2


1 ¿ Qué es un SO ? ó ¿Qué hace?

 EL SO como máquina virtual - presenta al


usuario una máquina abstracta más fácil de
programar que el hardware subyacente: ocultando
la complejidad, y dando un tratamiento
homogéneo a diferentes objetos de bajo nivel
(p.ej. archivos, procesos, dispositivos, etc.)
 El SO como gestor de recursos - controla y
protege los recursos (procesadores, dispositivos de
E/S, memoria, etc.) entre los programas/usuarios
que compiten por ellos.
Tema 1. Introducción a los SO's 3
¿ Qué es un SO ? ó ¿Qué hace?
Componentes de un ordenador

PSW

Tema 1. Introducción a los SO's 4


¿ Qué es un SO ? ó ¿Qué hace?
El hardware

 La realidad tangible es el hardware del ordenador,


que contiene elementos de:
» Procesamiento: CPU, procesadores de E/S,
DMA
» Memoria: RAM, disco, cintas,...
» Dispositivos de E/S: teclado, ratón, pantalla,
impresora,...
» Dispositivos de comunicaciones: red ethernet,
líneas serie y paralelas,...
Tema 1. Introducción a los SO's 5
¿ Qué es un SO ? ó ¿Qué hace?
Las abstracciones

 El SO simplifica esa realidad compleja


construyendo una serie de abstracciones:
» Proceso: Una CPU dedicada a un programa.
» Memoria virtual: simula una RAM infinita.
» Archivo: memoria permanente de datos con
tipo.
» Canal: dispositivo E/S de datos con tipo.
» Shell: interfaz de usuario programable.
Tema 1. Introducción a los SO's 6
2 Evolución de los SO’s
Los comienzos

 Procesamiento en Serie.
» Cargar el programa en memoria usando Lectora de
Tarjetas.
» Establecer la dirección de inicio y Comenzar la
Ejecución.
 El sistema está limitado por la velocidad de la E/S.
» Baja utilización de la CPU.
» Tiempo de preparación alto.

Tema 1. Introducción a los SO's 7


Los Sistemas por Lotes

 Los sistemas por lotes (batch) simples fueron los


primeros SO’s reales:
» El SO estaba almacenado en memoria.
» Cargaba un único trabajo en memoria (desde el
lector de tarjetas).
» Ejecutaba el trabajo (daba su salida)
» Cargaba el siguiente trabajo.
» Las tarjetas de control en el archivo de entrada
indicaban al SO que hacer.
 Mejora: spooling -- lectura adelantada de trabajos
de cintas o tarjetas.
Tema 1. Introducción a los SO's 8
Los sistemas por lotes (y II)

Manejadores de
dispositivo
Cargador
Secuenciador de Monitor
trabajos
residente
Intérprete de tarjetas de
control
Area para el programa
de usuario  Control inicial en el Monitor
 Transferencia del control al trabajo
 Al finalizar el trabajo, el control
vuelve al monitor
Tema 1. Introducción a los SO's 9
Multiprogramación

 Aparecen los controladores e interrupciones


 mejor aprovechamiento de la CPU

 SO’s Multiprogramados:
» Permiten la ejecución concurrente de trabajos
repartiendo en el tiempo los recursos

» Mantienen en memoria principal simultáneamente


varios trabajos multiplexando la CPU entre ellos

Tema 1. Introducción a los SO's 10


Elementos necesarios para la
multiprogramación

 Las rutinas de E/S deben estar suministradas por el


sistema.
 Gestión de memoria - el sistema debe asignar
memoria entre varios trabajos.
 Planificación de la CPU - el SO debe elegir uno de
entre los varios trabajos listos para ejecutarse.
 El SO realiza la asignación de los dispositivos a
los trabajos.
Tema 1. Introducción a los SO's 11
Sistemas de tiempo compartido

 Soportan el uso “interactivo” del sistema:


» Cada usuario tiene la ilusión de disponer de la
máquina completa.
» Intenta optimizar el tiempo de respuesta.
» Basado en la asignación de fracciones de
tiempo - se divide el tiempo de CPU
equitativamente entre los procesos.
» Permite una participación activa de los usuario
en la edición, depuración, y ejecución de los
procesos.
Tema 1. Introducción a los SO's 12
SO’s de Tiempo Real

 Los SOTR se utilizan para aplicaciones espe-


cializadas, p.ej. sistemas de control, ...
 Idea básica: SO debe garantizar la respuesta a
sucesos físicos en intervalos de tiempo fijos.
 Problema: planificar las actividades con el fin de
satisfacer todos los requisitos críticos.
 El uso de aplicaciones de video sobre PC’s, todos
los SO’s tendrán pronto requisitos de tiempo-real.

Tema 1. Introducción a los SO's 13


SO’s de Red

 Los usuarios son conscientes de la existencia de


varias computadoras.
 Cada nodo ejecuta su propio SO local y tiene sus
propios usuarios.
 Lo que les diferencia de los SO de un solo
procesador es la necesidad de software especial
como:
» controlador de interfaz de la red
» programas de conexión y acceso a archivos remoto.

Tema 1. Introducción a los SO's 14


SO’s Distribuidos

 Sistemas débilmente acoplados - sistemas sin


memoria común.
 Característica fundamental: Transparencia.
 Permiten la compartición de recursos distribuidos,
hardware o software.
 Permiten algún paralelismo, pero el aumento de
velocidad no es el objetivo.
 Aumentan la fiabilidad del sistema.

Tema 1. Introducción a los SO's 15


SO’s Paralelos

 Trabajan sobre sistemas multiprocesador


fuertemente acoplados (los procesadores
comparten una única memoria y el reloj).
 Dos tipos de multiprocesamiento:
» Simétrico - cada procesador ejecuta una copia
idéntica del SO - buen rendimiento.
» Asimétrico - Un procesador maestro ejecuta el
SO, los procesadores esclavos ejecutan
procesos de usuario. Peor escalabilidad.
Tema 1. Introducción a los SO's 16
SO’s Paralelos (y II)

 Soportan aplicaciones paralelas que desean


obtener aumento de velocidad de tareas
computacionalmente complejas.
 Necesitan primitivas básicas para dividir una tarea
en múltiples actividades paralelas.
 Proporciona una comunicación y sincronización
eficiente entre esas actividades.

Tema 1. Introducción a los SO's 17


3. Soporte hardware para los SO’s

 Funcionamiento de un sistema de ordenador.


 Modo dual de operación.
 Interrupciones y excepciones.
 Protección de:
» E/S
» Memoria
» CPU

Tema 1. Introducción a los SO's 18


Funcionamiento de un sistema de
ordenador

Esquema

Controlador de Controlador de Controlador de


CPU dispositivo dispositivo dispositivo

Bus del
sistema
Controlador de Memoria

Memoria
Tema 1. Introducción a los SO's 19
Modo dual de operación
 Los SO’s multiusuario y/o multitarea necesitan:
» Evitar la interferencia entre procesos de usuario, y
entre los procesos y el SO.
» Definir como instrucciones privilegiadas aquellas
que pueden dañar potencialmente a otros procesos o
usuarios.
– P.ej. operaciones de E/S, actualizar el reloj, desactivar
interrupciones, halt, etc.
» Al menos son necesarios dos modos

Tema 1. Introducción a los SO's 20


Modo dual de operación (y II)

 Modo usuario
» Modo en el que se sólo se ejecutan las instrucciones de
usuario (no privilegiadas).
 Modo kernel (supervisor o sistema)
» Se puede ejecutar cualquier instrucción.
» El SO se ejecuta en este modo.
» Se cambia de modo (instrucción privilegiada) activando
el bit de modo del registro PSW.
» El hardware cambia a modo kernel cuando se produce
una interrupción o excepción
Tema 1. Introducción a los SO's 21
Interrupciones y excepciones

 Interrupción = evento que interrumpe el flujo normal


de ejecución producido por un elemento externo al
procesador. Es un evento asíncrono.
 Excepción = evento inesperado generado por alguna
condición que ocurre durante la ejecución de una
instrucción (p.ej. desbordamiento aritmético,
dirección inválida, instrucción privilegiada, etc.). Es
un evento síncrono.

Tema 1. Introducción a los SO's 22


Interrupciones y excepciones
Ejecución de instrucciones

 Ciclo de instrucción
Inicio

Leer siguiente
instrucción

Ejecutar la
instrucción

Fin

Tema 1. Introducción a los SO's 23


Interrupciones y excepciones
Ejecución de instrucciones de E/S

Tema 1. Introducción a los SO's 24


Interrupciones y excepciones
Ciclo de instrucción con interrupciones

 Ciclo de instrucción con interrupciones

Inicio

Leer siguiente instrucción

Fin
Ejecutar la instrucción
Interrupciones Interrupciones habilitadas
inhabilitadas
Comprobación de interrupción.
Interrupción del proceso

Tema 1. Introducción a los SO's 25


Interrupciones y excepciones
Funciones básicas

 Gestor General de Interrupciones:


» Salva el contexto del proceso en ejecución
(contenido de los registros del procesador)
» Determina el tipo de interrupción.
» Llama a la rutina de servicio de interrupción
específica.

Tema 1. Introducción a los SO's 26


Interrupciones y excepciones
Interrupciones vectorizadas

vector
Interrupción CPU
Dispositivo i Tabla de
vectores
de int.
...
Código
Memoria del SO Rutina de servicio
Principal de interrupción i
...
Código de usuario
Tema 1. Introducción a los SO's 27
Interrupciones y excepciones
Procesamiento de interrupciones

1. El controlador de dispositivo genera una interrupción.


2. El procesador termina la ejecución de la instrucción.
3. El procesador indica el reconocimiento de la interrupción al
dispositivo correspondiente.
4. El procesador apila PSW y PC en la pila de sistema.
5. Se determina la dirección de la RSI y se carga en PC.
6. SO salva resto de información de estado en la pila.
7. Ejecución de la RSI.
8. Restaurar información de estado previamente apilada.
9. Restaurar el PSW y PC previamente apilados.

Tema 1. Introducción a los SO's 28


Interrupciones y excepciones
Tratamiento de varias interrupciones

 Inhabilitar las
interrupciones
mientras se procesa
una interrupción.
 Definir prioridades
para las
interrupciones.

Tema 1. Introducción a los SO's 29


Protección por hardware
Protección de E/S

 Los dispositivos de E/S son recursos que


han de estar protegidos.
 ¿Cómo se consigue?  las instrucciones
máquina de E/S no pueden ejecutarse en
modo usuario: son privilegiadas.
 Cualquier acceso a los dispositivos desde
un programa de usuario se hará mediante
peticiones al SO.

Tema 1. Introducción a los SO's 30


Protección por hardware
Protección de Memoria

 En los SO’s multiusuario y/o multitarea, el SO


asigna una zona de memoria a cada proceso en
ejecución.
 Objetivo: evitar que un proceso de usuario
lea/escriba de/en el espacio de direcciones de otro
proceso.
 Debemos tener protección de memoria al menos
para el vector de interrupción y las rutinas de
servicio de interrupción.
Tema 1. Introducción a los SO's 31
Protección por hardware
Protección de la CPU

 Los SO’s multiprogramados-multitarea deben


evitar que un proceso se apodere de la CPU.
 Necesitamos un reloj. El contador del reloj se
decrementa en cada ‘tick’ de reloj, al llegar a cero
se genera una interrupción de reloj.
 El SO asigna fracciones de tiempo a los procesos:
la CPU se asigna a un proceso durante un tiempo
limitado o cuanto. Al expirar el plazo la
interrupción de reloj devuelve el control al SO.

Tema 1. Introducción a los SO's 32


4. Visión externa del SO
Usuarios del lenguaje de órdenes
 Obtienen los servicios del SO utilizando el lenguaje
de órdenes:
» Suele ser específico de cada SO, pero el rango y la
funcionalidad proporcionada es menos variable.
 Interprete de órdenes (shell):
» Acepta órdenes y las traduce en las llamadas al sistema
necesarias
» Por cada usuario, una vez identificado, se crea un proceso
que ejecuta el intérprete
» Dos modos de trabajo: background y foreground
Tema 1. Introducción a los SO's 33
Usuarios de las llamadas al sistema

 Es la forma en la que se comunican los programas


de usuario con el SO.
 Son solicitudes al SO de petición de servicio.
 Ejemplos de llamadas al sistema:
» Solicitudes de E/S.
» Gestión de procesos.
» Gestión de memoria.
 Se implementan a través de una trampa o
“interrupción software”.
Tema 1. Introducción a los SO's 34
Usuarios de las llamadas al sistema (y II)

 Un usuario puede hacer algo “privilegiado” (p.ej.


E/S) invocando un procedimiento del SO a través
de una llamada al sistema:
» Trampa a una posición específica del vector de
interrupciones.
» El control se pasa a la rutina de servicio del SO, y el bit
de modo se pone en modo kernel.
» El SO verifica que los parámetros son correctos y
legales, ejecuta la solicitud, y devuelve el control a la
instrucción siguiente.
Tema 1. Introducción a los SO's 35
Usuarios de las llamadas al sistema (y III)

Biblioteca

call (...) Modo


usuario
Trampa
Modo
Manejador Rutina de Kernel
de trampas servicio
del sistema

Kernel del SO
Tema 1. Introducción a los SO's 36
Usuarios de las llamadas al sistema (y IV)

 Tres métodos para pasar parámetros:


» Paso de parámetros en los registros.
» Almacenarlos en una tabla de memoria y pasar
la dirección de la tabla como parámetro en un
registro.
» El programa empuja los parámetros en la pila, y
el SO los recupera de la pila.

Tema 1. Introducción a los SO's 37


5. Estructura interna del SO

5.1 Componentes de un 5.2 Estructura de los


SO: SO:
» Gestión de procesos » Sistemas
» Gestión de memoria Monolíticos
» Gestión de archivos » Estructura de
» Gestión de Capas
almacenamiento » Modelo Cliente-
secundario
Servidor
» Gestión de E/S
» Sistema de protección.

Tema 1. Introducción a los SO's 38


5.1. Componentes de un SO
Gestión de procesos

 Proceso = una instancia de un programa en


ejecución.
 El SO es responsable de las siguientes actividades
relacionadas con los procesos:
» crear/destruir procesos,
» suspender/reanudar procesos,
» suministrar los mecanismos para sincronizar y
comunicar procesos.

Tema 1. Introducción a los SO's 39


Gestión de memoria

 La memoria principal es el almacenamiento de


acceso directo para la CPU y los disposi-tivos de
E/S. Es volátil.
 El SO es responsable de:
» asignar/liberar memoria a los programas (tanto
explícita como implícitamente)
» mantener la pista de las partes de memoria
utilizadas actualmente y quien las usa
» decidir cuanta memoria asignar a cada proceso,
y cuando debe ser retirado de memoria un
proceso.
Tema 1. Introducción a los SO's 40
Gestión de almacenamiento secundario

 El almacenamiento secundario (disco) es la


memoria persistente.
 Las rutinas del SO de bajo nivel son respon-sables
de las funciones de disco: planificación de disco,
gestión del espacio en disco, gestión de errores,
etc.
 La línea entre estas y el sistema de archivos es
muy difusa... la gestión del espacio puede
pertenecer al sistema de archivos.
Tema 1. Introducción a los SO's 41
Gestión de E/S

 El SO suministra una interfaz estándar entre


programas (usuario o sistema) y dispositivos.
 El sistema de E/S tiene una caché de búferes.
 Los manejadores de dispositivos son los módu-los
responsables de manejar cada tipo de dispositivo.
Un manejador encapsula el conocimiento
específico del dispositivo, p.ej., inicialización,
control, manejo interrupciones,
 Puede haber un proceso por cada dispositivo o
incluso por cada solicitud de E/S, dependiendo del
SO particular.
Tema 1. Introducción a los SO's 42
Gestión de archivos

 Archivo = colección de información con nom-bre;


es la entidad básica de almacenamiento
persistente.
 El sistema de archivos suministra las siguientes
operaciones sobre archivos:
» crear/borrar archivos y directorios,
» primitivas para manipular archivos y
directorios: leer, escribir, renombrar, ...
» obtener información sobre las características
del archivo.
 También, suministra servicios generales: backup,
contabilidad y cuotas, etc.
Tema 1. Introducción a los SO's 43
Sistema de protección

 La protección hace referencia al mecanismo para


controlar los accesos por programas, procesos o
usuarios, al sistema o a los recursos de usuario.
 El mecanismo de protección debe:
» distinguir entre uso autorizado o no,
» especificar el control que se debe imponer,
» suministrar los medios para su aplicación.
 La protección es un mecanismo general en todo el
SO.

Tema 1. Introducción a los SO's 44


5.2. Estructura de los SO´s
Sistemas Monolíticos

 No tienen estructura bien definida


 El SO está formado por un conjunto de
procedimientos de forma que cada uno
puede llamar a los demás cuando lo
necesite.
 Todos se ejecutan en modo supervisor.
 No se aplica el principio de ocultación de
información.
Tema 1. Introducción a los SO's 45
Modelo simple de estructura de un SO
monolítico

Procedimiento Principal

Procedimientos de Servicio

Procedimientos auxiliares

Tema 1. Introducción a los SO's 46


Problemas de los S. monolíticos

 Son difíciles de comprender y de modificar.


 No fiables: un error en alguna parte puede
provocar la caída del sistema.
 Difíciles de mantener.
 Desde el principio, los diseñadores han
buscado formas de organizar el SO para
simplificar su diseño y construcción.

Tema 1. Introducción a los SO's 47


La Estructura de Capas

 El sistema se imple-
menta como un con- Nuevas Operaciones
junto de capas; cada operaciones existentes
capa es una máqui-na
más abstracta pa-ra la
capa superior. Capa M
Opers.
 Por modularidad, las ocultas
capas se selec-cionan
para que cada una Capa M-1
utilice funciones sólo
de las capas inferiores.
Tema 1. Introducción a los SO's 48
Ejemplo: El Sistema THE

5: Programas de
 El sistema estaba
compuesto de una
Usuario serie de procesos
4: Búfering para secuenciales.
dispositivos de E/S  Los procesos se sin-
3: Manejador de cronizan con decla-
consola del operador raciones explícitas de
2: Gestión de sincronización.
memoria  Se puede probar y
1: Planificación de verificar de forma
la CPU independiente cada
Nivel 0: Hardware proceso.
Tema 1. Introducción a los SO's 49
Problemas de THE

 Los sistemas de capas deben ser jerárquicos pero


los sists. reales son más complejos, p. ej.,
» El sistema de archivos podría ser un proceso en la capa
de memoria virtual.
» La capa de memoria virtual podría usar archivos como
almacén de apoyo de E/S.
 Sobrecarga de comunicaciones entre procesos de
distintas capas.
 A menudo, los sists. están modelados con esta
estructura pero no están así construidos.
Tema 1. Introducción a los SO's 50
Modelo Cliente-Servidor

 Reducir el SO a un núcleo mínimo: implementar


la mayoría de las funciones del SO como procesos
de usuario.
 Para solicitar un servicio, el proceso de usuario
(cliente) envía un mensaje al proceso servidor, que
realiza el servicio y devuelve al cliente una
respuesta.

Tema 1. Introducción a los SO's 51


Modelo cliente-Servidor

Proceso
Proceso servidor
cliente archivos Modo
usuario
Solicitud servicio
Modo
Núcleo
Respuesta servicio
supervisor

Tema 1. Introducción a los SO's 52

También podría gustarte