La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

¿Que es un Sistema Operativo? Un Sistema Operativo es un programa que tiene encomendadas una serie de funciones diferentes y cuyo objetivo es simplificar.

Presentaciones similares


Presentación del tema: "¿Que es un Sistema Operativo? Un Sistema Operativo es un programa que tiene encomendadas una serie de funciones diferentes y cuyo objetivo es simplificar."— Transcripción de la presentación:

1

2 ¿Que es un Sistema Operativo?

3 Un Sistema Operativo es un programa que tiene encomendadas una serie de funciones diferentes y cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciendolo seguro y eficiente

4 Sist. Oper Monotarea Multitarea

5 S.O. Monotarea Un sistema se dice que es monotarea cuando divide la permite tener en un solo proceso de usuario en la memoria además del sistema operativo y hasta que este proceso de usuario no termine no permite cargar otro. programa de usuario.

6 S.O. Multitarea Un sistema se dice que es multitarea cuando permite que coexistan varios procesos activos a la vez

7 Sist. Oper Gestión de recursos Ejecución de servicios para los programas Ejecución de los mandatos y ordenes de los usuarios Tareas del sistema operativo

8 Sistema operativo como gestor de recursos a) Asignación de recursos b) Protección c) Monitoreo de recursos d) ejecución de programas

9 Dispositivo que está a disposición para ser utilizado, generalmente es administrado por el Gestor o administrador de recursos del S.O. dependiendo de las condiciones existente RECURSO

10 Unidades de almacenamiento A B C Z Disquetera Disco duro Disco secundario particiones de Discos C.D. Grabadoras cintas de respaldo otros periféricos de almacenamiento

11

12 Proceso Lotes (Batch) Ent./Sal Impresión Asignación de memoria almacenamiento

13 ¿Que es un Proceso?

14 Cualquier tarea activa es un proceso en ejecución Estas pueden ser creadas por el usuario o responsabilidad directa del sistema operativo

15 El proceso en general es un programa en ejecución Este puede ser creado, ejecutado y destruido, por el Sistema Operativo de acuerdo con las ordenes que imparte el usuario

16 Control de procesos Ejecución de programas Controlar las condiciones de ejecución Comunicar y sincronizar un programa con otros

17 Estados de los Procesos En estado de ejecución (si tiene en ese momento la CPU). En estado de listo (cuando podría usar una CPU, si hubiera una disponible). En estado bloqueado (si espera que ocurra algo).

18 Lista de listos –Se mantiene en orden de prioridades. Lista de bloqueados –Desordenada. –Los procesos se desbloquean en el orden en que tienen lugar los eventos que están esperando.

19 Transiciones de estado de Procesos Cuando un proceso es admitido, es insertado en la Lista de listos y se va moviendo hacia la cabeza a medida que se completan los procesos anteriores. Cuando llega a la cabeza y la CPU está disponible, hace una transición del estado de listoal de ejecución.

20 La asignación del primer proceso es llamado despacho y es ejecutado por el despachador. Mientras tenga la CPU, está en ejecución. Para evitar que un proceso monopolice el sistema, se ajusta un reloj de interrupción, volviéndolo al estado de listo.

21 El Bloque de Control Es una estructura de datos que contiene cierta información acerca del proceso : –Estado actual del Proceso. –Identificación única del Proceso. –Prioridad del Proceso. –Apuntadores para localizar la memoria del proceso. –Area para preservar registros. Mantiene la información que precisa para reiniciar el proceso cuando consiga la CPU.

22 Operaciones sobre Procesos Un Sist.Operativo que administre procesos por lo menos debe ser capaz de realizar: –Crear un Proceso –Destruir un Proceso –Reanudar un Proceso –Cambiar la prioridad de un Proceso –Bloquear un Proceso –Despertar un Proceso –Despachar un Proceso

23 La Creación de un Proceso implica, por lo menos : –Dar nombre al Proceso –Insertar un Proceso en la Lista de Procesos conocidos –Determinar la prioridad inicial del Proceso –Crear el bloque de control de Proceso –Asignar los recursos iniciales del Proceso

