procesos

70
1 Capítul Capítul o o Proceso Proceso

Upload: lasp0lllas

Post on 11-Jul-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procesos

1

CapítuloCapítuloProcesoProceso

Page 2: Procesos

2

Todos los SO, desde los sistemas monousarios hasta los sist. de grandes computadores , que soportan miles de usuarios, están construidos en torno al concepto de proceso.

Page 3: Procesos

3

Los requisitos principales que debe satisfacer un SO están expresados haciendo referencia a los procesos:

-SO debe intercalar la ejecución de un conj. de procesos para maximizar la utilización del procesador, ofrecinedo a la vez un tiempo de resp. razonable.

- SO debe asignar los recursos a los procesos en conformidad con una politica (ej. prioridad), evitando al mismo tiempo el interbloqueo

- SO da soporte a la comunicación entre procesos y la creación de procesos por parte del usuario.

Page 4: Procesos

4

¿QUÉ ES UN PROCESO?¿QUÉ ES UN PROCESO?

- Definición: Un Proceso es una abstracción de un programa en ejecución código + recursos (tiempo de CPU, memoria, accesos a E/S, etc.)

- El proceso es una únidad mínima de trabajo con entidad particular: tarea en un sistema lineal, un programa ejecutado en un sistema a tiempo compartido, cada tarea propia del SO, entendidas (abstracción) como tareas secuenciales, aunque en realidad no usen toda la CPU.

Proceso A

Proceso B

Proceso C

Proceso DTiempo de CPU

Proc

eso A

B

C

D

Planificadorde

Procesos

Page 5: Procesos

5

ProcesoProceso

• Es un concepto fundamental en la estructura de SO

• Término más general que trabajo (job)

• Se define como:– programa en ejecución– entidad básica que puede ser asignada a unprocesador y ejecutada en él

Page 6: Procesos

6

¿Qué hay en un proceso?¿Qué hay en un proceso?

Para representar un proceso debemos recoger toda la información que nos de el estado de ejecución de un programa. Es decir:

- el código y datos del programa, una pila de ejecución, el PC indicando la próxima instrucción, los valores actuales del conjunto de registros de la CPU, un conjunto de recursos del sistema (memoria, archivos abiertos, etc.).

Page 7: Procesos

7

Page 8: Procesos

8

La fig. anterior indica la forma en que pueden implementarse los procesos

Ej. Hay 2 procesos, A y B, en memoria principal. Cada proceso tiene un espacio/bloque de memoria que contiene: programa+datos+contexto.

Cada proceso es registrado en una lista de proceso manejada por el SO. La lista contiene una entrada para cada proceso y se dispone de un puntero a la posición del bloque de memoria que contiene el proceso.

El registro de índice del proceso (I.Pr) contiene el índice , dentro de la lista de procesos, del proceso que está actualmente controlando al procesador.

Page 9: Procesos

9

El contador del programa (PC) apunta a la próxima instrucción del proceso que se ejecutará.

Los registros e Base y de Límite definen la región de memoria ocupada por el proceso.

En el ejemplo, el registro de I.Proc indica que el proceso B está ejecutandose. El proceso A esta ejecutandose con anterioridad, pero fue interrumpido temporalmente. El contenido de todos los registros en el momento de la interrupción de a fue registrado en su CONTEXTO de ejecución.

Más tarde la CPU podrá llevar a cabo un cambio de contexto y reanudar la ejecución del proceso A.

Page 10: Procesos

10

Un proceso puede estar ejecutandose o esperando su ejecución. El “estado” del proceso está contenido en su contexto.

Esta estructura permite la coordinación entre procesos. Se incorporan nuevas características al SO (ej. Prioridades) mediante la ampliación del contexto.

Un proceso esta normalmente es uno de los sig. estados:

- Running (ejecutandose): proceso ejecutandose en CPU

- Ready (preparado): proceso esperando ser asignado a algún procesador

- Blocked (bloquedo): proceso esperando algún evento para estar en estado ready

Page 11: Procesos

11

Page 12: Procesos

12

