Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Sistemas Operativos
2
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 eficiente.
3
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.
4
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.
5
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.
6
Sistemas de Colas de Trabajos
7
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.
8
Sist. de Colas de Trabajo
9
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.
10
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
11
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)
12
Sistemas de Tiempo Compartido
13
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.
14
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.
15
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
16
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.
17
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.
18
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.
19
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) Fin Mientras
20
S. de Tiempo Compartido 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
21
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.
22
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 un microprocesador especializado
23
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 un controlador DMA por dispositivo.
24
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.
25
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.
26
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.
27
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.
28
S. de Tiempo Compartido 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.
29
S. de Tiempo Compartido Tiempo Compartido: – Un programa interactivo es aquel que se comunica con el usuario por medio de un terminal, el usuario le suministra información al programa mediante el teclado, y recibe información del programa a través de la pantalla.
30
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.
31
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
32
S. de Tiempo Compartido Tiempo Compartido: – 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.
33
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.
34
Sistemas Transacciones
35
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
36
Sistemas Transaccionales
Transacción: – Un ejemplo típico es el de la transferencia de fondos entre dos cuentas corrientes. – Queremos transferir, $5000 de la cuenta corriente de A a la cuenta B – Las cuentas tienen $ y $ 0 de saldo
37
Sistemas Transaccionales
Transacción: – A = $ , B = $ 0, Transferir $ 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 $ Sumar $5000 a la cuenta de B, con lo que los saldos quedan A=$15000 y B=$5000
38
Sistemas Transaccionales
Transacción: – Sí entre el paso 2 y el 3 el sistema sufre un error inesperado las cuentas quedarían como A= $ y B= $ 0 – Desaparecieron $ 5.000!
39
Sistemas Transaccionales
• Este ejemplo nos muestra porqué las transacciones tienen un comportamiento deseado de “Todo o nada” • O se realiza completamente o no debe tener ningún efecto.
40
Sistemas Transaccionales
Las propiedades deseables en una transacción son: –Atomicidad: • Han de ser atómicas (indivisibles) ante: – Fallos. – Procesos concurrentes.
41
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.
42
Sistemas Transaccionales
• La atomicidad frente a fallos se suele implementar con mecanismo 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
43
Sistemas Transaccionales
-La seriabilidad 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).
44
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
45
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.
46
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.