SISTEMA INFORMTICO CONCEPTOS DE HARDWARE INTERRUPCIONES ESTRUCTURA DEL S.O. EVOLUCION DE LOS S.O. ARRANQUE Y PARADA TIPOS DE S.O.
SISTEMA INFORMTICO
Usuario 1 Usuario 2 Usuario 3
Usuario n
Compilador
Ensamblador
Editor
Base de datos
SISTEMA OPERATIVO
HARDWARE
S.O. INTRODUCCIN
.
NIVEL DE S.O
Nivel de lenguaje mquina Y ensamblador
S.O. INTRODUCCIN
Nivel de usuario
En este nivel el usuario no necesita conocimientos informticos sino entender el programa y el problema que trata
S.O. INTRODUCCIN 4
UNIDAD ARITMETICOLOGICA
REGISTROS
D E
UNIDAD DE CONTROL
S.O. INTRODUCCIN
Las CPU actuales tienen dos modos de funcionamiento: modo kernel y modo usuario. En el modo kernel no hay lmites en el acceso a los objetos de la CPU, en el modo usuario hay restricciones en su uso. Los programas de los usuarios se ejecutan en modo usuario. El S.O. se ejecuta en modo kernel. Hay una instruccin (TRAP, no accesible a los usuarios) para intercambiar estos modos de funcionamiento. Las operaciones de E/S y el acceso a la memoria protegida no son posibles en modo usuario. Llamadas al sistema. Es la forma que utilizan los S.O. para ejecutar aquellas acciones que los procesos de usuario no pueden hacer.
S.O. INTRODUCCIN 6
MEMORIA
RAM y ROM. En ella reside el programa mquina a ejecutar y los datos de entrada y salida del programa
UNIDAD DE CONTROL
Se encarga de regular el funcionamiento de los distintos elementos para que funcionen coordinadamente
S.O. INTRODUCCIN
REGISTRO DE ESTADO
Modo Traza Sistema/Usuario T S 15 14 13 12 1 10 9 8 7 6 5 4 3 2 1 0
Mascara De Interrupciones
12 11 10
X N Z V C
S.O. INTRODUCCIN
MODELO DE PROGRAMACIN
Se caracteriza por los siguientes aspectos:
Elementos de almacenamiento
Registros generales Contador de programa Puntero/os de pila Registro de estado Memoria principal Contadores de E/S
Juego de instrucciones
Define las operaciones que es capaz de hacer el ordenador.
Modos de ejecucin
Modo usuario (tiene limitaciones: no permite realizar operaciones de E/S ni modificar parte del registro de estado ni los registros de soporte de gestin de la memoria) Modo ncleo privilegiado (sin limitaciones)
S.O. INTRODUCCIN
S.O. INTRODUCCIN
10
QU ES UN S.O.?
Un S.O. es un programa, pero es un programa un tanto especial o diferente de los dems en el sentido que realiza funciones distintas y no relacionadas y que se describen a continuacin: EL S.O. COMO PROGRAMA
Decimos que el S.O. es un programa (o conjunto de ellos). Desde este punto de vista cumple con los esquemas elementales de todo programa informtico (algoritmos + estructuras de datos). Un S.O. es un programa en el cual los datos lo componen tablas de informacin acerca de los objetos que gestiona:
recursos fsicos (disco, impresoras, CPU... etc.) recursos lgicos (procesos de usuarios, ficheros, tiempo de CPU... etc.)
y la algoritmia es la lgica que se encarga de asignar de forma eficiente esos recursos fsicos a los recursos lgicos.
S.O. INTRODUCCIN
12
INTERRUPCIONES
Los procesadores suelen incluir varias lneas de solicitud de interrupcin, cada una de las cuales puede tener una determinada prioridad. Si se activan al mismo tiempo varias de estas lneas, se atiende la de mayor prioridad, quedando las dems a la espera. Las mas prioritarias suelen ser:
Excepciones hardware asncronas Excepciones hardware sncronas (de programa) Interrupciones externas Llamadas al sistema (TRAP)
El procesador suele incluir un mecanismo de inhibicin selectiva que permite detener todas o determinadas lneas de interrupcin. La inhibicin puede afectar a todas o a las de nivel inferior. Cuando se habilitan, puede que se hayan perdido las que se produjeran durante la inhibicin o puede que hayan sido encoladas.
S.O. INTRODUCCIN
13
INTERRUPCIONES (2)
Las interrupciones se pueden generar por diversas causas
Excepciones hardware sncronas (excepciones software)
Problemas de ejecucin
Operacin invlida en la unidad aritmtica Divisin por cero Operando no normalizado Desbordamiento en el resultado Resultado inexacto en la unidad aritmtica Dispositivo no existente Regin de memoria invlida Desbordamiento de la pila Violacin de los lmites de memoria asignada Cdigo de operacin mquina invalido
Depuracin
Punto de ruptura
Fallo de pgina
S.O. INTRODUCCIN
14
INTERRUPCIONES (3)
Excepciones hardware asncronas
Error de paridad en el bus Error de paridad en la memoria Fallo de alimentacin Lmite de temperatura excedido
S.O. INTRODUCCIN
15
INTERRUPCIONES (4)
S.O. INTRODUCCIN
16
INTERRUPCIONES (5)
S.O. INTRODUCCIN
17
INTERRUPCIONES (6)
ejecutando SO P1.1 Int P1.2 SO P2.1 CP P1.1 P1.2 P1.3 P2.1 P2.2 A ? 3 21 ? 5 U1 3 3 3 3 3 V1 5 5 5 5 5 V3 2 2 2 2 2
P2.2
Int P2.3 SO P1.3
P2.3
P2.4 P1.3 P1.4
-20
-20 21 21
3
3 3 21
5
5 5 5
2
-20 -20 -20
P1.4
Int P1.5 SO P2.4 Int P2.5 SO P1.6 SO P2.6
S.O. INTRODUCCIN
P1.5
P1.6 P2.4 P2.5 P2.6 P1.6 Int P2.6 Int
21
20 -20 -20 -18 20 20 -18 -18
21
21 21 21 21 21 20 20 20
5
5 5 5 5 5 5 5 -18
-20
-20 -20 -20 -20 -20 -20 -20 -20
18
LLAMADAS AL SISTEMA
Retorno al procedimiento llamador (8) Trap al kernel (4) Colocar el cdigo para lectura en el registro (3)
Incrementar contador de programa (9) Llamada al sistema (p.e. Read) (2) Meter datos en la pila (1)
Despachador (5)
(6)
(7)
S.O. INTRODUCCIN
19
S.O. INTRODUCCIN
20
S.O. INTRODUCCIN
21
La funcin pone el nmero de la llamada al sistema en un lugar conocido para el S.O. (un registro del procesador) La funcin utiliza una instruccin TRAP
TRAP cambia de modo ususario a modo privilegiado o sistema
S.O. INTRODUCCIN
22
Se ejecuta la funcin del sistema Acabada la ejecucin de la funcin se retorna el control a la librera de procedimientos (vuelve al modo usuario)
La instruccin a ejecutarse ser la siguiente a la TRAP
Se retorna del procedimiento al programa de ususario El programa de ususario limpia la pila (stack) El programa de ususario puede seguir su ejecucin normal
S.O. INTRODUCCIN
23
ADMINISTRACIN DE PROCESOS
Una de las tareas primordiales de todo S.O. es la ejecucin de programas del usuario. Pero en el sistema existen otros programas en ejecucin que no son los creados por los usuarios. En un sistema con diversos procesos para su ejecucin hace falta llevar una gestin de los mismos, de esta se encarga el S.O. Un proceso necesita determinados recursos: tiempo de CPU, memoria, archivos, dispositivos de E/S... etc. Un S.O. es responsable de las siguientes actividades relacionadas con la administracin de procesos:
Crear y eliminar los procesos de usuario y del sistema. Suspender y reanudar la ejecucin de los procesos. Proporcionar mecanismos para la sincronizacin de los procesos. Proporcionar mecanismos para la comunicacin de los procesos. Proporcionar mecanismos para el manejo de bloques mutuos.
S.O. INTRODUCCIN
24
S.O. INTRODUCCIN
25
S.O. INTRODUCCIN
26
ADMINISTRACIN DE E/S
Uno de los objetivos del S.O. es ocultar al usuario las particularidades de los dispositivos del hardware. Por ejemplo, en UNIX, las particularidades de los dispositivos de E/S se ocultan del resto del sistema operativo por medio de un sistema de E/S, el cual consiste en:
Un sistema de memoria cach mediante buffers. Una interfaz general con los manejadores de dispositivos. Manejadores para dispositivos de hardware especficos (cuya funcin es conocer las particularidades del dispositivo).
S.O. INTRODUCCIN
27
ADMINISTRACIN DE ARCHIVOS
La administracin de archivos puede considerarse uno de los componentes ms visibles de un S.O. Para usar cmodamente un sistema de computacin, el S.O. ofrece una perspectiva lgica uniforme de almacenamiento de la informacin. Un S.O. se vale de las propiedades fsicas de sus dispositivos de almacenamiento para definir una unidad de almacenamiento lgico: el archivo. Por medio del S.O., los archivos se relacionan con los dispositivos fsicos. El S.O. es responsable de las siguientes actividades relacionadas con la administracin de archivos:
La creacin y eliminacin de archivos. La creacin y eliminacin de directorios. El manejo de operaciones primitivas para manipular archivos y directorios. La copia de seguridad de archivos en medios de almacenamiento estables.
S.O. INTRODUCCIN
28
SISTEMA DE PROTECCIN
Los distintos procesos de un S.O. deben ser protegidos unos de otros. Los segmentos de memoria, la UCP, los archivos y otros recursos pueden ser usados nicamente por los procesos que han recibido la correspondiente autorizacin. Por ejemplo, el hardware de direccionamiento a memoria asegura que un proceso slo puede trabajar dentro de su espacio de direcciones. El cronmetro asegura que ningn proceso puede obtener el control de la UCP sin perderlo eventualmente. Por ltimo no se permite que un usuario realice por su cuenta operaciones de E/S, para proteger as la integridad de los dispositivos fsicos.
S.O. INTRODUCCIN
30
S.O. INTRODUCCIN
31
S.O. INTRODUCCIN
32
S.O. INTRODUCCIN
34
S.O. INTRODUCCIN
35
BUFFER
Un buffer, o almacenamiento temporal, es un mtodo para hacer simultnea la E/S de un trabajo con su propio cmputo. Consiste en reservar espacio de memoria para traer o llevar informacin del dispositivo de E/S, as el trabajo se activa porque la lectura o escritura sobre el dispositivo puede hacerse en un momento diferente al de su utilizacin lgica por la UCP. El manejo de buffers es generalmente una funcin del sistema operativo. El monitor residente o los manejadores de dispositivo incluyen buffers del sistema para cada dispositivo de E/S.
Los trabajos de esta poca se caracterizaban por estar limitados por E/S con lo que la utilizacin de buffers no era suficiente.
S.O. INTRODUCCIN 39
SPOOLING
La utilizacin del disco supuso una evolucin importante para los sistemas operativos.
Al disponer de un acceso directo a la informacin, la utilizacin de la misma no es imperativo que se haga de forma secuencial. Esto va a permitir que se pueda simultanear la utilizacin de un dispositivo de E/S de un programa con el procesamiento de otro programa. A esta forma de trabajo se la conoce como spool (simultaneous peripheral operation on-line). Fundamentalmente se trata de utilizar el disco como un gran buffer de almacenamiento masivo.
El spooler puede llevarse al extremo de llevar a disco toda una cinta y gravar la misma de nuevo al disco, posteriormente se imprime la salida. A esta operacin se la conoce como pasar por etapas (staging) la cinta. La utilizacin del spooling proporciona una estructura de datos muy importante: el deposito de trabajos (job pool). Al disponer de varios trabajos almacenados en disco, se puede seleccionar el orden de entrada (con la cinta el orden es secuencial) y mejorar el rendimiento del sistema, esto hace necesaria una planificacin del trabajo.
S.O. INTRODUCCIN
40
MULTIPROGRAMACIN
Creado el software que permita un control del spool es lgico pensar que el siguiente paso es poder simultanear la ejecucin de diversos trabajos la UCP. Teniendo en cuenta que el paso significa cambiar de un proceso a otro por abandono del anterior de la UCP. Esto paso implica para el sistema operativo la necesidad de determina cual es el proceso al que se le va a asignar la UCP, esta decisin se conoce como planificacin de la UCP.
S.O. INTRODUCCIN
41
TIEMPO COMPARTIDO
El tiempo compartido (o multitarea) es una extensin lgica de la multiprogramacin. La UCP ejecuta las diversas tareas alternando entre ellas pero los cambios se hacen por iniciativa del sistema operativo, el cual va asignando tiempo (quantum) a cada proceso y va permitiendo que todos se vayan ejecutando "simultneamente". Esto implica la necesidad de una mejor planificacin de trabajos para decidir cuestiones como: a quien se le asigna la CPU?, duracin del quantum? ...etc.
Adems, permite una interaccin entre el programa y el usuario. Antes los programas se ejecutaban de forma secuencial y esto tena implicaciones para los programadores pues tenan que prever todas las posibilidades de desarrollo de los programas.
S.O. INTRODUCCIN 42
Bajo el control del cargador (boot) del S.O. Inicializacin bajo el control de la parte residente del S.O.
Entra en la fase normal de funcionamiento del S.O. a la espera de que se produzca una interrupcin
S.O. INTRODUCCIN
43
S.O. INTRODUCCIN
44
S.O. INTRODUCCIN
46
TIPOS DE S.O.
ESTRUCTURA MONOLTICA
Mdulo a Mdulo b
Mdulo c
Mdulo d Mdulo f
Mdulo e
S.O. INTRODUCCIN
47
TIPOS DE S.O.
ESTRUCTURA JERRQUICA
Gestin de CPU Gestin de E/S
Gestin de memoria
Gestin de la Informacin Intrprete de comandos Spool
Aplicacin De usuario
S.O. INTRODUCCIN
48