Boris Escalante Quimi
Cantidad de envíos : 8 Puntos : 14 Reputación : 0 Fecha de inscripción : 01/07/2009
| Tema: resumen del proceso capitulo # 3 Mar Dic 01, 2009 2:01 am | |
| BORIS ESCALANTE GRUPO#5NIVEL : 2QUE ES UN PROCESO? El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un programa en ejecución también llamada tarea.El emplazamiento del control de un procedimiento que está siendo ejecutado. Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de control de proceso. MULTITAREA Podemos clasificar los sistemas de la siguiente forma: MonoprocesoSegún el número de procesos que se puede ejecutar simultáneamente: MultiprocesoSegún el número de usuarios que se puede ejecutar simultáneamente: · Mono-usuario· Multiusuario. Conceptos de la Multitarea1. Alternancia en los procesos de fases de E/S y de procesamiento.2. Paralelismo real entre E/S y procesador.3. Memoria principal capaz de almacenar varios procesos. Alternancia en los procesos de fases de E/S y de procesamiento.En un sistema multitarea es importante tener más de un proceso activo y cargado en memoria principal. Paralelismo real entre E/S y procesador.Los procesos ligeros permiten que un proceso aproveche mas el procesador, es decir, ejecute más deprisa. La base del paralelismo consiste mientras que un proceso ligero esta bloqueado otro puede ejecutarse. Memoria principal capaz de almacenar varios procesos.El sistema operativo con el apoyo del hardware de gestión de memoria del procesador debe repartir el almacenamiento existente proporcionando un espacio de memoria independiente para cada proceso. Ventajas de la Multitarea• Facilita la programación. Permite dividir las aplicaciones en varios procesos, lo que beneficia a su modularidad.• Permite prestar un buen servicio.• Aprovecha los tiempos muertos que los procesos pasan esperando a que se completen sus operaciones de E/S.• Aumenta el uso del CPU. Estados del proceso· Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos.· Los procesos pueden bloquearse en su ejecución porque:· Desde el punto de vista lógico no puede continuar porque esperadatos que aún no están disponibles.· El Sistema Operativo asignó la cpu a otro proceso.· Los estados que puede tener un proceso son· En ejecución: utiliza la cpu en el instante dado.· Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.· Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo.· Hay otros estados de los procesos, pero inicialmente se tratarán estos tres.· Por sencillez, se considera un sistema con una sola CPU, aunque no es difícil la extensión a múltiples procesadores.· Solamente puede haber un proceso en ejecución a la vez, pero pueden existir varios listos y varios pueden estar bloqueados. · La lista de procesos bloqueados normalmente no está ordenada; los procesos no se desbloquean (es decir, no pasan a ser procesos listos) en orden de prioridad, sino que lo hacen en el orden de ocurrencia de los eventos que están esperando. · Durante su existencia un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado.· Debido a ello se puede establecer una:· “Lista de Listos” para los procesos “listos”· Una “Lista de Bloqueados” para los “bloqueados”.· La “Lista de Listos” se mantiene en orden prioritario y la “Lista de Bloqueados” está desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los eventos que están esperando.· Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en la última parte de la “Lista de Listos”.· La asignación de la cpu al primer proceso de la “Lista de Listos” se denomina “Despacho”, que es ejecutado por una entidad del Sistema Operativo llamada “Despachador”.· El “Bloqueo” es la única transición de estado iniciada por el propio proceso del usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al proceso. PCB La manifestación de un proceso en un Sistema Operativo es un “Bloque de Control de Proceso” (PCB) con información que incluye: ü Estado actual del proceso.ü Identificación única del proceso.ü Prioridad del proceso.ü Apuntadores para localizar la memoria del proceso.ü Apuntadores para asignar recursos.ü Área para preservar registros. Transiciones de estado de los procesos A continuación se dan ejemplos de eventos que pueden provocar transiciones de estado en un proceso en este modelo de tres estados.· De ejecución á Bloqueado: al iniciar una operación de E/S, al realizar una operación WAIT sobre un semáforo a cero (en el tema de procesos concurrentes se estudiarán los semáforos).· De ejecución á Listo: por ejemplo, en un sistema de tiempo compartido, cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutándose continuamente (agota su cuanto) el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo.· De Listo á en ejecución: cuando lo requiere el planificador de la CPU (veremos el planificador de la CPU en el tema de planificación de procesos).· De Bloqueado á Listo: se dispone del recurso por el que se había bloqueado el proceso. Por ejemplo, termina la operación de E/S, o se produce una operación SIGNAL sobre el semáforo en que se bloqueó el proceso, no habiendo otros procesos bloqueados en el semáforo. De las cuatro transiciones de estado posibles, la única iniciadapor el proceso de usuario es el bloqueo. ¿Cuál es la manifestación física de un proceso? Como mínimo debe incluir un programa o conjunto de programas que sean ejecutados. Así pues, un proceso constará, al menos, de la memoria suficiente para albergar los programas y los datos del proceso.Además, en la ejecución de un programa entra en juego normalmente una pila, que se utiliza para llevar la cuenta de las llamadas a procedimientos y de los parámetros que se pasan entre los procedimientos., también asociado a cada proceso hay una serie de atributos que utiliza el sistema operativo para el control del proceso, los cuales se recogen en una estructura de datos que se conoce como bloque de control de proceso (Process Control Block, PCB) o descriptor de proceso. A esta colección de programa, datos, pila y tributos se le llama imagen o entorno del proceso. El bloque de control de proceso El bloque de control de proceso es la estructura de datos central y másimportante de un sistema operativo. Cada bloque de control de proceso contiene toda la información de unproceso que necesita un sistema operativo para su control. Estos bloques son leídos y/o modificados por casi todos los módulos deun sistema operativo, incluyendo aquellos que tienen que ver con laplanificación, la asignación de recursos, el tratamiento deinterrupciones y el análisis y supervisión del rendimiento. Puede decirse que el conjunto de los bloques de control de procesosdefinen el estado del sistema operativo. El conjunto de todos los PCB’s se guarda en una estructura del sistemaoperativo llamada tabla de procesos, la cual se puede implementarcomo un vector o un lista enlazada. La tabla de procesos reside en memoria principal, debido a su altafrecuencia de consulta. | |
|