Download Sistemas Operativos II - Introducción

Document related concepts
no text concepts found
Transcript
Sistemas
Operativos
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Operativos
• Es un programa que actúa como intermediario
entre el usuario y el hardware de una
computadora.
• Su propósito es:
– proporcionar un entorno en el cual el usuario pueda
ejecutar programas
– lograr que el PC se utilice de manera sencilla y de
eficiente.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Operativos
• Mientras la computadora esté en funcionamiento,
el SO tiene 4 tareas principales:
– Proporcionar una interfaz de línea de comando o
una interfaz gráfica al usuario
– Administrar los dispositivos del hardware
– Administrar y mantener los sistemas de archivos
– Permitir y administrar la ejecución de otros
programas.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Operativos
• Un sistema de computación puede dividirse en
cuatro componentes:
– El hardware
• UCP, memoria y dispositivos E/S
– Los programas de aplicación
• compiladores, sistemas de bases de datos, juegos de video y
programas para negocios
– Usuarios
• personas, máquinas, otros computadores que intentan
resolver problemas diferentes.
– El sistema operativo
• controla y coordina el uso del hardware entre los diversos
programas de aplicación de los distintos usuarios.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Operativos
• Características de los sistemas operativos.
– Conveniencia.
– Eficiencia.
– Habilidad para evolucionar.
– Administrar el hardware.
– Relacionar dispositivos
– Organizar datos para acceso rápido y seguro.
– Manejar las comunicaciones en red.
– Facilitar las entradas y salidas.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas de
Colas de
Trabajos
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sist. de Colas de Trabajo
• Es una aplicación de la teoría de
la probabilidad
– Cola simple
• un servidor que atiende a los requerimientos de los
clientes
• una línea de espera o cola donde los clientes
esperan recibir servicios
• una fuente que genera las llegadas de los clientes
al sistema (cola(s)+servidor(es)).
• La cabecera de la cola es la primera posición y el
final la última.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sist. de Colas de Trabajo
Cabecera
Final
Sala de espera
o cola
Clientes que llegan
Servidor
xxxxxxxxx
Clientes que salen
Sistema
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sist. de Colas de Trabajo
• Los clientes llegan al final de la cola y son atendidos con
una disciplina “primero en llegar, primero en ser atendido”
(FIFO: first in, first out).
• Ejemplo:
– El servidor (CPU) procesa las tareas (clientes).
– El número máximo (finito o infinito) de clientes que
pueden unirse a la cola es la capacidad de la sala de
espera (el tamaño del buffer).
– Si la sala de espera es finita y llega un cliente cuando
la sala está llena, se supone que éste se pierde para
el sistema, es decir, como si nunca hubiera llegado.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sist. de Colas de Trabajo
• Otras disciplinas:
– “último en llegar, primero en ser atendido”
(LIFO: last in, first out).
– orden aleatorio, al azar.
– orden de prioridades entre los clientes
– proceso compartido (PS) donde cada cliente
recibe una proporción igual de la capacidad
del servidor
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sist. de Colas de Trabajo
• Variaciones
– puede haber más de un servidor (colas con
servidores múltiples)
– estos servidores podrían atender a los
clientes:
• a la misma velocidad (servidores homogéneos)
• o a velocidades distintas (servidores
heterogéneos)
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas de
Tiempo
Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• La mayoría de los sistemas operativos
utilizan una técnica de gestión del
procesador denominada:
– multiprogramación o una variante de ésta
llamada tiempo compartido.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Los
primeros
sistemas
operativos
gestionaban el procesador mediante otra
técnica
llamada
monoprogramación
(programación batch)
• Para visualizar las diferencias entre estas, la
multi y la monoprogramción, estudiaremos
las operaciones de E/S en cada caso.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Los Dispositivos de E/S se dividen en:
– El componente eléctrico
• controlador del dispositivo
– El componente mecánico
• el dispositivo propiamente dicho.
• Esta división facilita la comunicación entre el CPU y
el dispositivo
– La comunicación se realiza a través del
controlador
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• El
controlador
contiene
una
serie
de
registros llamados puertos de E/S.
• Estos registros son accesibles utilizando
código de máquina.
• Las operaciones de E/S se realizan leyendo y
escribiendo estos registros.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• En forma genérica:
– Registro de Entrada
• indica la situación actual del dispositivo
– Activo o en espera, por ejemplo)
– Registro de Órdenes
• en él se escriben las órdenes a ejecutar.
– Buffer
• se utiliza para almacenar los datos de la
operación de E/S.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Monoprogramación:
– todos los recursos de la computadora
(CPU, memoria, discos, impresoras, etc)
se dedican a la ejecución de un único
programa.
– Baja utilización de los recursos.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Monoprogramación:
– Cuando el programa en ejecución realiza
una operación de E/S se ejecuta un ciclo
del siguiente estilo:
Leer el registro de estado
Mientras (Este ocupado el dispositivo)
Leer el registro de estado
Fin Mientras
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
– Para aumentar la
recursos
se
multiprogramación.
utilización de
desarrolló
los
la
– La multiprogramación se apoya en varios
elementos del hardware:
• la interrupción
• el DMA
• el canal
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
• La Interrupción:
– detención
temporal
en
un
punto
determinado de un programa
– permitir el acceso y proceso de una
rutina que tomará el control del
sistema.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
• DMA (Memoria de Acceso Directo)
– técnica orientada a la transferencia
de información desde un dispositivo
periférico hasta la memoria principal,
sin utilizar el CPU.
– implementada
bajo
microprocesador especializado
un
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
• El Canal
– es un pequeño procesador de E/S
– su utilidad es proporcionar DMA a
varios dispositivos
– más económico que tener
controlador DMA por dispositivo.
un
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
– En un sistema multiprogramado la
memoria principal alberga a más de un
programa de usuario.
– El CPU ejecuta instrucciones de un
programa, cuando el programa en
ejecución realiza una operación de E/S, en
lugar de esperar a que termine la
operación de E/S, se pasa a ejecutar otro
programa.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
– Si este nuevo programa realiza otra
operación de E/S, se mandan las órdenes
oportunas al controlador, y pasa a
ejecutarse otro programa.
– Esto permite que varios dispositivos
trabajen simultáneamente, además, en el
CPU no se tienen que ejecutar ciclos de
comprobación
del
estado
de
los
dispositivos.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
– Cuando un dispositivo acaba una
operación de E/S se comunica con el
programa que esperaba su finalización a
través de una interrupción
– La interrupción carga en el contador de
programa una dirección fija de memoria
donde reside un programa del sistema
operativo que gestiona la interrupción.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Multiprogramación:
– Este programa ejecutará cierto código
para indicar al programa que esperaba la
finalización de la operación de E/S que
ésta ya terminó.
– Una vez que este programa del sistema
operativo acaba su trabajo ejecuta una
instrucción de retorno de interrupción, la
cual restaura el contador de programa.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Tiempo Compartido:
– Después
de
la
multiprogramación
computadoras
de
aparición
de
surgieron
acceso
múltiple
la
las
o
multiusuario.
– Cada usuario dispone de un terminal
– Los
usuarios
ejecutan
programas
interactivos.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Tiempo Compartido:
– Un programa interactivo es aquel que se
comunica con el usuario por medio de un
terminal,
el
información
usuario
al
le
programa
suministra
mediante
el
teclado, y recibe información del programa
a través de la pantalla.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Tiempo Compartido:
– Los programas de los usuarios comparten
los
recursos
(CPU,
memoria,
discos,
impresoras, etc) de la computadora.
– Estos sistemas hacen uso de una variante
de la multiprogramación llamada tiempo
compartido.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Tiempo Compartido:
– En el tiempo compartido los programas de
los distintos usuarios residen en memoria
– Al realizar una operación de E/S los
programas ceden el CPU a otro programa,
al igual que en la multiprogramación.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Tiempo Compartido:
– Pero cuando un programa lleva cierto
tiempo
ejecutándose
sin
realizar
operaciones de E/S el sistema operativo lo
detiene para que se ejecute otro programa.
– Con esto se consigue repartir el CPU con
equidad entre los programas de los
distintos usuarios.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
S. de Tiempo Compartido
• Tiempo Compartido:
– Al tener el CPU una capacidad de cálculo
tan grande, los programas de los usuarios
no sienten demasiado el hecho de que el
CPU
(y
los
demás
recursos)
sean
compartidos.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas
Transaccionales
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Transacción:
– consiste en una interacción con una
estructura de datos que queremos que sea
equivalente a una interacción atómica (que
se realice de una sola vez)
– Aunque la interacción sea compleja y sea
compuesta de varios procesos que se han
de aplicar uno después del otro
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Transacción:
– Un ejemplo típico es el de la transferéncia
de fondos entre dos cuentas corrientes.
– Queremos transferir, $5000 de la cuenta
corriente de A a la cuenta B
– Las cuentas tienen $ 20.000 y $ 0 de saldo
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Transacción:
– A = $ 20.000, B = $ 0, Transferir $ 5.000
1.Comprobar si en la cuenta A hay dinero
suficiente
2.Restar $5000 de la cuenta de A, con lo
que su saldo pasa a ser de $15000.
3.Sumar $5000 a la cuenta de B, con lo
que los saldos quedan A=$15000 y
B=$5000
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Transacción:
– Sí entre el paso 2 y el 3 el sistema sufre un
error inesperado las cuentas quedarían
como A= $ 15.000 y B= $ 0
– Desaparecieron $ 5.000!
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Este ejemplo ilustra porqué las
transacciones
tienen
un
comportamiento deseado de “Todo
o nada”
• O se realiza completamente o no
debe tener ningún efecto.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Las propiedades deseables en una
transacción son:
–Atomicidad:
• Han de ser atómicas (indivisibles)
ante:
– Fallos.
– Procesos concurrentes.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Serializables:
– Si dos transacciones se ejecutan en
paralelo el resultado ha de ser el mismo
que si se ejecutan una después de la otra.
• Permanentes:
– Una vez realizadas los datos han de ser
visibles al resto del sistema de forma
permanente.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• La atomicidad frente a fallos se suele
implementar con mecanimos de journaling
(llevar un registro de diario en el que se
almacena la información necesaria para
restablecer los datos afectados por la
transacción en caso de que ésta falle)
• La protección frente a accesos concurrentes
mediante bloqueos en las estructuras afectadas.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• La serialibilidad viene garantizada por la
atomicidad.
• La permanencia se suele implementar forzando
a los periféricos encargados de almacenar los
cambios a confirmar la completa y definitiva
transmisión
de
los
datos
al
medio
(generalmente, el disco).
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• La forma algorítmica que suelen tener las
transacciones es la siguiente:
iniciar transacción (lista de recursos a bloquear)
ejecución de las operaciones individuales
if (todo_ok)
aplicar_cambios
else
cancelar_cambios
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• En cualquier momento, el programa podría
decidir que es necesario hacer fallar la
transacción, con lo que el sistema deberá
revertir todos los cambios hechos por las
operaciones ya hechas.
• En el lenguaje SQL se denomina:
– COMMIT: a aplicar_datos
– ROLLBACK: a cancelar_cambios.
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula
Sistemas Transaccionales
• Las transacciones suelen verse implementadas
en sistemas de bases de datos, y, mas
recientemente, se han visto incorporadas a la
gestión de un sistema de archivos
• Por ejemplo:
–
–
–
–
–
–
–
Ext3 de Linux
NTFS de Windows NT
ReiserFS de Linux
Reiser4 de Linux
UFS de SUN Solaris
XFS de IRIX y Linux
JFS de Linux, OS / 2 y AIX
Sistemas Operativos II – ITS – EMT – CETP – 2014 – Prof. L. Carámbula