Dpto. Informtica y Automtica Dpto. Informtica y Automtica Universidad de Salamanca Universidad de Salamanca
Bibliografa Bibliografa
MODERN OPERATING SYSTEMS MODERN OPERATING SYSTEMS A. S. Tanenbaum A. S. Tanenbaum Prentice-Hall International, 1992. Prentice-Hall International, 1992.
SISTEMAS OPERATIVOS SISTEMAS OPERATIVOS Stallings Stallings Prentice Hall, 2005 Prentice Hall, 2005 ORGANIZACIN DE COMPUTADORAS. ORGANIZACIN DE COMPUTADORAS. A.S. Tanenbaum. A.S. Tanenbaum. Prentice Hall, 2000 Prentice Hall, 2000
Contenido: Contenido:
1 Introduccin 1 Introduccin
1.1 Qu es un Sistema Operativo? 1.1 Qu es un Sistema Operativo? 1.2 Historia de los Sistemas Operativos. 1.2 Historia de los Sistemas Operativos. 1.3 Conceptos sobre Sistemas Operativos. 1.3 Conceptos sobre Sistemas Operativos. 1.4 Estructura de los Sistemas Operativos. 1.4 Estructura de los Sistemas Operativos.
2 Procesos 2 Procesos
2.1 Introduccin aalos Procesos. 2.1 Introduccin los Procesos. 2.2 Comunicacin entre Procesos. 2.2 Comunicacin entre Procesos. 2.3 Problemas Clsicos de Comunicacin. 2.3 Problemas Clsicos de Comunicacin. 2.4 Planificacin (Scheduling) de Procesos. 2.4 Planificacin (Scheduling) de Procesos.
5 Entrada/Salida 5 Entrada/Salida
5.1 Principios de Hardware de E/S. 5.1 Principios de Hardware de E/S. 5.2 Principios de Software de E/S. 5.2 Principios de Software de E/S. 5.3 Disco. 5.3 Disco. 5.4 Relojes. 5.4 Relojes. 5.5 Terminales. 5.5 Terminales.
Introduccin Introduccin
Introduccin Introduccin
Los ordenadores sin un software adecuado son prcticamente chatarra. Los ordenadores sin un software adecuado son prcticamente chatarra. Dos clases de Software: Dos clases de Software:
programas del sistema, que controlan las operaciones del computador en si, programas del sistema, que controlan las operaciones del computador en si, programas de aplicacin, que resuelven los problemas de los usuarios. programas de aplicacin, que resuelven los problemas de los usuarios.
Entre los programas del sistema, el Sistema Operativo es el ms importante : : Entre los programas del sistema, el Sistema Operativo es el ms importante
controla los recursos del computador (uno ooms procesadores, memoria, discos, interfaces de controla los recursos del computador (uno ms procesadores, memoria, discos, interfaces de red, dispositivos de E/S, etc), yy red, dispositivos de E/S, etc), sirve de base para que sean escritos los programas de aplicacin. sirve de base para que sean escritos los programas de aplicacin.
Introduccin Introduccin
Gestin de Bancos Reserva de Vuelos Juegos de Aventuras Programas de Aplicaciones
Compiladores
Editores
Sistema Operativo
Lenguaje Mquina
Microprogramacin
Hardware
Dispositivos Fsicos
Un computador est compuesto por el hardware, los programas de sistema y las aplicaciones. DIA. Universidad de Salamanca
24-sep-07
10
El esquema propuesto, conocido como modelo de Von Neumann se us El esquema propuesto, conocido como modelo de Von Neumann se us por vez primera en la mquina IAS (Institute for Advanced Studies), de la por vez primera en la mquina IAS (Institute for Advanced Studies), de la Universidad de Princeton. Universidad de Princeton.
En la memoria se almacenan datos y secuencias de instrucciones.
La Unidad de Control determina el conjunto de acciones a ejecutar por la unidad Aritmtica Lgica
11
12
13
14
CPU CPU
15
16
17
Introduccin Introduccin
Qu es un Sistema Operativo? Qu es un Sistema Operativo?
Casi todos sabemos de qu se est hablando, pero no resulta fcil definirlo. Casi todos sabemos de qu se est hablando, pero no resulta fcil definirlo. Existen dos definiciones que, en cierto modo, se complementan: Existen dos definiciones que, en cierto modo, se complementan:
Conjunto de programas encargados de gestionar de forma eficiente todos los recursos de un Conjunto de programas encargados de gestionar de forma eficiente todos los recursos de un sistema informtico entre todos los procesos que compiten por ellos. sistema informtico entre todos los procesos que compiten por ellos. Conjunto de programas encargados de dar al usuario la ilusin de estar utilizando una Conjunto de programas encargados de dar al usuario la ilusin de estar utilizando una mquina relativamente simple, ocultando todos los detalles de implementacin (principio de mquina relativamente simple, ocultando todos los detalles de implementacin (principio de embellecimiento) . . embellecimiento)
18
Introduccin Introduccin
El Sistema Operativo como una Mquina Virtual. El Sistema Operativo como una Mquina Virtual.
761
Programa
19
Introduccin Introduccin
El Sistema Operativo como un Gestor de Recursos. El Sistema Operativo como un Gestor de Recursos.
Usuario 1 Usuario 2
Recurso 1
Recurso 2
Recurso m
20
21
Introduccin Introduccin
22
23
24
25
Calculadora (1700) Deutsches Museum Munich Calculadora (1700) Deutsches Museum Munich
26
27
28
29
La primera mquina de calcular de Babbage Reproduccin en el Museo de Ciencias Londres. DIA. Universidad de Salamanca
24-sep-07
30
31
32
33
MARK II MARK
34
ENIAC ENIAC
35
ENIAC ENIAC
36
37
38
39
Introduccin Introduccin
La Segunda Generacin (1955-1965): El Transistor y los Sistemas Batch. La Segunda Generacin (1955-1965): El Transistor y los Sistemas Batch.
La introduccin del transistor cambi radicalmente la escena. La introduccin del transistor cambi radicalmente la escena. Los computadores se podan comercializar yycomprar. Los computadores se podan comercializar comprar. Separacin entre los diseadores yylos usuarios. Separacin entre los diseadores los usuarios.
entrada
proceso
$END $RUN $LOAD $FORTRAN $JOB,10,3,pepe Datos Programa FORTRAN
salida
40
$JOB, 5494, LUIS $XEQ $FORTRAN ..... .... ..... $DATA .... .... .... $END
41
42
43
Introduccin Introduccin
La Tercera Generacin (1965-1980): ICs y Multiprogramacin. La Tercera Generacin (1965-1980): ICs y Multiprogramacin.
Dos tendencias : :clculo cientfico yytratamiento masivo de datos. Dos tendencias clculo cientfico tratamiento masivo de datos. Exigencia de ms rapidez. Exigencia de ms rapidez.
44
VAX 11 de DEC (1978) El Sistema Operativo era VMS DIA. Universidad de Salamanca
24-sep-07
45
46
Introduccin Introduccin
La Cuarta Generacin (1980-1990): Ordenadores Personales. La Cuarta Generacin (1980-1990): Ordenadores Personales.
circuitos integrados de alta escala de integracin (VLS). circuitos integrados de alta escala de integracin (VLS). computadores personales yyworkstations. computadores personales workstations workstations. industria del software, user-friendly, los usuarios no tienen que saber nada sobre industria del software, user- friendly los usuarios no tienen que saber nada sobre user-friendly, informtica. informtica. dos SOs : :el MS-DOS (PCs Intel 8088 yy80x86) yyel UNIX (WSs). dos SOs el MS-DOS (PCs Intel 8088 80x86) el UNIX (WSs). redes de PCs : :SO de red yySO distribuidos. redes de PCs SO de red SOdistribuidos distribuidos.
SO de red, los usuarios conocen la existencia de multiples computadores. SO de red, los usuarios conocen la existencia de multiples computadores. SO distribuido, los usuarios no deberan saber dnde se estn ejecutando sus programas, oo SO distribuido, los usuarios no deberan saber dnde se estn ejecutando sus programas, dnde estn localizados sus ficheros. dnde estn localizados sus ficheros.
47
48
MacIntosh (1984)
49
50
Algunos hitos en la historia de los computadores Algunos hitos en la historia de los computadores
Ao 1834 1936 1943 1944 1946 1952 1960 1964 1964 1970 1978 1981 1985 1985 1987 1993 ........... DIA. Universidad de Salamanca
24-sep-07
Nombre Mquina Analtica Z1 COLOSSUS Mark 1 ENIAC IAS PDP-1 Serie 360 6600 PDP-11 VAX IBM PC HP UX MIPS SPARC Pentium
Hecho por C. Babbage K. Zuse Gobierno Britnico H. Aiken Eckert, Mauchly Von Neumann Digital IBM CDC Digital Digital IBM Hewlett Packard MIPS SUN Intel
Comentario Primer intento de construccin Mquina de rels. Primer computador electrnico Primer electromecnico Inicio de la historia. Arquitectura actual Primer minicomputador vendieron 50) Primera familia de productos. Primer superordenador Mini ms vendido Mini-super-ordenador Primer computador personal Version comercial de Unix. Primera mquina RISC Primera mquina RISC-SPARC Procesador 32 bits (se computador
51
Microsoft Microsoft
52
53
54
55
Algunas mejoras sobre Von Neumann(1) Algunas mejoras sobre Von Neumann(1)
56
Algunas mejoras sobre Von Neumann(2) Algunas mejoras sobre Von Neumann(2)
57
Algunas mejoras sobre Von Neumann(3) Algunas mejoras sobre Von Neumann(3)
Mquinas superescalares :: Mquinas superescalares
58
Algunas mejoras sobre Von Neumann(4) Algunas mejoras sobre Von Neumann(4)
Sistemas multiprocesadores :: Sistemas multiprocesadores
59
60
Introduccin Introduccin
61
Introduccin Introduccin
Procesos Procesos
Genrico: Proceso = secuencia de actividades llevadas aa cabo para un propsito Genrico: Proceso = secuencia de actividades llevadas cabo para un propsito especfico. Por ejemplo, proceso penal, proceso qumico, etc. especfico. Por ejemplo, proceso penal, proceso qumico, etc. Informtica : :proceso = programa en ejecucin yytoda la informacin necesaria para Informtica proceso = programa en ejecucin toda la informacin necesaria para ejecutar el programa. ejecutar el programa. En sistemas de tiempo compartido, cuando se suspende la ejecucin de un proceso En sistemas de tiempo compartido, cuando se suspende la ejecucin de un proceso debe guardarse su estado para poder restaurarlo despus: debe guardarse su estado para poder restaurarlo despus: Tabla de Procesos. Tabla de Procesos.
Proceso 1 Proceso 2 Proceso 3
direcciones P. C. Pila
Proceso n
Creacin yydestruccin Creacin destruccin Procesos hijo Procesos hijo Comunicacin entre procesos: seales Comunicacin entre procesos: seales Identificacin de procesos Identificacin de procesos
Tabla de Procesos
62
Introduccin Introduccin
Ficheros Ficheros
el SO se encarga de presentarnos un modelo de sistema de ficheros independiente el SO se encarga de presentarnos un modelo de sistema de ficheros independiente de dispositivo de dispositivo las llamadas al sistema se encargan de las operaciones con ficheros las llamadas al sistema se encargan de las operaciones con ficheros directorio: una manera de organizar yyagrupar ficheros directorio: una manera de organizar agrupar ficheros jerarqua de directorios, rbol de directorios jerarqua de directorios, rbol de directorios path name path name proceso proceso root directory root directory pipe working directory working directory A B sistema de proteccin de ficheros sistema de proteccin de ficheros dispositivos de E/S vistos como ficheros dispositivos de E/S vistos como ficheros pipes pipes
63
Introduccin Introduccin
Las Llamadas al Sistema Las Llamadas al Sistema
Sistema de Ficheros file nbytes buffer READ file,buffer,nbytes Llamada al sistema disco cilindro pista
read
Procedimiento
Biblioteca de Procedimientos
count=read(file,buffer,nbytes)
Programa de usuario
lectura
TRAP
64
Introduccin Introduccin
El Shell El Shell
tratamiento de las llamadas al sistema compiladores editores etc ... intrprete de comandos
$ $ date $ date >fichero $ sort <fichero1 $ cat file1 file2 $ cat file1 file2 >fichero2 | sort >/dev/lp | sort >/dev/lp &
Terminal de usuario
65
Introduccin Introduccin
66
Introduccin Introduccin
Sistemas Monolticos Sistemas Monolticos
Programa de Usuario 2
Programas de Usuario Ejecutandose en Modo Usuario
Llamada al Sistema
Programa de Usuario 1
(4)
Pasos implicados en una llamada al sistema : (1) programa de usuario manda una llamada (TRAP) al kernel. (2) El SO determina el numero del procedimiento de servicio requerido. (3) El SO localiza y llama al procedimiento de servicio implicado. (4) El control es devuelto al programa de usuario. DIA. Universidad de Salamanca
24-sep-07
67
Introduccin Introduccin
Sistemas Monolticos (cont.) Sistemas Monolticos (cont.)
Esta organizacin sugiere la siguiente estructura bsica del SO: Esta organizacin sugiere la siguiente estructura bsica del SO:
1.- Un programa principal que invoca al procedimiento de respuesta de servicio. 1.- Un programa principal que invoca al procedimiento de respuesta de servicio. 2.- Un conjunto de procedimientos de servicio que tratan las llamadas al sistema. 2.- Un conjunto de procedimientos de servicio que tratan las llamadas al sistema. 3.- Un conjunto de procedimientos de utilidad que ayuden aalos procedimientos de servicio. 3.- Un conjunto de procedimientos de utilidad que ayuden los procedimientos de servicio.
Procedimientos de Utilidades
68
Introduccin Introduccin
Sistemas Estructurados por Capas. Sistemas Estructurados por Capas.
Una generalizacin de la aproximacin anterior es organizar el SO como una Una generalizacin de la aproximacin anterior es organizar el SO como una jerarqua de capas, cada una de las cuales est construida sobre otra que est por jerarqu decapas cada una de las cuales est construida sobre otra que est por jerarqua capas, debajo de ella. debajo de ella. Ejemplo : :el THE Ejemplo el THE
5 4 3 2 1 0
El Operador Programas de Usuario Gestin de E/S Comunicacin Operador-Procesos Gestin de Memoria Localizacin de Procesos y Multiprogramacin Estructura del Sistema Operativo THE
69
Introduccin Introduccin
Mquinas Virtuales Mquinas Virtuales
tiempo compartido tiempo compartido separar la multiprogramacin yyla mquina extendida separar la multiprogramacin la mquina extendida Monitor de Mquina Virtual : : justo por encima del hardware, permite Monitor de Mquina Virtual justo por encima del hardware, permite multiprogramacin yyproporciona varias mquinas virtuales. multiprogramacin proporciona varias mquinas virtuales. Mquina Virtual: copia exacta del hardware subyacente. Mquina Virtual: copia exacta del hardware subyacente. Conversational Monitor System : :sistema interactivo monousuario. Conversational Monitor System sistema interactivo monousuario.
Mquinas 370 virtuales
Usuario1
Instruccin E/S ... ... se atrapa aqu.
Usuario1 CMS
CMS
70
Introduccin Introduccin
Modelo Cliente-Servidor Modelo Cliente-Servidor
Kernel mnimo Kernel mnimo Proceso cliente, (modo usuario), solicita servicio (mediante mensajes que maneja el Procesocliente (modo usuario), solicita servicio (mediante mensajes que maneja el cliente, kernel), que efectua el proceso servidor (modo usuario) kernel), que efectua el proceso servidor (modo usuario) Problema: procesos de usuarios sin acceso total aahardware Problema: procesos de usuarios sin acceso total hardware Solucin: Solucin: procesos servidores criticos en modo kernel oosupervisor. procesos servidores criticos en modo kernel supervisor. dejar en kernel mecanismos yylas polticas de decisin en procesos modo dejar en kernel mecanismos las polticas de decisin en procesos modo usuario. usuario.
Modo Usuario Modo Kernel El Cliente obtiene Servicio mandando Mensajes al Servidor
Proceso Cliente
Proceso Cliente
Servidor Procesos
Servidor Ficheros
Servidor Memoria
71
Introduccin Introduccin
72
73
74
Caracteristicas de los Sistemas Operativos Actuales Caracteristicas de los Sistemas Operativos Actuales
Arquitectura de microncleo (MICROKERNEL) architecture Arquitectura de microncleo (MICROKERNEL) architecture
El ncleo solamente tiene unas pocas funciones esenciales: El ncleo solamente tiene unas pocas funciones esenciales:
address space address space interprocess communication (IPC) interprocess communication (IPC) basic scheduling basic scheduling
Sistemas Operativos Distribuidos (Distributed operating systems) Sistemas Operativos Distribuidos (Distributed operating systems)
Dan la ilusin de una nica memoria enorme (principal yysecundaria) Dan la ilusin de una nica memoria enorme (principal secundaria) Usado para sistemas de ficheros distribuidos. Usado para sistemas de ficheros distribuidos.
Diseo Orientado aaObjetos (Object-oriented design) Diseo Orientado Objetos (Object-oriented design)
Para aadir extensiones modulares aaun ncleo pequeo. Para aadir extensiones modulares un ncleo pequeo. Permite que los programadores personalicen un SO sin perturbar la integridad del sistema. Permite que los programadores personalicen un SO sin perturbar la integridad del sistema.
75
Unix: Unix:
El SO rodea al hardware. El SO rodea al hardware. El SO se llama el ncleo (kernel) El SO se llama el ncleo (kernel) Viene con varios servicios de usuario eeinterfaces: Viene con varios servicios de usuario interfaces:
shell shell C compiler C compiler
76
77
78