La mision principal del procesador es ejecutar las instrucciones de la maquina que residen en la memoria principal. Estas instrucciones se dan en la forma de programas que contienen secuencias de instrucciones.

El procesador ejecutará instrucciones de entre un reportorio en una secuencia dictada por los valores cambiantes de un registro, contador de programa (PC, Prog. Counter) o puntero a las instrucciones.

A lo largo del tiempo este contador puede apuntar a codigo de programas diferentes que son parte de diferentes aplicaciones.

En este contexto la ejecución de un programa se conoce como proceso o tarea.

Page 13: Procesos

13

El comportamiento de un proceso, puede caracterizarse por el listado de la secuencia de instrucciones que se ejecutan para dicho proceso. Dicho listado se llama traza del proceso.

La fig. siguiente muestra la disposicion en la memoria de 3 procesos, los que son representados por programas que estan cargados por completo en la memoria principal. Además hay un pequeño prog. Distribuidor que asigna el procesador de un proceso a otro.

Page 14: Procesos

14

Page 15: Procesos

15

Lo sig. muestra las trazas de los tres procesos durante la primera parte de la ejecucion.

Se muestran las 12 primeras instruccions ejecutadas en los procesos A y C. El proceso B ejecuta 4 instruciones y se supone que la cuarta instrucción invoca una oper E/S por la que el proceso debe esperar

Traza Proc A Traza ProcB Traza ProcC

α+0 β+0 γ+0

... ... ...

α+11 β+3 γ+11

Page 16: Procesos

16

Vamos a considerar ahora estas trazas desde el pto. de vista del procesador.

Se muestran las trazas intercaladas resultantes de los primeros 52 ciclos de instrucción.

Se supone que SO permite a un proceso continuar su ejecución sólo por un máximo de seis ciclos de instrucción, despues de los cuales es interrumpido, impidiendo que un solo proceso monopolice el tiempo del procesador.

Se ejecutan las primeras 6 instruc. del proceso A, seguidas del fin de plazo (time-out) y la ejecución de cierto codigo del distribuidor (δ), que pasa el contro al proceso B. Despues de ejecutar 4 instruc., este solicita una accion E/S por la que debe esperar. Se detiene ejecucion proc B y se pasa al proc C.. Y luego al A, etc.

Page 17: Procesos

17

α+0 δ+0

... ...

α+5 δ+5

FinPlazo γ+0

δ+0 ..

... γ+5

δ+5 FinPlazo

β+0 δ+0

... ...

β+3 δ+5

Solicitud E/S α+6 ...etc

Page 18: Procesos

18

Page 19: Procesos

19

La responsabilidad principal del SO es el control de la ejecución de los procesos, esto incluye la determinación de las pautas de intercalado que se van a seguir y la asignación de recursos a los procesos.

Para poder diseñar el SO de una forma efectiva, se necesita tener un modelo claro del comportamiento de un proceso.

El primer paso para diseñar un prog. que controle los procesos es describir el comportamiento que se querría que presentaran los procesos

Page 20: Procesos

20

Ciclo de vida de los procesosCiclo de vida de los procesos

- Modelo sencillo ( 2 estados)

- Modelo de cinco (5) estados

- Modelo general (6 estados)

- Modelo de siete (7) estados

Page 21: Procesos

21

..

El ciclo de vida de los procesos describe el comportamiento que se quiere que exhiban

Existen varios modelos dependiendo de la complejidad que el sistema operativo sea capaz de soportar

Page 22: Procesos

22

El modelo más sencillo que puede construirse tiene un cuenta que un proceso puede estar ejecutandose en el procesador o no. Así un proceso puede estar en uno de 2 estados: Ejecución o No_Ejecución.

Modelo de procesos con 2 estados

No Ejecucion Ejecucion

Expedir

Interrumpir

Entrar Salir

Page 23: Procesos

23

..

Page 24: Procesos

24

..

Cuando SO crea un nuevo proceso , este entra en el sistema en estado de NO_Ejecución.

De este modo, el proceso existe, es conocido por el SO y está esperando la oportunidad de ejecutarse.