24 Un proceso puede crear un nuevo Proceso –Padre e hijo –Cada hijo, un solo padre –Cada padre puede tener varios hijos La destrucción de un proceso es mas complicada: –En algunos SO un proceso se destruye automáticamente al destruir al padre –En otros continúan independientemente de sus padres –Proceso 1 (uno), padre de todos ?

25 Procesamiento de Interrupciones Una interrupción es el evento que altera la secuencia en que el procesador ejecuta las instrucciones. Cuando ocurre la interrupción(que es generada por el Hardware), entonces : –El SO obtiene el control. –El SO salva el estado del proceso interrumpido. –El SO analiza la interrupción y pasa el control a la rutina apropiada.

26 Una interrupción debe ser iniciada por un proceso en ejecución. ó Por un evento no relacionado con dicho proceso.

27 Tipos de Interrupciones El siguiente es el esquema de los procesadores IBM de gran porte –Interrupciones SVC (llamada al Supervisor) –Interrupciones de Entrada/Salida –Interrupciones externas –Interrupciones de reinicio –Interrupciones de verificación de programa –Interrupciones de verificación de la máquina

28 Kernel (núcleo) del SO Las operaciones que implican procesos son controladas por una parte de la programación del SO, que es llamada núcleo ó kernel. Suele permanecer en la memoria principal. Una de sus funciones mas importantes es el proceso de las interrupciones ya que la rápida respuesta a ellas mide la perfomance.

29 Funciones del Núcleo Manipulación de interrupciones. Creación y destrucción de procesos. Cambio de estados de procesos. Suspensión y reanudación de procesos. Sincronización de procesos. Comunicación entre procesos. Manipulación de bloques de control que se encarga de el despacho de procesos.

30 Soporte de las actividades de E/S Soporte de la asignación y liberación del almacenamiento. Soporte del Sistema de Archivos. Soporte de un mecanismo de llamada/retorno al procedimiento. Soporte de ciertas funciones contables del SO.

31 Habilitación e inhabilitación de interrupciones Al núcleo suele entrarse mediante una interrupción. El núcleo inhabilita las interrupciones mientras responde a ellas. Una vez determinada la causa de la interrupción, el núcleo pasa su procesamiento al proceso específico del sistema diseñado para manejar ese tipo de interrupción.

32 Administración de la memoria

33 La parte del Sistema Operativo que administra la utilización de la memoria se llamaADMINISTRADOR DE LA MEMORIA Sus funciones son: –Llevar un registro de la memoria que se está utilizando. –Llevar un registro de la memoria libre. –Asignar espacio a los procesos cuando la necesiten y liberarla al terminar. –Administrar el intercambio entre la memoria principal (virtual) y el disco.

34 Administración Sin Paginación: No desplazan los procesos de la memoria principal al disco. Son los mas sencillos pero mas lentos. Con los precios de la memoria, es posible que éste tipo de administración vuelva a utilizarse.

35 Monoprogramación: –Un proceso por vez cargado en la memoria. –La memoria se encuentra dividida entre el Sistemas Operativo y el Proceso. –El SO podría estar al principio ó al final de la memoria.

36 Multiprogramación: –Permite aprovechar los tiempos en que los procesos se encuentran esperando operaciones de ES. –Facilita la atención de una aplicación al dividirla en dos ó mas procesos. –Permite manejar varios usuarios en forma simultanea e interactiva.

37 Multiprogramación con particiones fijas

38 Es la manera mas sencilla de dividir la memoria (partes iguales ó distintas). Cualquier espacio que no sea utilizado por una tarea se pierde. Este sistema con particiones fijas elegidas por el operador al principio del día fue utilizado durante varios años por IBM OS/360 y se llamó MFT.

39 Reasignación y protección Son dos problemas esenciales a resolver en la multiprogramación. Una posible solución es modificar las instrucciones del programa al cargarlo a memoria. Lo que se hace es sumar como base de cálculo la dirección del comienzo de la partición que le toque y sumarle la dirección de la instrucción.

