REALIZADO: ALEX LOPEZ DAVILA
FECHA: 1/12/2009
HORA:11:40AM
ÇONCEPTO DE 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.
BLOQUE DE CONTROL DE PROCESO (BCP).
El sistema operativo mantiene una tabla de procesos con todos los BPC de procesos.
- Esta tabla de procesos se construye con una estructura estática que tiene un determinado número de BPC. Todos del mismo tamaño.
- Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuenciales o procesos.
- Un proceso incluye al programa en ejecución y a los valores activos del contador, registros y variables del mismo.
- Conceptualmente cada proceso tiene su propia cpu virtual.
- Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un proceso no será uniforme, por lo que es necesario aclarar lo siguiente:
- Que los procesos no deben programarse con hipótesis implícitas acerca del tiempo.
- Que normalmente la mayoría de los procesos no son afectados por la multiprogramación subyacente de la cpu o las velocidades relativas de procesos distintos.
- Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y estado.
- Un solo procesador puede ser compartido entre varios procesos con cierto “algoritmo de planificación” , el cual determina cuándo detener el trabajo en un proceso y dar servicio a otro distinto
MULTITAREA
Según el número de procesos que se puede ejecutar simultáneamente:
Mono-proceso
Multiproceso
Según el número de usuarios que se puede ejecutar simultáneamente:
Mono-usuario
Multiusuario.
Conceptos de la Multitarea
1. 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 más 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 espera
Datos 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.
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
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.
El bloque de control de proceso
_ El bloque de control de proceso es la estructura de datos central y más importante de un sistema operativo.
_ Cada bloque de control de proceso contiene toda la información de un proceso que necesita un sistema operativo para su control.
_ Estos bloques son leídos y/o modificados por casi todos los módulos de un sistema operativo, incluyendo aquellos que tienen que ver con la planificación, la asignación de recursos, el tratamiento de interrupciones y el análisis y supervisión del rendimiento.
_ Puede decirse que el conjunto de los bloques de control de procesos definen el estado del sistema operativo.
_ El conjunto de todos los PCB’s se guarda en una estructura del sistema operativo llamada tabla de procesos, la cual se puede implementar como un vector o un lista enlazada