De cuando en cuando, el proceso que está ejecutando será interrumpido y el programa Distribuidor del SO seleccionará un nuevo proceso para que se ejecute.

El proceso anterior pasa del estado Ejecución al estado de No_Ejecución y uno de los demás procesos pasará al estado de Ejecución.

Page 25: Procesos

25

..

Incluso en este modelo tan simple, se aprecian elementos de diseño del So.

Cada proceso debe representarse de forma que el SO pueda seguirle la pista, es decir debe haber información relativa a cada proceso, incluyendo su estado actual y su posición en memoria.

Aquellos procesos que no están ejecutandose tienen que guardarse en algún tipo de cola, para que esperen su turno de ejecución.

Cada entrada de la cola es un puntero a un proceso .

Page 26: Procesos

26

..

El comportamiento del distribuidor se puede describir en termino de un diagrama de colas.

Cuando el proceso se interrumpe, se le pasa a la cola de procesos en espera.

Por otra parte, si un proceso termina o se abandona, se le descarta del sistema (sale del sistema). En cualq. caso, el distribuidor selecciona entonces un proceso de la cola para ejecutarlo.

Page 27: Procesos

27

Diagrama del modelo de 2 estados

Page 28: Procesos

28

..

Si todos los procesos estuvieran siempre listos para ejecutar, entonces este modelo de 2 estados sería eficaz.

La cola es FIFO, y el procesador opera según un turno rotatorio (round robin) con todos los procesos disponibles, es decir a cada proceso de la cola se le otorga una cierta cantidad de tiempo para ejecutar y luego vuelve a la cola, a menos que se bloquee.

Esta implementación NO es adecuada.

Page 29: Procesos

29

..

Algunos procesos en el estado de NO ejecución están listos para ejecutar, mientras que otros están bloqueados, esperando a que termine una operación de E/S.

Así pues, utilizando una cola sencilla, el distribuidor podría no seleccionar exactamente el proceso que está en el extremo más antiguo de la cola.

Más bien el distribuidor tiene que recorrer la cola buscando el proceso que no este “NO bloqueado” y que lleve más tiempo en la cola.

Page 30: Procesos

30

¿Es suficiente con tener los estados “Ejecución” y “No¿Es suficiente con tener los estados “Ejecución” y “Noejecución”?ejecución”?

• Problema: Procesos que no pueden ejecutarse (por realizar E/S)retienen la CPU.

• Solución:1. Dividir “No ejecución” en dos estados:

A. Bloqueado esperando un suceso (esperando E/S).B. Listo (no está en E/S).

2. Dividir cola “no ejecución” en:A. Cola listos.B. Cola bloqueados.

• Es posible incluir nuevos estados– new, exit

Page 31: Procesos

31

Una forma más natural de afrontar esta situación es dividir el estado de “No Ejecución” en 2 estados:

- Listo

- Bloqueado

Además incluir 2 estados (Nuevo y Terminado). Estos estados son útiles para la gestión de procesos.

El estado “Nuevo” corresponde a los procesos que acaban de ser definidos

El estado “Terminado” corresponde a los procesos que salen del sistema

Modelo de procesos con 5 estados

Page 32: Procesos

32

..

Page 33: Procesos

33

Los cinco estados de este nuevo diagrama son:Los cinco estados de este nuevo diagrama son:

- EJECUCIÓN: Es el proceso que esta actualmente en ejecución. Este modelo supone computadores con un único procesador, de forma que sólo un proceso, a lo sumo, puede estar en este estado en un instante dado.

- LISTO: Proceso que está preparado para ejecutar, en cuanto se le dé la oportunidad

- BLOQUEADOS: Proceso que no puede ejecutar hasta que se produzca cierto suceso, como la terminación de una operación de E/S

- NUEVO: Proceso que se acaba de crear, pero que aún no ha sido admitido por el SO en “Listo”

- TERMINADO: Proceso que ha sido excluido por el SO del grupo de procesos ejecutables.

Page 34: Procesos

34

..

Veamos más detalle:

Si un nuevo trabajo es remitido para su ejecución, el SO define un nuevo proceso en 2 pasos:

