Resumen Capítulo III PDF

Title Resumen Capítulo III
Course Sistemas operativos I
Institution Universidad Nacional Autónoma de Honduras
Pages 5
File Size 203.3 KB
File Type PDF
Total Downloads 13
Total Views 147

Summary

Resumen Capítulo III...


Description

Resumen Sistemas Operativos I Capítulo III: Descripción y control de procesos Andrés Espinal

3.1 ¿Qué es un proceso? La tarea fundamental de un S.O es la gestión de procesos que implica responsabilidades del S.O como ser:    

Reservar recursos para el proceso. Permitir el intercambio de información entre procesos. Aislamiento de memoria (Evitar resultados inesperados cuando varios procesos comparten un sector de memoria). Sincronización de procesos. Un proceso puede entenderse como un conjunto de elementos:  Identificador: Distingue al proceso de otros procesos mediante un identificador único.  Estado: Determina si el proceso está listo, en ejecución o bloqueado.  Prioridad: Indica que tan importante es el proceso respecto a otros.  Contador de programa (PC): Registro del procesador que indica que instrucción debe leerse a continuación.  Punteros a memoria: Apunta al código del programa y datos que requiere el proceso.  Datos de contexto: Datos presentes en el procesador cuando el proceso está corriendo.  Información de estado de E/S: Peticiones E/S pendientes, dispositivos E/S asignados al proceso, ficheros utilizados, etc.  Información de auditoria: Cantidad de tiempo que ocupo el proceso en el procesador, límites de tiempo, registros contables, etc.

Todos estos elementos son almacenados en una estructura de datos conocida como BCP (Process Control Block/Bloque de Control de Procesos); que es la entidad creada y gestionada por el S.O responsable de permitir la restauración de un proceso posterior a una interrupción. Es usual que solo una parte del BCP sea requerido para restaurar el

programa interrumpido. Esto se debe a que al haber una interrupción, se almacena el contexto del programa de los datos que pueden ser alterados por la interrupción.

3.2 Estados de los procesos Desde el punto de vista de un proceso, una traza lista la secuencia de instrucciones para el proceso; mientras que desde el punto de vista del procesador este interactúa con las trazas de diversos procesos. El activador (dispatcher) se encarga de pasar de un proceso a otro en el procesador.

El ciclo de vida de un proceso se resume en: 

Creación del proceso: El S.O crea un proceso en respuesta a un trabajo o un proceso crea a otro proceso siendo el primero el proceso padre y el segundo proceso hijo.

Algunas razones por las que son creados los procesos son: para proporcionar un servicio, para asistir a otro proceso, etc. 

Terminación del proceso: El S.O es notificado de que el proceso ha finalizado.

Algunas razones por las que son terminados los procesos son: finalización normal del proceso, límite de tiempo excedido, memoria no disponible, errores aritméticos, fallo de E/S, etc.

El comportamiento de los procesos va determinado por el modelo empleado (esto es lo primero que se realiza al diseñar un sistema operativo): 

Modelo de dos estados: Un proceso determinado puede estar:  Ejecutando  No ejecutando. En este modelo los procesos que no se están ejecutando permanecen en una cola esperando a ser ejecutados (más específicamente sus BCP residen en la cola). El activador se encarga de ejecutar procesos de la cola y poner ahí a aquellos que no están siendo ejecutados. Este modelo no es el más óptimo ya que no se discrimina si un proceso que no está siendo ejecutado está listo para poder ser ejecutado o no lo está por esperar una operación de E/S.



Modelo de cinco estados: Un proceso determinado puede estar:  Ejecutando  Listo (Puede ser ejecutado)  Bloqueado (Espera a un evento u operación E/S para cambiar su estado a ‘listo’)  Nuevo (Creado pero no cargado en memoria principal, el BCP para gestionar el proceso es creado)  Saliente (Proceso liberado por haber sido detenido u abortado)