40 Esta técnica se conoce como: –Base + Desplazamiento Se debe incluir en el programa una lista ó mapa de bits que indique cuales son direcciones a reasignar y cuales son elementos que no deben ser reasignados. Esto no resuelve que un programa escrito con maldad siempre apunte a una dirección fija.

41 No existe forma de evitar que un programa construya una instrucción de lectura ó escritura en una dirección de memoria. Obviamente, no es deseable que se utilice memoria del SO ó asignada a otros usuarios. IBM optó por colocar una contraseña de 4 bits a bloques de 2 Kb de memoria. La IBM/360 detenía cualquier acceso a una parte de la memoria cuyo código de protección fuera distinto.

42 Puesto que el Sistema Operativo era el único autorizado para modificar los códigos y las claves de protección, los procesos de los usuarios no podían interferir entre sí y con el sistema operativo.

43 Intercambio y Paginación: Es denominado el traslado del disco hacia la memoria principal y viceversa. Se utiliza cuando se trabaja en tiempo compartido y existen mas usuarios que los que puede albergar la memoria principal.

44 Multiprogramación con particiones variables

45 En la práctica las particiones fijas no son muy adecuadas ya que la mayor parte de la memoria se desperdicia con programas menores que sus particiones. Al utilizar particiones variables el número y tamaño de los procesos varia en forma dinámica durante el día. Mejora el uso de la memoria pero hace mas compleja su asignación y re-asignación.

46 Una técnica es compactar la memoria: –Combinar todos los huecos en uno grande, si se mueven todos los procesos hacia la parte inferior. –Consume mucho tiempo de CPU – Una máquina de 1Mb de memoria tardaría un segundo en realizarlo. Si se espera que la mayoría de los procesos crezcan a medida que se ejecutan, sería buena idea asignar memoria adicional.

47 Existen tres formas utilizadas por los Sistemas Operativos para registrar el uso de la memoria: –Mapa de bits –Listas –Sistemas amigables Analizaremos las listas

48 Administración con listas ligadas: Se trata de una lista con punteros a los segmentos de memoria asignados ó libres, en dónde un segmento puede ser un proceso ó un hueco entre dos procesos. Cada entrada de a lista direcciona a un espacio libre ó a un proceso.

49 Cada uno de los nodos incluye: –Dirección en donde comienza el espacio apuntado. –Su longitud. –Un puntero a la siguiente entrada. Normalmente la lista de segmentos está ordenada por direcciones.

50 Un proceso que termina, en general tiene dos vecinos (excepto cuando se encuentra en alguno de los bordes de la memoria). Estos vecinos pueden ser procesos ó espacios libres, lo que produce cuatro combinaciones posibles.

51

52 Cuando se mantiene una lista ordenada por direcciones, existen diferentes algoritmos para asignarle memoria a un proceso nuevo: Primero en ajustarse (first fit): –Se revisa toda la lista hasta encontrar un espacio lo suficientemente grande. –El espacio se divide en dos parte: El proceso La memoria no utilizada –Es lo más rápido.

53 Mejor ajuste (best fit): –Se busca en toda la lista hasta encontrar el espacio mas adecuado. –Es mas lento ya que tiene que revisar toda la lista antes de definir la asignación. –Tiende a definir la memoria con espacio libres pequeños, sin utilidad. Peor ajuste (worst fit): –Se trata de tomar siempre el espacio libre mas grande. –Tampoco es una buena idea.

54 Se pueden mejorar éstos algoritmos con dos listas: –Una para los procesos. –Otra para los espacios libres, ordenada por tamaños. Ajuste rápido: –Se mantiene una lista independiente para los tamaños utilizados mas frecuentemente.

55 Memoria Virtual La idea es que la combinación de programa, datos y necesidades de crecimiento puedan exceder la cantidad de memoria disponible para el proceso. El SO mantiene aquellas partes del programa que se utilizan en cada momento en la memoria principal y el resto permanece en disco.


Descargar ppt "¿Que es un Sistema Operativo? Un Sistema Operativo es un programa que tiene encomendadas una serie de funciones diferentes y cuyo objetivo es simplificar."

Presentaciones similares


Anuncios Google