El SO lleva a cabo algunas tareas necesarias de gestión interna:

- Se le asocia un identificador al proceso y

- se construyen y asignan algunas tablas necesarias para gestionar el proceso.

En este punto el proceso estará en el estado “Nuevo”. Esto significa que el SO ha llevado a cabo las acciones necesarias para crear el proceso pero NO se ha comprometido aún su ejecución.

Un SO limita la cant. de procesos que pueden estar en el sistema por razones de rendimiento o de limitación de memoria..

Page 35: Procesos

35

..Del mismo modo, un proceso sale del sistema en 2 pasos:

1) El proceso termina cuando:

- llega al punto normal de terminación,

- se abandona debido a un error irrecuperable

- u otro proceso con la debida autoridad hace que el proceso abandone.

La terminación pasa el proceso al estado “Terminado”. En este punto, el proceso ya no se elige más para la ejecución.

2) Sin embargo las tablas y la información asociada con el trabajo son conservadas temporalmente por el SO, para que programas auxiliares o de soporte extraigan información necesaria. Luego el SO borra del sistema toda la inform. Relativa al proceso.

Page 36: Procesos

36

Transiciones de Estado de un procesoTransiciones de Estado de un proceso

- Nulo -> Nuevo

- Nuevo -> Listo

- Listo -> Ejecución

- Ejecución - > Terminado

- Ejecución -> Listo

- Ejecución -> Bloqueado

- Bloqueado -> Listo

Page 37: Procesos

37

..

Algunos motivos por los que un proceso puede pasar de NULO NULO a NUEVOa NUEVO, ser creado son los siguientes:

· Un nuevo usuario se conecta al sistema.

· El sistema operativo crea un proceso para que realice un determinado servicio.

· Un proceso puede crear/generar otros procesos, ej. aprovechar paralelismo.

· Es el siguiente trabajo de un procesamiento por lotes (batch).

Page 38: Procesos

38

..

EL SO pasará un proceso del estado NUEVO a LISTONUEVO a LISTO cuando esté preparado para aceptar un proceso más.

La mayoría de los sistemas ponen un límite en función del número de procesos existente o en la cantidad de memoria dedicada a los procesos existentes..

El motivo de este límite es asegurar que no haya tantos procesos activos como para degradar el rendimiento

Page 39: Procesos

39

..

LISTO a EJECUCION:LISTO a EJECUCION:

Cuando es hora de seleccionar un nuevo proceso para ejecutar, el SO elige a uno de los procesos del estado Listo.

Hay distintos tipos de planificación cada uno con sus respectivos algoritmos

- Planificación a Largo Plazo

- Planificación de Mediano Plazo

- Planificación a Corto Plazo

- Planificación de E/S

.esto se verá en detalle más adelante (!!)

Page 40: Procesos

40

..

Las causas por las que un proceso para de EJECUCION a TERMINADO pueden ser las siguientes:

· El proceso ejecuta una llamada al sistema indicándole que ha terminado.· El proceso requiere más memoria de la que el sistema puede suministrarle y no hay disponible.· Violación de límites, como acceder a una posición de memoria a la que no la está permitido acceder.· Se excede un límite de tiempo de espera·Errores de protección, aritméticos, intento de ejecutar instrucciones no existentes o no permitidas en modo usuario, etc.· El operador del sistema o el usuario decide eliminar el proceso.· Fallo de E/S· Terminación de proceso padre

Page 41: Procesos

41

..

EJECUCION a LISTO:EJECUCION a LISTO:

La razón más común de esta transición es que el proceso que está en ejecución ha alcanzado el tiempo máximo permitido de ejecución ininterrumpida.

Todos los SO con multiprogramación imponen este tipo de norma de tiempo.

Hay otras causas, pero que no están implementadas en todos los SO, ejemplo: proceso de mayor prioridad luego de salir de bloqueado y pasar a Listo, puede reemplazar a otro proceso de menor prioridad que esta Ejecutandose.

Page 42: Procesos

42

..

Los motivos por las que un proceso pasa de EJECUCION a EJECUCION a BLOQUEADOBLOQUEADO (solicita algo por lo que debe esperar) son:

