Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lección 1:
INTRODUCCIÓN A LOS SISTEMAS
OPERATIVOS
• Introducción
Jesús yCarretero
conceptosPérez
básicos
Alejandro Calderón Mateos
José Daniel García Sánchez
Francisco Javier García Blas
José Manuel Pérez Lobato
María Gregoria Casares Andrés
Sistemas
Opera,vos
1
ADVERTENCIA
Sistemas
Opera,vos
2
Objetivos
Sistemas
Opera,vos
3
Contenido
Sistemas
Opera,vos
4
¿Por qué hay que saber de SS.OO.?
Sistemas
Opera,vos
5
Para
comprender
el
funcionamiento
del
sistema
• ¿Qué SO aprovecha mejor las capacidades de mi sistema?
• ¿El SO soporta todos los dispositivos que pretendo conectar al
computador? Si no lo hace, ¿qué se puede hacer?
• ¿Es lo suficientemente seguro para el entorno en el que ha de
integrarse?
• ¿Mi/s aplicación/es correrá/n “suavemente” sobre el SO
elegido? ¿Cómo se adaptará a mi carga de trabajo concreta?
Sistemas
Opera,vos
6
Para
poder
elegir
adecuadamente
Hay que
proteger la
inversión
Sistemas
Opera,vos
7
Para
desarrollar
so4ware
con
buenas
prestaciones
• Cuando se desarrolla software se debe recurrir a los
servicios del SO para realizar muchas tareas.
– ¿Qué servicios ofrece mi SO y cómo puedo invocarlos?
Sistemas
Opera,vos
8
Un ingeniero debe ser
AGNÓSTICO EN
SISTEMAS OPERATIVOS
Sistemas
Opera,vos
9
Contenido
Sistemas
Opera,vos
10
Estructura del computador
• Monoprocesador
• Multiprocesador: MIMD: M. Distribuida vs. (UMA y NUMA)
Sistemas
Opera,vos
11
Arquitectura del computador
• Modelo de programación
• Juego de instrucciones (Usuario y Núcleo –ó K ó S--)
31 16 15 87 0
D0
D1 Registro de estado
D2
D3 Registros de datos Modo Traza T 15
D4
D5 14
D6 Sistema/Usuario S 13
D7 12 Octeto de
11 Sistema
A0 Máscara I2 10
A1 de I1 9
A2 Interrupciones I0 8
A3
A4 Registros de dirección 7
A5 6
A6 5
A7 Puntero de pila de usuario Extensión X 4 Octeto de
A7' Puntero de pila de sistema Negativo N 3 Usuario
Cero Z 2
PC Contador de programa Desbordamiento V 1
Acarreo C 0
0
Mapa de 0
Mapa de Juego de Instrucciones
memoria
16
2 -1
E/S
32
2 -1
Sistemas
Opera,vos
12
Arquitectura del computador
Niveles de ejecución
Registro de estado
D0 D0
D1 D1 T 15
D2 D2
D3 D3 14
Octeto de
S 13
Sistema
D4 D4
D5 D5 12
D6 D6 11
D7 D7 I2 10
Registro de estado I1 9
A0 A0 I0 8
A1 7 A1 7
A2 A2
A3 6 A3 6
Octeto de
Octeto de
5 5
Usuario
Usuario
A4 A4
A5 X 4 A5 X 4
A6 N 3 A6 N 3
A7 Z 2 A7 Z 2
V 1 A7' V 1
C 0 C 0
PC PC
0
0
0
31
2 -1
216-1
32
2 -1 Mapa de
Mapa de Juego de Mapa de E/S Juego de
memoria Instrucciones memoria Instrucciones
Sistemas
Opera,vos
13
Interrupciones
S.O.
Agente que Tabla
interrumpe Interr.
Rutina Tratamiento
Solicitud de Vector de la Interrupción
Interrupción
Unidad de
control Memoria
Sistemas
Opera,vos
14
Jerarquía de Memoria
Nivel 0 Reg.
Memoria principal
(RAM + ROM)
Memoria
Procesador Secundaria
Dirección física
Dirección
virtual Fallo página (Intercambio)
MMU
Sistemas
Opera,vos
16
Memoria Virtual
§ La MMU realiza la traducción de PV a MP
n bits Dirección en el nivel k+1
Traductor
Traductor
m-1 p p-1 0
Palabra en Dirección Y
Página Direcc. págiona la Página real
División de la dirección Traducción de la dirección
Sistemas
Opera,vos
17
Entrada/Salida (E/S): periféricos
Procesador
CONTROLADOR
Módulo de E/S
Sistemas
Opera,vos
18
Contenido
Sistemas
Opera,vos
19
¿Qué es un sistema operativo?
• Objetivos:
– Ejecutar programas.
– Hacer un uso eficiente de los recursos.
– Proporcionar visión de máquina virtual extendida.
Sistemas
Opera,vos
20
Funciones del sistema operativo
• Gestor de recursos (UCP, memoria, ...)
– Asignación y recuperación de recursos
– Protección de los usuarios
– Contabilidad/monitorización
– Soporte de usuario
• Máquina extendida (servicios)
– Ejecución de programas (procesos)
– Órdenes de E/S
– Operaciones sobre archivos
– Detección y tratamiento de errores
• Interfaz de usuario
– Shell
Sistemas
Opera,vos
21
Niveles del sistema operativo
Núcleo o Kernel
Hardware
Sistemas
Opera,vos
22
Estructura conceptual
• Modos de ejecución:
– Modo usuario: Ejecución de procesos de usuario.
– Modo supervisor o núcleo: Ejecución del núcleo del SO.
• Los procesos y el SO utilizan espacios de memoria
separados.
• Cuando un proceso necesita un servicio lo solicita al
SO mediante una llamada al sistema.
– El sistema operativo entra en ejecución para realizar la
función solicitada.
Sistemas
Opera,vos
23
Componentes
del
Sistema
OperaAvo
Usuarios
Hardware
Componentes de un SO
Sistemas
Opera,vos
24
Gestor
de
procesos
Sistemas
Opera,vos
25
Gestor
de
memoria
Sistemas
Opera,vos
28
Servidor
de
protección
y
seguridad
Sistemas
Opera,vos
29
Servidor
de
comunicaciones
Monolíticos
Sistemas
Por capas
Operativos
Estructurados
Cliente/
servidor
Sistemas
Opera,vos
31
Sistemas Operativos Monolíticos
• No hay una estructura clara y bien definida.
• Todo el código del SO está enlazado como un único
ejecutable (un solo espacio de direcciones) que se ejecuta en
modo “núcleo”.
• El código presenta cierta organización pero internamente no
existe ocultación de información entre los distintos módulos,
pudiéndose llamar unos a otros sin restricciones
• Aunque es más eficiente en su funcionamiento, su desarrollo y
mantenimiento es muy complejo.
• Ejemplos:
– Todos los SO hasta los 80, incluido UNIX
– MS-DOS y variantes actuales de UNIX: Solaris, Linux, AIX, HP-UX,...
Sistemas
Opera,vos
32
Sistemas
OperaAvos
estructurados
por
capas
• El sistema se organiza como un conjunto de capas superpuestas, cada una
con una interfaz clara y bien definida
• Cada capa se apoya en los servicios de la inmediatamente inferior para
realizar sus funciones
• Las ventajas son la modularidad y la ocultación de la información, que
facilita mucho el desarrollo y la depuración de cada capa por separado.
• Esta estructura, sin embargo, no resulta tan eficiente porque una
determinada operación en la capa superior implica realizar múltiples
llamadas desde el nivel superior hasta el inferior.
• Dificultad a la hora de distribuir las distintas funciones del SO entre las
distintas capas
• Ejemplos:
– THE
– OS/2
Sistemas
Opera,vos
33
Sistemas
OperaAvos
estructurados
por
capas
Capa 0: Hardware
Sistemas
Opera,vos
35
Sistemas
OperaAvo
estructurados:
cliente/servidor
Procesos Procesos
clientes Servidores
Micronúcleo
Hardware
Sistemas
Opera,vos
36
Clasificación de Sistemas
Operativos
• Número de procesos simultáneos:
– Monotarea. • Número de procesadores:
– Multitarea. – Monoprocesador.
• Modo de interacción: – Multiprocesador.
– Interactivo. • Número de hilos (threads):
– Por lotes (batch). – Monothread.
• Número de usuarios simultáneos: – Multithread.
– Monousuario. • Tipo de uso:
– Multiusuario. – Cliente.
– Servidor.
– Empotrado.
– Tiempo real.
Sistemas
Opera,vos
37
LINUX. Arquitectura
Usuario
Kernel
Sistemas
Opera,vos
38
Windows NT. Arquitectura
Replicator Win32
Session Mgr Alerter POSIX
WinLogon Event Log OS/2
Ntdll.dll
Usuario
Kernel
System Service Dispatcher
Sistema Monitor Procesos/ Servicios Memoria Win32
E/S Seguridad Threads de objetos Mgmt GDI
Sistemas Gestión de Objectos
ficheros Exec.
Drivers Kernel
RTL
Hardware Abstraction Layer (HAL)
Sistemas
Opera,vos
39
Contenido
Sistemas
Opera,vos
40
Arranque del sistema operativo
Sistemas
Opera,vos
41
Fases en el arranque
Sistemas
Opera,vos
42
Iniciador ROM
Sistemas
Opera,vos
43
Cargador del sistema operativo
Programa cargador
(identificador) Disco
Sistema Operativo
Sistemas
Opera,vos
44
Parte residente del SO
Sistemas
Opera,vos
45
Ejemplo: Procesos iniciales en Linux
• Proceso init.
– Proceso inicial ancestro de los demás procesos.
• Procesos de login.
– Uno por terminal.
• Procesos demonio
– Ejemplo httpd.
• Tras la autenticación el proceso de login se
transforma en proceso shell.
Sistemas
Opera,vos
46
Activación del SO
§ El SO se activa (*) por
• Llamadas (“al Sistema”) realizadas por los
programas
• Interrupciones
• Excepciones
Avanza la ejecución
Proceso A
Salva el estado del proceso A
Sistema Realiza la función pedida
operativo
Planificador
Activador
Proceso B
Sistemas
Opera,vos
47
Activación del SO
§ El SO se activa por
• Llamadas realizadas por los programas
• Interrupciones producidas por los periféricos
• Condiciones de excepción o error del hardware
• Forma de pedir
• Por llamada → problema de seguridad
• Por interrupción o trap
• Rutina de biblioteca:
Instrucciones de máquina que preparan la
llamada al SO
Sistemas
Opera,vos
48
Llamadas
al
sistema
Sistemas
Opera,vos
49
Paso
de
llamadas
al
sistema
Programa de Programa de
… Ejecutan en
usuario 1 usuario n modo NO
Llamada privilegiado
al sistema
Control vuelve
Tabla a programa de
de RTI usuario 1
Rutina de
servicio Ejecutan en
modo
trap
privilegiado
Determinar
servicio
pedido
Sistemas
Opera,vos
50
Programas
de
sistema
Sistemas
Opera,vos
51
Parada del computador
Sistemas
Opera,vos
52
Generación del sistema operativo
SO SO
Generación
Genérico Específico
Sistemas
Opera,vos
53
Parámetros de generación
• Modelo de CPU.
• Opciones de CPU instaladas.
• Número de CPUs.
• Cantidad de memoria disponible.
• Dispositivos instalados.
• Opciones del sistema operativo.
Sistemas
Opera,vos
54
Alternativas de generación
• Modificación del código fuente y compilación del sistema
operativo.
– Ejecutable totalmente adaptado.
– Generación más lenta y arranque más rápido.
• Creación de tablas y selección de módulos de biblioteca
precompilada.
– El sistema operativo tiene controladores para todos los
dispositivos.
– Solamente se montan los necesarios.
– Generación más rápida y arranque más lento.
• Sistema totalmente controlado por tablas.
– Selección en tiempo de ejecución.
– Arranque más lento.
Sistemas
Opera,vos
55
Contenido
Sistemas
Opera,vos
56
Evolución:
máquina
desnuda
(1950)
• Estructura
– Grandes
máquinas
manejadas
por
consola
– Sistemas
monousuario
y
monoprogramados
– Programador,
usuario,
operador
– Cinta
de
papel
o
tarjetas
perforadas
• So4ware
– Ensambladores,
compiladores,
enlazadores
y
cargadores
– Bibliotecas
de
subruAnas
comunes
– Manejadores
de
disposiAvo
• Rendimiento
– Uso
ineficiente
de
recursos
caros
– Uso
UCP
muy
pobre
– Largo
Aempo
de
acAvación
– Ventaja:
seguridad
Sistemas
Opera,vos
57
Sistema
sencillo
por
lotes
• Lectora
de
tarjetas
como
disposiAvo
de
entrada.
• Reduce
el
Aempo
de
acAvación
agrupando
trabajos
similares.
• Secuenciación
automáAca
de
trabajos:
rudimento
de
SO
que
transfiere
control
automáAcamente
de
una
tarea
a
otra.
• Monitor
residente:
– Control
inicial
en
el
monitor.
– Se
transfiere
control
a
una
tarea.
– Cuando
la
tarea
termina,
el
control
vuelve
al
monitor.
• Usuario
!=
operador.
El
operador
es
un
prestador
de
servicios
-‐>
nace
el
centro
de
cálculo.
• ¿Cómo
sabe
el
monitor
que
hacer?
Mediante
tarjetas
de
control.
• Monitor:
intérprete
de
tarjetas
de
control,
cargador
y
manejadores
de
disposiAvos.
Sistemas
Opera,vos
58
Sistema
sencillo
por
lotes
• Problema: E/S y UCP no solapan -> rendimiento bajo
• Solución: E/S lenta (tarjeta, impresora) off-line y rápida (carga) a cinta
Ventajas:
- UCP sólo limitada por cintas
- Los programas no cambian
- Múltiples procesadores
satélites para una UCP
Problemas:
- E/S y UCP no solapan
- Sistema monoprogramado
Sistemas
Opera,vos
59
Spooling
• Usar
UCP
durante
E/S
-‐>
mientras
ejecuta
un
trabajo,
el
SO
lee
el
siguiente
e
imprime
la
salida
del
anterior.
• Cola
de
tareas:
estructura
de
datos
que
permite
al
SO
seleccionar
qué
trabajo
ejecutar
el
siguiente
para
opAmizar
uso
de
UCP.
Sistemas
Opera,vos
60
Sistema
por
lotes
mulAprogramado
Sistemas
Opera,vos
61
CaracterísAcas
de
un
SO
mulAprogramado
• RuAna
de
E/S
propia
del
sistema.
• GesAón
de
memoria:
el
sistema
debe
asignar
la
memoria
a
varios
trabajos.
• Planificación
de
la
UCP:
el
sistema
debe
elegir
entre
varios
trabajos
listos
para
ejecutar.
• Asignación
de
disposiAvos.
Sistemas
Opera,vos
62
Sistemas
de
Aempo
comparAdo
Sistemas
Opera,vos
63
Sistemas
de
computación
personal
• MulAprocesadores:
– varias
UCPs
fuertemente
acopladas
-‐>
reloj
común.
– Memoria
comparAda
-‐>
comunicación
y
sincronización.
– Sistema
operaAvo
único
para
todas
las
UCPs.
• Ventajas:
– Incremento
de
rendimiento.
– Económicos
– Incremento
de
fiabilidad:
degradación
parcial,
tolerancia
a
fallos.
• Tipos:
– Supercomputadores
(64
hasta
4096
UCPs).
– MulAprocesadores
(2
Sistemas
hasta
64
UCPs).
Opera,vos
65
Sistemas
paralelos
II
Sistemas
Opera,vos
66
Sistemas
paralelos
III
• MulAproceso
simétrico:
– Cada
procesador
ejecuta
una
copia
idénAca
del
SO.
– Muchos
procesos
simultáneos
sin
pérdida
de
rendimiento.
– Cada
procesador
ejecuta
el
primer
trabajo
listo
para
ejecutar,
no
hay
jerarquía.
• MulAproceso
asimétrico:
– A
cada
procesador
se
le
asigna
una
tarea
específica.
– Un
procesador
maestro
planifica
el
trabajo
de
los
esclavos.
– Muy
frecuente
en
supercomputadores.
• CaracterísAcas
SO:
– Planificador
más
complejo.
– GesAón
de
memoria
más
compleja.
– GesAón
de
caches
de
memoria
muy
importante
para
rendimiento.
Sistemas
Opera,vos
67
Sistemas
distribuidos
I
Sistemas
Opera,vos
69
Sistemas
de
Aempo
real
Sistemas
Opera,vos
70
SISTEMAS OPERATIVOS: