Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
Sistemas Sistemas OperativosOperativos
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
Sistemas Operativos
• Es un programa o un conjunto de programas 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 – 2016 – A/S L. Carámbula
Sistemas Operativos
• Mientras la computadora esté en funcionamiento, el Sistema Operativo 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 – 2016 – A/S L. Carámbula
Sistemas Operativos
• Un sistema informático puede dividirse en cuatro componentes:
– El hardware • UCP, memoria y dispositivos E/S
– Las aplicaciones• compiladores, sistemas de bases de datos, juegos y
programas para negocios– Usuarios
• personas, máquinas, otras computadoras que intentan resolver problemas diferentes.
– El sistema operativo• controla y coordina el uso del hardware entre las diversas
aplicaciones de los distintos usuarios.
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S 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 – 2016 – A/S L. Carámbula
Sistemas de Sistemas de Colas de Colas de TrabajosTrabajos
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S 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 – 2016 – A/S L. Carámbula
ServidorServidor
x x x x x x x x xClientes que llegan Clientes que salen
Sistema
Sala de esperao cola
Sala de esperao cola
Cabecera
Final
Sist. de Colas de Trabajo
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
Sist. de Colas de Trabajo
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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
Sist. de Colas de Trabajo
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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)
Sist. de Colas de Trabajo
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
Sistemas de Sistemas de Tiempo Tiempo
CompartidoCompartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S 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 – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• Multiprogramación:
– Para aumentar la utilización de los recursos se desarrolló la multiprogramación.
– La multiprogramación se apoya en varios elementos del hardware:
• la interrupción
• el DMA
• el canal
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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 un
microprocesador especializado
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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 un
controlador DMA por dispositivo.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• Tiempo Compartido:
– Después de la aparición de la
multiprogramación surgieron las
computadoras de acceso múltiple o
multiusuario.
– Cada usuario dispone de un terminal
– Los usuarios ejecutan programas interactivos.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• Tiempo Compartido:
– Un programa interactivo es aquel que se
comunica con el usuario por medio de una
terminal, el usuario le suministra
información al programa mediante el
teclado, y recibe información del programa
a través de la pantalla.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
• 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.
S. de Tiempo Compartido
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S L. Carámbula
Sistemas Sistemas TransaccionalesTransaccionales
Sistemas Operativos II – ITS – EMT – CETP – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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 – 2016 – A/S 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