· Llamadas a servicios del sistema (procedimiento que forma parte del código del SO) que no está preparado/disponible para llevar a cabo de inmediato.· El sistema operativo lleva el proceso a disco (swapping) para permitir la ejecución de otros procesos.·El proceso inicia una acción, como una operación de E/S , que debe terminarse antes de que el proceso pueda continuar.· Un proceso se puede ejecutar de forma periódica y debe esperar hasta que llega el siguiente intervalo.· Un proceso se comunica con otro, pero debe esperar a que el otro proceso le proporcione una entrada o un mensaje

Page 43: Procesos

43

..

Un proceso pasará de BLOQUEADO a LISTOBLOQUEADO a LISTO:

Cuando se produzca el suceso que estaba esperando.

Page 44: Procesos

44

Diagrama del modelo de 5 estadosDiagrama del modelo de 5 estados

Hay 2 colas. Listos y Bloqueados.

Este diagrama no considera prioridad, por ahora se debería recorre cada Cola en busca de el proceso de mayor prioridad. Puede considerarse varias colas de Listos y Bloqueados cada una con un nivel de prioridad. EL SO puede saber fácilmente cual es el proceso de prioridad más alta que lleva más tiempo esperando.

Page 45: Procesos

45

..

Si bien se han construido SO empleando solamente estos 3 estados, se requieren añadir más estados al modelo de 5 estados.

Cada proceso que va a ejecutarse debe ser cargado por completo en la memoria principal. Todo esto para rapidez del procesador y porque las actividades de E/S son mucho más lentas que las de cálculo, y puede llegar a darse que todos los procesos estén esperando por E/S.

¿ que podemos hacer ?

Page 46: Procesos

46

..1) La memoria podría ampliarse para alojar más procesos.

Pero esto tiene un soto asociado a la memoria, que crece cuando hablamos de GigaBytee , TeraBytes y PentaBytes

2) El intercambio, lo que significa mover una parte del proceso o todo de la memoria principal a disco .

Cuando ninguno de los procesos en memoria principal está en estado LISTO, el SO expulsa a disco a uno de los procesos que este BLOQUEADO y lo pasa a una nueva cola de SUSPENDIDO. Esta es una cola de procesos existentes que han sido sacados de la memoria principal.

Page 47: Procesos

47

Cabe recalcar que el intercambio es una operación de E/S, pero esta E/S con el disco es más rápida que con una cinta, impresora, etc., po lo que mejora el rendimiento.

Por ende al modelo existente debemos agregarle un nuevo estado (Suspendido)

Luego el SO cuando haya realizado una operación de intercambio de un proceso a disco, tendrá 2 opciones para seleccionar el proceso que va a traer a memoria:

- admitir un proceso recién creado

- traer un proceso suspendido previamente

Modelo de procesos General (6 estadosModelo de procesos General (6 estados))

Page 48: Procesos

48

..

Page 49: Procesos

49

Estados PosiblesEstados Posibles

Page 50: Procesos

50

..

Pero aún con esta línea de razonamiento se presenta una dificultad.

Todos los procesos que fueron SUSPENDIDO estaban en el estado BLOQUEADO en el momento de la suspención. Realmente no hará ningún bien traer de nuevo a memoria principal un proceso BLOQUEADO porque NO está todavía listo para ejecutarse.

Un proceso en estado SUSPENDIDO fue bloqueado originalmente por un suceso concreto; cuando se produzca tal suceso, el proceso se desbloqueará y estará disponible para su ejecución.

Page 51: Procesos

51

..

Page 52: Procesos

52

Se crean 2 estados más:

- Suspendido Bloqueado:

El proceso esta en memoria secundaria esperando un suceso

- Suspendido Listo:

El proceso está en memoria secundaria pero está disponible para su ejecución tan pronto como se cargue en la memoria principal.

Modelo de procesos de 7 estadosModelo de procesos de 7 estados

Page 53: Procesos

53

..

Page 54: Procesos

54

..

Expliquemos las nuevas transiciones:Expliquemos las nuevas transiciones:

