no tengo por ahora
Informalmente, un proceso es un programa en ejecución. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados.
La ejecución de un proceso debe proceder de manera secuencial.
Un proceso es más que el código del programa (también conocido comosección de texto); también incluye la actividad actual, representada por el valor del contador de programa y el contenido de los registros del procesador. Generalmente un proceso también incluye la pila (stack) del proceso, que contiene datos temporales (como los parámetros de subrutinas, direcciones de retorno y variables temporales), y una sección de datos que contiene variables globales.
Unprograma por sí solo no es un proceso; un programa es una entidad pasiva, como el contenido de un archivo guardado en disco, mientras que un proceso es una entidad activa, con el contador de programas especificando la siguiente instrucción que se ejecutará, y un conjunto de recursos asociados.
Estado de un proceso
A medida que un proceso se ejecuta cambia de estado. El estado de un proceso estadefinido por la actividad actual de ese proceso. Cada proceso puede estar en uno de los siguientes estados:
Nuevo (New) El proceso se esta creando.
En ejecución (Running): Se están ejecutando instrucciones.
En espera (Waiting) El proceso está esperando que ocurra algún suceso (como la terminación de una operación de E/S o la recepción de una señal).
Listo (Ready) El proceso está esperando quese le asigne a un procesador.
Terminado (Terminated): El proceso terminó su ejecución.
Bloque de Control de Proceso PCB – BCP
Cada proceso se representa en el Sistema Operativo con un Bloque de control de proceso también llamado bloque de control de tarea.
Estado del proceso: El estado puede ser nuevo, listo, en ejecución, en espera, detenido, etc.
Contador deprograma: El contador indica la dirección de la siguiente instrucción que se ejecutará para este proceso.
Registros de CPU: El número y el tipo de los registros varía dependiendo de la arquitectura del computador. Los registros incluyen acumuladores, así como cualquier información de códigos de condición que haya. Junto con el contador de programa, esta información de estado se debe guardar cuandoocurre una interrupción para que el proceso pueda continuar correctamente.
Información de planificación de CPU: Esta información incluye una prioridad del proceso, punteros a colas de planificación y cualquier otro parámetro de planificación que haya.
Información de gestión de memoria: Esta información puede incluir datos tales como el valor de los registros de base y límite, las tablas de páginaso las tablas de segmentos, dependiendo del sistema de memoria empleado por el sistema operativo.
Información contable: Esta información incluye la cantidad de tiempo de CPU y tiempo real consumida, límites de tiempo, números de cuenta, números de trabajo o proceso y demás.
Planificación de procesos:
El objetivo de la multiprogramación es tener algún proceso en ejecución en todo momento, afin de maximizar el aprovechamiento de la CPU. El objetivo del tiempo compartido es conmutar la CPU entre procesos con tal frecuencia que los usuarios puedan interactuar con cada programa durante su ejecución. En el caso de un sistema con un solo procesador, nunca habrá más de un proceso en ejecución. Si hay más procesos, los otros tendrán que esperar hasta que la CPU esté libre y puedareplanificarse.
Conmutación de contexto
El cambio de la CPU a otro proceso requiere guardar el estado del proceso anterior y cargar el estado guardado del nuevo proceso. Esta tarea se denomina conmutación de contexto (context switch). El tiempo de conmutación de contexto es exclusivamente gasto extra (overhead), porque el sistema no realiza trabajo útil durante la conmutación. La rapidez de...
Regístrate para leer el documento completo.