cneetzel@sistemasoperativos.com
COLD STARD
1. DEFINICIONES
INIT
PC, WS
WARM START
Users
MAQ. EXT.
MONOUSER
3. TIPOS
2. FUNCIONES
MULTIUSER
SHELL
ADM. DE
RECURSOS
POLTICA
ESTARATEGIA
AUTORIDAD
PROTECCIN
CONTABILIDAD
TRADICIONAL
8. ARQUITECTURA
JERARQUICA
CLIENTE-SERVIDOR
Estructura
MAQ. VIRTUALES
10. S.O
. PARA MULTIPROCESA
DORES
TIPOS DE S.O. PARA MULTIPROCESADORES:
Master-Slave
Supervisor Separado
Simtrico/Asimtrico
Sistemas de Multiprocesador de Tiempo
Compartido
6. CARACTERISTICAS D
E DISEO DE UN SO
4.
COMPONENTES M
INIMOS
KERNEL
SHELL
ADMINISTRADORES
SEGURIDAD Y PROTECCIN
7. CARACTERISTICAS
COMUNES
Sistema
Operativo
5
. CARACTERSTICAS
NECESARIAS
DEL HW
MODO DUAL
INSTRUCCIONES
PRIVILEGIADAS Y
USUARIO
INTERRUPCIONES CONTEXT
SWITCH
9. PRESTACIONES D
E UN
S.O.
SERVICIOS
PROPSITO:
-GENERAL
-ESPECIAL
SYSTEM CALL
SYSTEM PROGRAMS
AL USER
A PROGRAMAS
AL S.O.
Conjunto de
programas
Responsables de:
es
Inicializar la mquina
S
I
(Bootstrapping o IPL)
R
V
S.O..
Administrar recursos
N
P
son
A
R
A
Rutinas y procedimientos
manuales y automticos
FUNCIONES DEL
SISTEMA OPERATIVO
Inicializacin
Kernel
Rutinas residentes
Parcial
Warm Start
Arranca despus de
las rutinas que
crearon las tablas de
recursos
Memoria RAM
Memoria ROM
Disco (rea de Booteo)
Total
Cold Start
I.P.L. o Bootstrapping
(I.P.L. = Initial Program Loading)
KERNEL
OBJETIVO
COMO?
TOTAL
FORMA DE OPERAR
INICIALIZACION
ENCENDIDO
RESET
CARGA del
PC a la 1er.DIR
1er DIR a
la ROM
1er C.O. a
la CPU
RUTINAS
de INIC.
CARGA del
KERNEL y
SHELL
VERIFICACION DE RECURSOS:
RECURSOS CREACION DE TABLAS DE RECURSOS DISPONIBLES EN EL
SISTEMA
BOOTEO o I.P.L : LUEGO DE LA VERIFICACION DE RECURSOS SE CARGA EL RESTO DEL S.O, Y
ASI SE COMPLETA
PARCIAL
NO CREA NI INICIALIZA LAS TABLAS POR EL PROCESO DE VERIFICACION DE RECURSOS
DEPENDE DE LOS EVENTOS QUE PROVOCAN LA INTERRUPCION DE LA EJECUCION
EJEMPLOS : ERRORES DE HARDWARE, VIOLACIONES A PROTECCIONES, CORTE DE LUZ, ETC.
SHELL
Objetivo:
INTERFASE HOMBRE-MAQUINA, MS AMIGABLE
USUARIOS
PROGRAMAS
S
H
E
L
L
SO
HW
INTERFASE EXTERNA DE UN SO
MAQUINA
EXTENDIDA
Brinda Seguridad a
usuarios
Administrador
de Recursos
Mantiene integridad
Disponibilidad de los
recursos
Contabilidad
Prioridad de acceso de
los programas
recupera
asigna
facilidad
ordena
Crear
Recuperar
Eliminar
Conflictos
Accesos
Recursos
Estrategia
objetos
P1
P2
PROCESADOR
Pn
Autoridad
Poltica
Recursos
Multiplexacin del
Procesador entre los
procesos
Finitos
SO + HW
CPU
USUARIOS - DEMANDA
SO - COMPARTE - PROTEGE
COMPETENCIA
Funcin de Proteccin
Se dice que el SO implementa como arbitro imparcial:
Una Poltica: dado que asigna prioridades (de uso y/o de acceso a los
recursos).
Una Estrategia: ya que ordena los accesos y los conflictos.
Una Autoridad: pues debe recuperar los recursos otorgados a los procesos y
ordenar el uso de los mismos.
Una Proteccin: brindando seguridad a los usuarios entre s y preservando la
integridad de los recursos.
Una Contabilidad: para llevar el control del uso y disponibilidad de los
recursos.
10
El S.O. ofrece:
11
PROTECCION DE E/S:
E/S ES LLEVADA A CABO POR LOS DRIVERS QUE DEVUELVEN EL CONTROL AL
S.O ANTE UNA SITUACION DE ERROR
PROTECCION DE MEMORIA:
MEMORIA: CADA PROCESO TIENE UNA ZONA DE MEMORIA ASIGNADA PARA SU
FUNCIONAMIENTO. PARA EVITAR QUE QUEDE AFUERA DEL ESPACIO DE DIRECCIONAMIENTO SE
FIJAN DOS LIMITES: SUPERIOR, INFERIOR Y EL ACCESO DEBE REALIZARSE DENTRO DE ESTOS
LIMITES
PROTECCIONES
SO
Programas usuario 1
Programas usuario 2
Ejemplo
Registro
Limite
Inferior
Acceso autorizado
Para el Usuario 1
Registro
Limite
Superior
Acceso no autorizado
para el Usuario 1
12
TIPOS DE SISTEMAS
OPERATIVOS
13
Se clasifican segn
Cantidad de Procesadores
Monoprocesador
Monoprocesador
Multiprocesador
Multiprocesador
Aplicaciones
Cantidad de Usuarios
Monousuario
Monousuario
Multiusuario
Multiusuario
Sistemas de Consultas
de Informacin
Sistemas de Gestin de
las Operaciones
Sistemas de Propsito
General
Sistemas de Batch
Sistemas de Accesos
Mltiples
Sistemas de Propsito
Especial
SO en Tiempo Real
SO con Tolerancias a Fallas
SO Virtuales
14
MonoPROCESADOR
Se basan en
MultiPROCESADORES
Administrar
un solo
Procesador
Se basan en
Ejemplos
MS-DOS;
MacDOS
Ms de un Procesador
Compartir
Formas de trabajar
Sistema
SIMETRICO
El SO selecciona a uno como
procesador central y al resto
para tareas especificas.
(MAESTRO/ESCLAVO)
Sistema
ASIMETRICO
Memoria y Perifricos
15
Monousuarios
Se basan en
Mquinas
Virtuales
Las utiliza
Multiusuarios
Sistemas de
Consulta de
Informacin
Consulta sobre
Sistemas de Gestin
de operaciones
Trabajan
sobre
mantienen
Sistemas de
Propsito General
Hay dos tipos
El
usuario
Sistemas
Batch
Sistemas
de Accesos
Mltiples
No tiene
contacto con
la tarea
introducida
El usuario puede
Hasta que
Iniciar
Vigilar
Controlar
Suspender
Concluye su ejecucin.
Ejemplo: ejecutar una
orden E/S en un lugar
remoto de la maquina.
La ejecucin del
programa desde
Cualquier
Terminal
17
Sistemas
de
Propsito
Especial
SO en Tiempo Real
Hay tres tipos
SO Virtuales
SO en
Tiempo Real
garantiza
pro
Lo utilizan
po r
cio
na
Respuesta a eventos
externos en un tiempo
establecido
Mxima
Fiabilidad
Parmetros
importantes
Tiempo de espera,
Procesamiento, y
Almacenamiento de la
entrada
18
cancela
SO con
Tolerancias a
Fallas
Detecta y
corrige
Errores
Recupera
Lo utilizan
Operaciones
Sistema habilitado
SO Virtuales
ejecuta
concurrentes
En una
Mquina
Trabajan en
Lo utilizan
Varios S.O.
r
e
e
m
p
l
a Componentes
z
a
n
d
o
Modo Usuario
respecto al
S.O. Virtual
Modo Protegido
respecto a
19
20
S.O. en Tiempo Real-2El sistema en tiempo real incluye el software (que debe organizar,
administrar y operar la transferencia de los datos y proveer la adecuada
sincronizacin de tiempos) y el hardware compuesto por:
SENSORES:
SENSORES elementos que detectan mediante una alteracin de sus
caractersticas un cambio en el ambiente en que miden.
TRANSDUCTORES:
TRANSDUCTORES Traducen un cambio fsico en una corriente o tensin
elctrica.
CONVERSORES (ADC/DCA): Convierten las variaciones de corrientes o
tensiones elctricas en pulsos binarios (Analogic - Digital Converter / Digital Analogic Converter).
INTERFASES:
INTERFASES Puertos, impresores, graficadores, Registradores,
Visualizadores, Sealizadores, Alarmas, Consolas, Teclados, etc., etc.
PROCESADORES:
PROCESADORES Son los responsables de las tareas de control,
interrupciones, tiempos, almacenamiento de datos temporales y definitivos,
generacin de rdenes de control o mandos a distancia, etc.
21
Digital
Trasductores
ADC
/DCA
Actuadores,
sensores
o
procesos
Registro de Datos
Base de
Datos
Procesamiento de
la informacin
Consola
Interfase de Operacin
Kernel y SO
Sistema de adquisicin
de datos bajo control
Sistema de Control y Procesamiento de
datos en Tiempo Real
en Tiempo Real
22
COMPONENTES
MINIMOS DE UN
SISTEMA OPERATIVO
23
Componentes Mnimos de un SO
Contempla
Administracin
de pedidos
Invoca a
Adm. y Gestin de
pedidos de recursos
Adm. de programas
Adm. de procesos
Primer Nivel
SHELL
o
Decide a quien
Job Scheduler
Complementa
Adm. de Usuarios
Otros
Asigna listo
para ejecucin
Job Control
Lenguaje
programa
Actividades
24
Componentes Mnimos de un SO
Asigna memoria a
De memoria
De Entrada / Salida
Segundo
Nivel
ADMINISTRA
DORES DEL
SO
De Informacin
(File System)
mdulos para
Rutinas para
De Comunicaciones
comparte
Procesos
Utilizacin de
perifricos
Manipular y
Manejar archivos
Recursos distribuidos
mediante redes
Unidad de
KERNEL
Dispatch
Traffic
Controller
Dispatcher
Cambia el estado
del proceso
Asigna proceso a
ejecutar y otorga el
uso de la CPU
25
Mquina extendida
Comunicacin
con usuario
facilita
Usuario
protege
Shell
Comunicacin
con usuario
Sper-usuario
Visin
Recursos y la
integridad del sistema
configura
Usuarios Comparten
recursos
S.O.
HW
User
PROGRAMAS DE
APLICACION
Programador
SOFT. DE BASE
SO
HARDWARE
System Administrator
26
Diseador de SO
27
Memoria Central
KERNEL
implementa
Se ocupa de
gestiona
Hardware
Interrupciones
Excepciones
Manejo instrucciones kernel y usuario
runtime environment
U
S
R
S
H
E
L
L
SO
kernel
i
n
s
t
r s
ue
c t
t
i
o
n
HW
28
CARACTERISTICAS
NECESARIAS EN
HARDWARE
31
Privilegiadas
(Kernel)
Instrucciones
Tipos
Comunes
(Usuario)
INSTRUCTION SET
Instrucciones Privilegiadas
(Reservadas para el S.O.)
Instrucciones Ordinarias
(del Usuario)
32
Proceso
System Call
CAMBIO DE CONTEXTO DE EJECUCION.
Cambia estado del procesador.
Ejecuta una rutina del S.O.
(modo Privilegiado)
llamada al SO
interrupcin
fin llamada
RAI
dispatch
dispatch
rutina
Tabla servicios
SO
33
RAI: Rutina de Atencin de Interrupcin
A.
B.
INSTRUCCIONES
CUALES?
INSTRUCCIONES PRIVILEGIADAS
INSTRUCCIONES DEL S.O
QUE HACEN?
MODO
KERNEL
EN QUE SITUACIONES?
CAMBIO DE MODO DE EJECUCION DEL PROCESADOR (CONTEXT SWITCH)
2.
3.
4.
ERROR EN LA EJECUCION
5.
34
en modo Dual:
Context Switch
SYSCALL
MODO
USUARIO
FORMA DE EJECUTAR UN
PROG USUARIO CUANDO
EJECUTA RUTINA DEL S.O
CAMBIO DE CONTEXTO DE
EJECUCION
EJECUTA RUTINA DEL S.O
Modo Kernel
CAMBIO DE CONTEXTO DE
EJECUCION
EL PROGRAMA USUARIO
SIGUE SU EJECUCION
EXIT TO USER
35
Mediante una
Seal
detiene
El proceso en curso
Enmascarable (menor).
El SO se detiene y lo
atiende.
No Enmascarable (mayor).
El SO termina lo suyo y luego
lo atiende.
P.A.I.
Pedido de atencin de
interrupcin (o IRQ)
R.A.I.
Rutina de Atencin de
Interrupcin
Vector de
Interrupciones
Primer paso
PAI
E
V
E
N
T
O
Enmascarable
Pedido de
Procesador
interrupcin
(ocupado ejecu-
Atencin
Proceso
Vector de
interrupciones
0
1
2
3
4
.
.
.
n
tando un proceso)
de Interrupcin
RAI
No
Enmascarable
Interrupt
Service
Routine
Prioridad
pedido
int.
evento
int
perm.?
PAI
no
maskable?
si
si
Fin
no
Segundo paso
System
Call
(Dispatch)
Se salva
el PCB
del Proceso que
estaba
ejecutando
Se carga
la RAI
Servicio
de la
RAI
P r o c e s a d o r
Secuencia de Ejecucin (Tiempo)
Se carga
un PCB
( nuevo o
el anterior
RAI
Determina el orgen de la Interrup.
Carga la rutina que
trata la interrupcin
brindando un
servicio
Llama al Dispatch
(S.O.)
37
CARACTERISTICAS DE
DISEO DE UN SO
39
Caractersticas de Diseo de un SO
Los diseos difieren en los siguientes puntos:
Objetivos.
Restricciones.
Aplicaciones y ambientes.
Criterios.
Razones Econmicas.
40
Caractersticas de Diseo de un SO
Adems los objetivos de diseo de un Sistema Operativo deben
cumplir los siguientes requerimientos:
Simple.
Portable.
Estructurado (modular).
Confiable.
Soporte de mltiples usuarios o procesos.
Soporte de red o procesamiento distribuido.
Etc.
CARACTERISTICAS DE
LOS SOs
42
44
Mucha demanda
Varios usuarios
Recursos
escasos
Lo realiza
sin conflictos
Planificando en base
a reglas de reparto
DEMANDA
COMPARTIR
Proteccin para
preservar
recursos y
procesos
SOLUCIN
Problema
PLANIFICAR EL
REPARTO + REGLAS
de USO
Cooperacin
entre procesos
Secuencialidad o
Concurrencia
Esttica o Dinmica
Colas de Espera
Sincronizacin
Recursos.
Prioridades.
solucin
SOLUCIONES
Peticin Simultanea
Herramientas de sincronizacin
y comunicacin ofrecidas por el
S.O.
Comparten objetos
Genera conflictos
DEADLOCK
45
Se producen Bloqueos
Manejo Direcciones
Asignacin de
descriptores
USER
Asocia objeto a
Virtual y real
retrasa
USA
OBJETOS
IDENTIFICADORES
Binding
Localiza o Designa
(Recurso Fsico)
Espacios fsicos
Eleccin de un recurso
Archivos
Variables
Tablas
Estruct. de datos
Segmentos de Mem.
Segm. de Programas
etc
Nombre + Informacin asociada sin
ambigedades
PROCESAMIENTO
46
Proc-1
Proc - 2
simultaneamente)
Proc - n
A
C
C
E
S
O
s
User - 1
Procesador
Usan RECURSOS
(escasos)
User
2-
Memorias
Archivos
etc.
CONFLICTO
SOLUCIN
Sincronizacin
Comunicacin de Informacin
A
C
C
E
S
O
RECURSOS
(nicos)
User - n
Proteger los Recursos y los Procesos contra:
1) Otros User, 2) el S.O., 3) Errores de programacin
y 4) Competencia desleal
47
ARQUITECTURA
(Estructura) DE UN
SISTEMA OPERATIVO
48
Ejemplos:
PROGRAMAS USUARIO
KERNEL MS-DOS
DRIVERS MS-DOS
PROGRAMAS USUARIOS
KERNEL UNIX
signals terminales CPU scheduling
swapping i/o system demand paging
terminales disco memoria
device drivers
Estructura de UNIX
49
Mdulos organizados
Facilita proteccin
Ocultamiento de la informacin, lentitud al
referenciar servicios en niveles inferiores
USUARIO NIVEL N
NIVEL 3
NIVEL 2
File system
shell
Memory manager
I/O manager
INTERFASE 3/2
Programas usuarios
NIVEL 1
CPU
scheduling
HARDWARE NIVEL 0
spool
Ejemplos:
user
file system
I/O management
9
8
user programs
file system
intermachine communication
communications
memory management
interprocess communication
CPU scheduling
process coordination
process manager
HARDWARE
memory manager
HARDWARE
Sistema Operativo XINU
Douglas Comer (1988)
50
Facilita la proteccin.
Permite implementar el principio de ocultamiento de la informacin
information hiding.
Facilita la sustitucin y verificacin de componentes modularizacin).
Desventajas
La definicin de los distintos niveles es difcil.
Algunas comunicaciones entorpecidas por la jerarqua.
Son ms lentos.
51
Multiprogramacin
Cliente/
Servidor
Funciones
Servicios
proceso
cliente
A
1
2
KERNEL
Sincronizacin de mensajes
HW
implementadas
Emplea tcnica
proceso
servidor
B
3
Kernel
Mnimo
(microkernel)
Programa Usuario
Message Passing
52
Mquinas Virtuales
Un user
Varios
un user
MS-DOS
UNIX
CP/M
DOS/VS
HW 1
HW 2
HW 3
HW4
Sistema Operativo VM
Hardware real
un user
Varios
CMS
HW5
CP
HARDWARE
VIRTUAL
Mquinas
idnticas
54
Desventajas
Difcil Implementacin : se necesita un duplicado exacto
del HW adyacente
Cada maquina virtual es ms lenta que la mquina real
55
PRESTACIONES DEL
SISTEMA OPERATIVO
56
OPERACIONES DE ENTRADA/SALIDA
PRESTACIONES
PARA EL USUARIO
FACILIDADES
SERVICIOS
OFRECIDOS
POR EL S.O
MANEJO DE ARCHIVOS
FACILIDADES
57
CONJ DE MECANISMOS DE
RESOLUCION DE CONFLICTOS
PRESTACIONES
SISTEMA
CONTABILIDAD
PARA SU FACTURACION
PROTECCION
CONTROL DE TIEMPOS DE
UTILIZACION DE RECURSOS
PARA LA OBTENCION DE
ESTADISTICAS DE UTILIZACION
58
Usuario
Programa
realizados por 2 mecanismos
System
Program
System
Call
Programacin
a travs de
instrucciones
si se
Proceso en
ejecucin
llamada al
SO
interrupci
n
Nivel
Process
USER
Proces
oA
fin
llamada
dispatch
RAI
dispatc
h
Se invocan
SHELL
ofrecen
Rutina de
Interrumpe el
No residen en memoria
Tabla servicios
Nivel Kernel
S.O.
rutina
SO
Programa
Usuario
1Cambia estado
el rocesador
SO en Memoria Central
fopen
2) Llama rutina SO
(System Call un
cdigo en MC.
call
fopen
59
NO DURANTE EJ.
DEL PROG
NO RESIDEN EN MEMORIA
SE CARGAN RAPIDAMENTE EN MEM, RESIDEN EN SOPORTE DE
ACCESO DIRECTO
INCORPORACION DE ALGUNAS FUNCIONES: FILE MANIPULATOR,
STATUS INFORMATION, APLICATION PROGRAMS
SYSTEM CALLS
(PARA PROGRAMAS en EJECUCIN)
CAMBIO EST.PROCESADOR
FOPEN
S.O EN MEM.PPAL
CALL
FOPEN()
CAMBIO EST.PROCESADOR
Y VUELVE AL PROGRAMA
60
Shell
Servicios
para Usuarios
System
Calls
Teclado u otro
dispositivo
intervencin
Sytem
Program
File Manipulator
Algunas funciones Status Information
61
Crea
Proceso
load()
execute ()
Proteccin
Kill()
Carga , ejecucin,
terminacin del
programa
funciones
Interrupciones
Manipulacin
de archivos
ACCESOS
usuarios
Servicios
para los Programas
System
Calls
Deteccin
de Errores
Hardware
Software
programas
Reparto de Recursos
Cambio de
Contexto
Contabilidad
62
End()
Abort()
Kill()
Get()
funciones
Servicios para
el Sistema
Interrupciones
de dispositivos de
E/S
Proceso espera
Proceso ejecuta
Put()
Etc.
Manejo de Excepciones
(Traps)
Llamadas al
S.O.
Terminacin normal
Terminacin anormal
Peticin de E/S
Peticin de estado
Programa
en ejecucin
NO
SI
Se produce un error
grave en la
ejecucin de una
Instruccin
Fecha
Hora
Espacio de Memoria
63
Protecciones
Protecciones
D
ep
eb
r
ee
v
re
De
be
pre
vee
r
Debe preveer
De E/S
De Memoria
Del Procesador
A travs
64
SISTEMAS OPERATIVOS
PARA
MULTIPROCESADORES
65
VENTAJAS:
Sencillo de implementar y fcil de adaptar.
Permite paralelismo en las aplicaciones pero no en el S.O.
DESVENTAJAS:
Los esclavos tienen como cuello de botella al master.
Gran overhead por la estructura jerrquica.
67
Simtricos:
Simtricos
DESVENTAJA:
Difcil reprogramacin del control de la concurrencia.
Memoria Privada
del S.O.
KERNEL
Memoria Compartida
por todos los procesadores
PROCESADOR
MAESTRO
PROCESADORES
71
Asimtricos:
Asimtricos
Solo algunos procesadores tienen acceso a
Memoria y dispositivos.
72