- Bloqueado -> Suspendido Bloqueado

- Suspendido Bloqueado -> Suspendido Listo

- Suspendido Listo -> Listo

- Listo -> Suspendido Listo

- Nuevo -> Suspendido Listo

- Nuevo -> Listo

- Suspendido Bloqueado -> Bloqueado

- Ejecución -> Suspendido Listo

Page 55: Procesos

55

..

- Bloqueado- Bloqueado -> -> Suspendido BloqueadoSuspendido Bloqueado

Si no hay procesos Listos, entonces al menos un proceso BLOQUEADO se expulsa para dar cabida a otro proceso que no esté bloqueado.

- Suspendido Bloqueado- Suspendido Bloqueado -> -> Suspendido ListoSuspendido Listo

Un proceso pasa de un estado al otro, cuando ocurre el suceso que estaba esperando.

Page 56: Procesos

56

..- Suspendido Listo- Suspendido Listo -> -> ListoListo

Cuando no hay procesos LISTO en la memoria principal, el SO tendrá que traer uno para continuar la ejecución. Además puede darse que un proceso en estado SUSPENDIDO LISTO tenga prioridad mayor que los procesos LISTO.

- Listo - Listo -> -> Suspendido ListoSuspendido Listo

Puede ser necesario suspender un proceso LISTO si ésta es la única forma de liberar un bloque grande de memoria principal. O el SO puede escoger suspender un proceso LISTO de más baja prioridad en lugar de unos BLOQUEADO que sea de prioridad más alta.

Page 57: Procesos

57

..- Nuevo- Nuevo ->-> Suspendido ListoSuspendido Listo

-> -> ListoListo

Cuando se crea un nuevo proceso, se le puede añadir a la cola de LISTO o la cola de SUSPENDIDO LISTO.

En ambos casos el SO construye las tablas para administrar el proceso y le asigna un espacio de direcciones.

El paso a SUSPENDIDO LISTO se explica por distintos argumentos:

- Hacer que el SO haga todas estas labores (tablas, etc.) antes de estar listo

- para una filosofía de procesos “justo a tiempo” , ya que retrasando la creación todo lo que se pueda, ayuda a reducir la sobrecarga del SO ya que le permite llevar a cabo estas tareas cuando la CPU este ociosa

Page 58: Procesos

58

..- Suspendido Bloqueado- Suspendido Bloqueado ->-> BloqueadoBloqueado

Ocurre cuando un proceso de BLOQUEADO SUSPENDIDO tiene mayor prioridad que la de cualquier proceso de la cola SUSPENDIDO LISTO

- Ejecución- Ejecución -> -> Suspendido ListoSuspendido Listo

Generalmente un procesos en EJECUCION pasa al estado LISTO cuando expira su fracción de tiempo asignado. Pero si se esta expulsando al proceso porque hay un proceso de prioridad mayor en la lista de SUSPENDIDO BLOQUEADO que se acaba de desbloquear , entonces el SO podría pasar el proceso en EJECUCION directamente a la cola de SUSPENDIDO LISTO, liberando espacio en memoria principal.

Page 59: Procesos

59

DESCRIPCIÓN DE PROCESOSDESCRIPCIÓN DE PROCESOS

El SO es el controlador de los sucesos que se producen en un sistema informático.

El SO es el planificador de los procesos para su ejecución en el procesador, el que asigna los recursos a los procesos y el que responde a las solicitudes de servicios básicos realizados por los programas de usuario.

¿ que necesita el SO para controlar los procesos y administrar los recursos para ellos ?

Page 60: Procesos

60

Estructura de Control del SOEstructura de Control del SO

El SO para administrar los procesos y los recursos debe disponer de información sobre el estado actual de cada proceso y recurso.

Para ello el SO construye y mantiene tablas de información sobre cada entidad que esté administrando.

Hay 4 tablas básicas:

- Tablas de memoria

- Tablas de E/S

- Tablas de archivos

- Tablas de Procesos

Page 61: Procesos

61

Tablas de MemoriasTablas de Memorias

Se utilizan para seguir la pista de la memoria principal (real) y secundaria (virtual).

