El documento proporciona una introducción a los sistemas operativos. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware del computador, controlando la ejecución de programas y administrando los recursos del sistema. Luego describe las funciones básicas de un sistema operativo, incluida la gestión de recursos, la máquina extendida y la interfaz de usuario. Finalmente, resume brevemente la historia de los sistemas operativos desde la primera generación en los años 50 hasta las tendencias actuales.
1. Sistemas Operativos
Tema:
INTRODUCCIÓN
CONCEPTOS BÁSICOS.
Prof. Miguel Ángel Bracho Medina
Sistemas_operativos_sucre@yahoo.es
1
2. SISTEMA OPERATIVO
Los sistemas Operativos El programa más fundamental
son ante todo administrado- de todo el sistema es el Sistema
res de recursos. Operativo, el cual controla todos
H. M. Deitel los recursos del computador.
Andrew Tanenbaum.
Un Sistema Operativo es un
El Sistema Operativo es un
programa que actúa como in-
programa que controla la eje-
termediario entre el usuario y
cución de los programas de
el hardware del computador.
Aplicación.
Silberschatz-Peterson-Galvin
W. Stallings.
2
3. ¿QUÉ ES UN SISTEMA OPERATIVO?
Un programa:
Administra los recursos del sistema,
Controla la ejecución de los programas y,
Actúa como intermediario entre el usuario de un computador y el
hardware del mismo.
Objetivos del sistema operativo:
• Ejecutar programas y facilitar la solución de los problemas del
usuario
• Usar el computador de forma eficiente
• Proporcionar una máquina extendida (Servicios)
3
4. FUNCIONES DEL SISTEMA OPERATIVO
GESTOR DE RECURSOS (CPU,
MEMORIA, ...)
◦ Asignación y recuperación de
recursos
◦ Protección entre los usuarios
U s u a rio s
◦ Contabilidad
A PI
MÁQUINA EXTENDIDA P ro g ra m a s S h e ll
(SERVICIOS)
◦ Ejecución de programas S e rv ic io s S is te m a
(procesos)
◦ Órdenes de E/S N ú c le o o p e ra tiv o
◦ Operaciones sobre archivos
◦ Detección y tratamiento de
errores H a rd w a re
INTERFAZ DE USUARIO
◦ Shell
4
5. COMPONENTES DEL SISTEMA OPERATIVO
U s u a r io s
V a r ia s A P I
P r o g r a m a s d e u s u a r io S h e ll 1 S h e ll 2
W in 3 2 P O S IX
S is t e m a
G e s t ió n d e S e g u r id a d C o m u n ic a c . o p e r a t iv o
G e s t ió n d e G e s t ió n d e G e s t ió n d e y
a r c h iv o s y y
p r o c e s o s m e m o r ia la E /S
d ir e c t o r io s p r o t e c c ió n s in c r o n iz .
N ú c le o
H a rd w a re
5
6. NÚCLEO (KERNEL) DEL SISTEMA OPERATIVO
El Kernel gestiona APLICACIÓN
los recursos Despachador.
hardware del (Uso del procesador)
sistema y
suministra la Sincronización
funcionalidad y Comunicación
básica del OTROS
entre procesos.
sistema operativo SERVICIOS
Manejador de
KERNEL Interrupciones.
HARDWARE
6
7. Diseño cliente-servidor
Procesos Procesos
cliente servidores
Servidor de Servidor
Servidor de Servidor de Servidor de
Servidor de Servidor de Modo usuario
archivos y de
procesos memoria la E/S Seguridad
API API directorios Comunicac.
Micronúcleo Modo núcleo
Hardware
7
8. Diseño de los Sistemas Operativos
SISTEMA MONOLÍTICO
ESTA ORGANIZACION SUGIERE LOS SIGUIENTES ELEMENTOS:
- UN PROGRAMA CENTRAL
- UN CONJUNTO DE PROCEDIMIENTOS DE SERVICIOS Y,
- UN GRUPO DE PROCEDIMIENTOS DE USO GENERAL.
PROCEDIMIENTO
GENERAL
PROCEDIMIENTO
DE SERVICIO
PROCEDIMIENTO
DE USO GENERAL
8
9. DISEÑO DE LOS SISTEMAS OPERATIVOS
SISTEMA MONOLÍTICO
EL SISTEMA OPERATIVO SE ENCUENTRA ESCRITO COMO UNA
COLECCIÓN DE PROCEDIMIENTOS, DONDE CADA UNO DE LOS
CUALES TIENE UNA INTERFAZ QUE LE PERMITE LLAMAR A
CUALQUIERA DE LOS OTROS, CUANDO LO NECESITE .
PARA CONSTRUIR EL S.O., SE COMPILAN TODOS LOS
PROCEDIMIENTOS Y SE ENLAZAN ENTRE SI EN UN ARCHIVO ÚNICO.
TRABAJAN EN MODO USUARIO (RESTRINGIDO) Y MODO SUPERVISOR
(KERNEL).
EJEMPLOS: MS-DOS, UNIX
9
10. Diseño de los Sistemas Operativos
9 PROGRAMAS DE APLICACION
SISTEMAS 8 INTERPRETADOR DE COMANDOS
OPERATIVOS
7 PLANIFICADOR A LARGO PLAZO
POR
CAPAS 6 ADMINISTRADOR DE RECURSOS
5 PLANIFICADOR A CORTO PLAZO
4 ADMINISTRADOR DE ARCHIVOS
3 SISTEMAS DE ENTRADA SALIDA
2 ADMINISTRADOR DE MEMORIA
1 KERNEL
0 HARDWARE
10
11. DISEÑO DE LOS SISTEMAS OPERATIVOS
SISTEMA POR CAPAS (NIVELES)
EL SISTEMA OPERATIVO SE ENCUENTRA DIVIDIDO EN UN
CONJUNTO DE NIVELES, CADA UNO CONSTRUIDO SOBRE LOS
NIVELES MAS BAJOS. EL NIVEL MÁS BAJO TIENE CONTACTO
DIRECTO CON EL HARDWARE Y EL MÁS ALTO ES LA INTERFAZ
CON EL USUARIO.
SU DISEÑO PRESENTA EL ENCAPSULAMIENTO DE LOS DATOS Y
LAS OPERACIONES.
ES MODULAR: UN NIVEL USA LAS FUNCIONES Y SERVICIO DE
LOS NIVELES MÁS BAJOS.
EL MANTEMIENTO DEL SISTEMA ES MAS SENCILLO.
EJEMPLOS: THE, OS/2
11
12. Diseño de los Sistemas Operativos.
MODELO CLIENTE - SERVIDOR
ESTE ENFOQUE BUSCA IMPLEMENTAR LA MAYORIA DE LAS FUNCIONES
DEL SISTEMA OPERATIVO EN PROCESOS “SERVIDORES", DEJANDO UN
KERNEL MÍNIMO.
PARA SOLICITAR UN SERVICIO, UN PROCESO DEL USUARIO (“CLIENTE”)
ENVIA LA SOLICITUD A UN PROCESO “SERVIDOR” , QUE REALIZA
ELTRABAJO Y DEVUELVE LA RESPUESTA .
EN ESTE MODELO, EL KERNEL BASICAMENTE SE ENCARGA DE LA
COMUNICACIÓN ENTRE CLIENTES Y SERVIDORES.
SON ADAPTABLES A SISTEMAS DISTRIBUIDOS.
EJEMPLOS: MINIX, MACH, AMOEBA, WINDOWS NT.
12
13. HISTORIA DE LOS SISTEMAS OPERATIVOS
PREHISTORIA: AÑOS 40
Primeros computadores
No existen sistemas operativos: El usuario debía codificar
su programa en instrucciones de máquina y debía
introducirlo personalmente en la computadora
generalmente mediante tarjetas perforadas.
En caso de errores, el usuario tenía que depurarlos
examinando el contenido de la memoria principal y los
registros del procesador
Todos los trabajos se ejecutan en serie
13
14. HISTORIA DE LOS SISTEMAS OPERATIVOS
PRIMERA GENERACIÓN (AÑOS 50)
Los sistemas operativos tenían las siguientes
características:
Los trabajos siguen ejecutándose en serie
Se procesan los trabajos por lotes
Se dispone de rutinas de E/S
Se usan mecanismos rápidos para pasar de un trabajo
al siguiente
Recuperación del sistema si un trabajo acaba en error
Lenguaje de control de trabajos para especificar los
recursos a utilizar y las operaciones a realizar en cada
trabajo
14
16. HISTORIA DE LOS SISTEMAS OPERATIVOS
SEGUNDA GENERACIÓN (AÑOS 60)
Aparece el concepto de multiprogramación
Se construyen los primeros multiprocesadores
Sistemas de tiempo compartido (time sharing).
Planificación del CPU (uso de slices o quatum de
tiempo)
Primeros sistemas de tiempo real, destinados a uso
militar.
Aparición del sistema operativo MULTICS (Instituto
Tecnológico de Massachusetts)
16
17. MULTIPROGRAMACIÓN
PROGRAMA N
PARTICIONES
PROGRAMA 3
DE
PROGRAMA 2
LA
MEMORIA
PROGRAMA 1
SISTEMA OPERATIVO
PRINCIPAL
17
18. HISTORIA DE LOS SISTEMAS OPERATIVOS
TERCERA GENERACIÓN (AÑOS 70)
Sistemas de propósito general
◦ Procesamiento por lotes
◦ Multiprogramación
◦ Tiempo real.
◦ Tiempo compartido
◦ Modo multiprocesador
Sistemas operativos de gran tamaño y complejidad.
Aparición de los sistemas UNIX (Laboratorios Bell,
1970) y MVS (IBM).
18
19. HISTORIA DE LOS SISTEMAS OPERATIVOS
Cuarta generación (años 80-actualidad)
Redes de computadores. Procesamiento distribuido
Se desarrollan los sistemas operativos para
computadores personales (Ms-Dos y Sistemas Windows)
Aparecen los sistemas operativos de tiempo real (Qnx,
Rtems, Vrtx)
Se desarrollan los primeros sistemas operativos
distribuídos (Mach, Chorus, Amoeba)
En los años 90: Middleware (Dcom de Microsoft)
Desarrollo de las interfaces de Programación: POSIX y
Win32
19
20. SISTEMA OPERATIVO DISTRIBUIDO
Usuarios
Programas
Sistema operativo distribuido
Hardware Hardware
Red de interconexión
20
21. MIDDLEWARE
Usuarios
Programas
Middleware
SISTEMA OPERATIVO SistemaOPERATIVO
SISTEMA operativo
Hardware Hardware
Red de interconexión
21
22. Aspectos que afectan el diseño de un Sistema Operativo.
REENTRANCIA :
* PROGRAMA QUE PUEDE
SISTEMA OPERATIVO
SER UTILIZADO SIMULTANEAMENTE
POR VARIOS USUARIOS AL MISMO
TIEMPO.
Programa Reentrante
* CONSISTE EN DOS PARTES:
- UN CÓDIGO PURO (PARTE NO
MODIFICABLE). Información Usuario 1
- UN AREA DE MEMORIA PARA
CADA UNO DE LOS PROCESOS DE
USUARIO. Información Usuario 2
Información Usuario n
mem. ppal.
22
23. Aspectos que afectan el diseño de un Sistema Operativo.
INTERRUPCIONES: CLASES DE INTERRUPCIONES:
* ES UN EVENTO QUE PROGRAMA: Overflow, underflow,
ALTERA LA SERCUENCIA división entre cero, etc.
NORMAL DE TIMER: Generadas por el reloj
FUNCIONAMIENTO DEL
timer (intervalos de tiempo) del
PROCESADOR.
procesador.
ELEMENTOS: ENTRADA/SALIDA: Producida por
INTERRUPCIÓN: un controlador de E/S al finalizar la
Identificación del dispositivo. operación o al ocurrir algún error.
VECTOR DE FALLA DE HARDWARE: Falla
INTERRUPCIONES: eléctrica o condición de uso.
Direcciones de las rutinas.
MANEJADOR DE
INTERRUPCIONES: Rutina
Asociada
23
24. Interrupciones.
ACTIVIDADES: 5- SE PROCESA LA
INTERRUPCION.
1- EL S.O. TOMA EL
6- SE REESTABLECE EL ESTADO
CONTROL DEL DEL PROGRAMA
COMPUTADOR. INTERRUMPIDO.
2- EL S.O. GUARDA EL 7- SE HABILITAN LAS
ESTADO DEL INTERRUPCIONES.
PROGRAMA 8- EL PROCESADOR CONTINUA
LA EJECUCIÓN DEL PROCESO.
INTERRUMPIDO
3- SE INHABILITAN LAS
INTERRUPCIONES.
4- EL S.O. ANALIZA LA
INTERRUPCION.
24
25. Interrupciones.
VECTOR DE INTERRUPCIONES RUTINAS
D1R 1 MANEJADOR 1
D1R 2
MANEJADOR 2
IDENTIFICACIÓN
DEL D1R 3 MANEJADOR 3
DISPOSITIVO
MANEJADOR
D1R
N
N
25
26. Tendencias en Sistemas Operativos.
Una tendencia actual es hacia los llamados
Sistemas Abiertos, lo cual indica que estos
sistemas operativos trabajan sobre una gran
variedad de plataformas con independencia de las
empresas fabricantes.
Software NO Libre: Se refiere a cualquier programa
en el que su código fuente no está disponible o el
acceso a éste se encuentra restringido. Caso:
Windows.
Software Libre: Es aquel que proporciona a los
usuarios la libertad de ejecutar, copiar, distribuir,
estudiar, cambiar y mejorar el software. Caso:
Linux.
26
27. Aspectos Resaltantes
Windows GNU/Linux
Multitarea. Multitarea.
Multiusuario. Multiusuario.
Ventanas traslapadas. Multiplataforma.
Gran cantidad de software Multiproceso.
disponible. Diversidad de protocolos para
Soporte de memoria virtual. redes (PPP, SLIP, TCP/IP)
Soporte para Shell programables.
multiprocesadores. Memoria virtual usando
Sistemas de archivos: FAT, paginación
FAT32, NTFS. Consolas virtuales múltiples:
Varias sesiones de entrada.
27