Este modelo resulta más óptimo ya que aprovecha mejor los recursos por evitar la verificación de si un proceso puede ser ejecutado o no. Para esto emplea dos colas, una cola de procesos listos y otra para procesos bloqueados. Este modelo intercambia los procesos entre colas dependiendo del estado de cada uno.

El swapping o intercambio es una técnica mediante la cual se expulsa uno o más proceso de la cola de bloqueados (El proceso residía en memoria principal) y se pasa a una cola de suspendidos (El proceso ahora reside en disco). El swapping se realiza cuando todos los procesos presentes en memoria principal se encuentran en estado bloqueado, lo cual resulta común por las diferencias de velocidad entre el procesador y los dispositivos E/S; o hay procesos listos que pueden ocupar demasiada memoria por lo cual debe realizarse una liberación para mantener el rendimiento. Esto permite que se procesen aquellos procesos que se encuentran listos, esperando a que los que no estén listos (suspendidos o bloqueados) lo estén.

Puede implementarse un sexto estado de suspendido aunque puede resultar más eficiente un estado listo/suspendido y bloqueado/suspendido para discriminar los procesos suspendidos que están listos para ser ejecutados de los que no.

3.3 Descripción de procesos El sistema operativo gestiona procesos y recursos mediante tablas que resumen información importancia de todas estas entidades:  

 

Tablas de memoria: Contiene información acerca de la memoria principal (real) o secundaria (física) que ocupa un proceso. Tablas de E/S: Contiene información para gestionar dispositivos de E/S, en específico el estado de las operaciones realizadas sobre estos y los espacios de memoria afectados. Tablas de ficheros: Mantienen información acerca de la existencia de ficheros, estado del fichero y posición que este ocupa en almacenamiento secundario. Tablas de procesos: Mantienen información acerca de procesos.

Todas estas tablas están referenciadas entre sí para asegurar el acceso a los recursos requeridos.

Una imagen de proceso consiste en un conjunto de programa, datos, pila y atributos de un proceso.

3.4 Control de procesos El procesador puede ejecutar instrucciones en por lo menos dos modos básicos: 



Modo Núcleo/Control/Sistema: Permite al procesador ejecutar instrucciones privilegiadas, como la creación y terminación de procesos, swapping, manejadores de interrupción, acceder a buffers e intercambio de procesos. Modo Usuario: En este modo se ejecutan los programas del usuario.

El cambio por parte del procesador de un modo a otro está determinado por un bit asignado al registro de control y estado PSW.

Para crear un proceso se siguen los siguientes 5 pasos: 1. Asignar un identificador único al proceso 2. Reservar espacio para el proceso: Para la imagen del proceso y el BCP. 3. Inicialización del bloque de control de proceso: Relleno de los elementos que componen el BCP (Estado, Prioridad, PC, etc.). 4. Establecer los enlaces apropiados: Ubicar al proceso en alguna cola según su estado. 5. Creación o expansión de otras estructuras de datos: Registros de auditoría llevados por el S.O para indicar que un proceso puede ser requerido posteriormente. Los eventos que disparan a un proceso son las interrupciones (Los 4 tipos de interrupciones) y las llamadas al sistema (Indica la ejecución de una rutina que es parte del sistema operativo, y no del proceso). Cabe recalcar que un cambio de proceso no es lo mismo que cambio de modo ni cambio de estado de un proceso. La ejecución del sistema operativo puede estudiarse a partir de 3 perspectivas.  Núcleo sin procesos: El sistema operativo se ejecuta como una entidad independiente y el concepto de proceso aplica únicamente para los programas de usuario.  Ejecución dentro de los procesos de usuario: El sistema operativo se ejecuta como un proceso del usuario.  Sistemas operativos basados en procesos: El sistema operativo se ejecuta como un conjunto de procesos del sistema.

Bibliografía Stallings, W. (s.f.). Sistemas Operativos: Aspectos Internos y Principios De Diseño (5ta Edición). Pearson, Prentice Hall....


Similar Free PDFs