Parte de la memoria principal eta reservada para el uso del SO , y el resto está disponible para el uso de los procesos.

Los procesos se mantienen en memoria secundaria mediante alguna forma de memoria virtual o por un mecanismo de intercambio.

Page 62: Procesos

62

..

Las tablas de memoria deben incluir la información siguiente:

- Asignación de memoria principal a los procesos

- Asignación de memoria secundaria a los procesos

- Cualquiera atributo de protección de segmentos de memoria principal o virtual

- Cualquier información secundaria para gestionar la memoria virtual

!! Esto se verá en detalle en GESTION DE MEMORIA PRINCIPAL Y VIRTUAL !!

Page 63: Procesos

63

Gestión de memoria principalGestión de memoria principal

La memoria principal es el almacenamiento de acceso directo para la CPU y los dispositivos de E/S. Es volátil.

El SO es responsable de:- asignar/desasignar memoria a los programas (tanto explícita como implícitamente),- mantener la pista de la de memoria utilizada actualmente y quién la usa.- decidir cuanta memoria asignar a cada proceso, y cuando debe ser retirado de memoria un proceso.

Page 64: Procesos

64

Son utilizadas por el SO para administrar los dispositivos y los canales de E/S del sistema informático.

En un momento dado, un dispositivo de E/S puede estar disponible o estar asignado a un proceso.

Si hay una oper. de E/S en ejecución, el SO necesita conocer el estado de la operación de E/S y la posición de memoria principal que se está utilizando como origen o destino de la transferencia de E/S.

!! Esto se verá en detalle en GESTION DE E/S !!

Tablas de E/STablas de E/S

Page 65: Procesos

65

Gestión de Entradas/SalidasGestión de Entradas/Salidas

Los SOs suministran una interfaz estándar entre los programas y los dispositivos, es decir, utilizan las mismas funciones independientemente del dispositivo.

Un manejador de dispositivo es el módulo responsable de gestionar un tipo de dispositivo. Este encapsula el conocimiento específico del dispositivo, p.ej.,inicialización, interrupciones, lectura/escritura, etc.Puede haber un proceso por cada dispositivo o incluso por cada solicitud de E/S, dependiendo del SO particular.

Page 66: Procesos

66

Tablas de ArchivosTablas de Archivos

Son utilizadas por el SO para tener información sobre la existencia de los archivos, su posición en memoria secundaria, su estado actual y otros atributos.

!! Esto se verá en detalle en GESTION DE ARCHIVO !!

Tablas de ProcesosTablas de Procesos

El SO posee estas tablas para administrar los procesos.

Page 67: Procesos

67

Gestión de archivosGestión de archivos

Un archivo es una colección de información con nombre. Es la entidad básica de almacenamiento persistente.

El sistema de archivos suministra las siguientes operaciones sobre archivos:- crear/borrar archivos y directorios,- funciones para manipular archivos y directorios: leer, escribir, renombrar, ...- correspondencia entre archivos y su almacenamiento secundario.- También, suministra servicios generales: backup, contabilidad y cuotas, etc.

Page 68: Procesos

68

Gestión de procesosGestión de procesos

Podemos definir proceso como una instancia de un programa en ejecución.

El SO es responsable de las siguientes actividades relacionadas con los procesos:

- crear/destruir procesos,- suspender/reanudar procesos,- suministrar los mecanismos para sincronizar ycomunicar procesos.

Page 69: Procesos

69

¿ como crea el SO la tablas por primera vez ?¿ como crea el SO la tablas por primera vez ?

El SO debe tener algún conocimiento sobre el entorno básico, tal y como cuánta memoria principal hay, cuales son los disp. de E/S y sus identificadores.

Este es un asunto de configuración, es decir, cuando se inicializa el SO, éste debe tener acceso a algunos datos de configuración que definan el entorno básico y estos datos deben crearse fuera del SO, con la asistencia humana.

Page 70: Procesos

70

Estructura de Control de ProcesosEstructura de Control de Procesos

El SO para administrar y controlar a los procesos necesita conocer:

- donde está ubicado el proceso

- los atributos del proceso