Você está na página 1de 46

PROCESOS

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO2.htm

PROCESOS-CONCEPTO
Todos los programas, cuya ejecucin solicitan los usuarios se ejecutan en forma de procesos, por lo que se puede definir como un programa en ejecucin El S.O mantiene por cada proceso una serie de estructuras de informacin que permiten identificar las caractersticas de ste as como los recursos que tiene asignado. Aqu entran los descriptores de los segmentos de memoria asignados, los descriptores de los archivos abiertos, los descriptores de los puertos de comunicacin. Una parte importante de todas estas informaciones se llevan el en BCP . El S.O mantiene una tabla de procesos con todos los BCP y esta tabla se construye normalmente con una estructura esttica que tiene un determinado nmero de BCP todos ellos del mismo tamao.

INFORMACION DE UN PROCESO
Contenidos de los segmentos de memoria en los que residen el cdigo y los datos Contenido de los registros del modelo de programacin Contenido del BCP

Cada proceso se representa en el S.O mediante el Bloque de Control del Proceso, tambin denominado bloque de control de tarea, este contiene diversas secciones de informacin asociadas con un proceso especfico, incluyendo: Estado del proceso: El estado puede ser Nuevo, Listo, en Ejecucin, Bloqueado, etc. Contador de Programa: Este indica la direccin de la siguiente instruccin a ejecutar Registros de la CPU: Estos varan en nmero y tipo dependiendo de la arquitectura de la computadora, incluyen acumuladores , registros ndice , apuntadores de pila y registros de propsito general, adems de cualquier informacin de cdigo de condicin . Junto con el contador de programa , esta informacin de estado debe guardarse cuando ocurre una interrupcin, para posteriormente permitir que el proceso contine de la forma ms apropiada.

PCB

Informacin de Planificacin de la CPU: Esta informacin incluye la prioridad del proceso, apuntadores a colas de planificacin y cualquier otro parmetro de planificacin . Informacin contable: Esta informacin incluye la cantidad de tiempo de CPU y tiempo real usado, as como lmites de tiempo , nmeros de procesos o trabajo, etc Informacin de estado de E/S: En esta seccin incluye la lista de dispositivos de E/S asignados al proceso, una lista de archivos abiertos , etc

ESTADOS BASICOS DE UN PROCESO

NUEVO Un programa que no ha iniciado su ejecucin , se encuentra en memoria secundaria. LISTO Se encuentra en memoria principal sin operaciones de E/S pendientes y apto para entrar o continuar su ejecucin EJECUCION El proceso que se est ejecutando en el procesador en ese momento BLOQUEADO Se encuentra interrumpido por el procesador por haber atendido a otro de mayor prioridad o que le orresponda el turno TERMINADO Cuando finaliza la ejecucin del proceso o se le detecta un error grave.

JERARQUIA DE LOS PROCESOS

Bajo el control del Iniciador ROM

Test del Hardware Cargar en memoria del cargador del S.O

Bajo el control del Cargador del S.O Inicializacin bajo el Control de la parte Residente del S.O

Carga en memoria componentes del S.O Test del Sistema de Archivos Creacin de estructuras de datos internas completa la carga del S.O residente Creacin de procesos LOGIN

Para referirse a las relaciones entre los procesos de la jerarqua se emplean los trminos de padre, hijo, hermano o abuelo. Cuando el proceso A solicita al S.O que cree el proceso B , se dice que A es padre de B y que B es hijo de A , bajo esta ptica, la jerarqua de procesos puede considerarse como un rbol genealgico ENTORNO DE PROCESOS El entorno consiste en un conjunto de variables que se le pasan al proceso en el momento de su creacin El entorno est formado por una tabla NOMBRE-VALOR que se incluye en la pila del proceso, el NOMBRE especifica el nombre de la variable y el VALOR su valor. GRUPOS DE PROCESOS Los procesos forman grupos que tienen diversas propiedades , ejm El conjunto de procesos creados a partir de un shell puede formar un grupo de procesos .

TIPOS DE SISTEMAS OPERATIVOS

Los sistemas operativos se clasifican en funcin del nmero de procesos y de usuarios

TIPOS DE SISTEMAS OPERATIVOS


Tambin llamado Monoproceso permiten que exista un proceso en cada instante si se requieren ejecutar varios procesos que hay que hacer

O Multiproceso , permite que exista varios procesos a la vez . El S.O se encarga de ir repartiendo el tiempo del procesador entre estos procesos

Est previsto para soportar a un solo usuario Estos sistemas pueden ser monoproceso o multiproceso , esto quiere decir que un usuario puede solicitar varias tareas al mismo tiempo

Soporta varios usuarios trabajando simultneamente desde varias terminales . A su vez cada usuario puede tener activo ms de 1 proceso , por lo que debe ser tambin el sistema Multitarea . Tambin reciben el nombre de Tiempo Compartido porque ha de repartir el tiempo de la computadora entre los usuarios para procesar cada una de las tareas de los usuarios

BASE DE LA MULTITAREA
La multitarea se basa en las tres caractersticas siguientes: 1. Paralelismo real entre E/S y procesador 2. Alternancia en los procesos de fases de E/S y de procesamiento 3. Memoria principal capaz de almacenar varios procesos

Existe una concurrencia real entre el procesador y las funciones de E/S, Esto significa que mientras se estn realizando una operacin de E/S de un proceso, se puede estar ejecutando otro proceso.

Podemos observar que la ejecucin de un proceso alterna fases de procesamiento con fases de E/S puesto que cada tiempo , necesita leer o escribir datos en un perifrico . En sistemas multiprocesamiento se aprovechan las fases de E/S de unos procesos para realizar las fases de procesamiento de otros.

BASE DE LA MULTITAREA Ejemplo de ejecucin de un Sistema Multitarea

Se presenta la ejecucin multitarea con tres procesos , notemos que al finalizar la primera fase de procesamiento del Proceso A , hay un intervalo de tiempo en el que no hay trabajo para el procesador . Como se muestra el S.O entra a ejecutar al final de las fases de procesamiento y al final de las fases de E/S. Esto es porque las operaciones de E/S no las gobiernan directamente los procesos, si no que se limitan a pedirle al S.O que las realice . De igual forma el S.O trata las interrupciones que generan los controladores para avisar que ha completado una operacin

PROCESO NULO

Bajo la premisa de que el procesador no para de ejecutar nunca la figura muestra lo contrario, pues podemos observar que hay un intervalo en el que el procesador no tiene nada que hacer , para evitar esto los S.O incluyen los llamados Procesos Nulos Estos procesos consisten en un bucle infinito que no realiza ninguna operacin til , el objetivo de este proceso es entretener al procesador cuando no haya ninguna tarea.

PLANIFICADORES ACTIVADORES

El planificador (sheduler) forma parte del ncleo del S.O , este entra en ejecucin cada vez que se activa el Sistema Operativo y su misin es Seleccionar el proceso que se ha de ejecutar a continuacin. El Activador (dispatcher) tambin forma parte del Sistema Operativo y su funcin es poner en ejecucin el proceso seleccionado por el planificador.

VENTAJAS DE LA MULTITAREA
La multiprogramacin presenta varias ventajas entre las que podemos resaltar las siguientes: 1. Facilita la programacin .- Permite dividir las aplicaciones en varios procesos lo que beneficia su modularidad 2. Permite prestar un buen servicio.- Esto hace que se pueda atender a varios usuarios de forma eficiente, interactiva y simultnea 3. Aprovecha los tiempos muertos que los procesos pasan esperando a que se completen sus operaciones de E/S 4. Aumenta el uso de la UCP, al aprovechar los espacios de tiempo que los procesos estn bloqueados.

GRADO DE MULTIPROGRAMACION

Se denomina grado de multiprogramacin al numero de proceso activos que mantienen un Sistema y este factor es el que afecta de forma importante el rendimiento que se obtienen de una computadora. Mientras ms procesos activos haya en un sistema, mayor es la probabilidad de encontrar siempre un proceso en estado de listo para ejecutar , por lo que entrar a ejecutar menos veces el proceso nulo. Sin embargo, se tiene e inconveniente de que a mayor grado de multiprogramacin , se tienen mayores necesidades de memoria Mencionaremos 2 aspectos a considerar: Un sistema sin Memoria Virtual Un sistema con Memoria Virtual

MEMORIA VIRTUAL
Administrar la memoria es optimizar el uso del RAM que consiste de uno o ms chips en el motherboard que mantiene los datos e instrucciones en forma temporanea mientras el procesador los interpreta y ejecuta. El sistema operativo limpia las reas de memoria que estn ocupadas por los datos e instrucciones cuando stos ya no se estn usando. Algunos sistemas operativos usan memoria virtual (Virtual Memory VM) para optimizar el uso del RAM. Con la memoria virtual, el sistema operativo asigna una porcin de un medio de almacenamiento, usualmente el disco duro, para funcionar como RAM adicional. Segn se interacciona con un programa, parte de l puede estar en el RAM y el resto del programa est en el disco duro, el que se est usando como memoria virtual. El rea que el disco duro usa para memoria virtual es llamada swap file, pues intercambia (swap) datos, informacin e instrucciones entre la memoria y el almacenamiento. Una pgina (page) es la cantidad de datos e instrucciones que se pueden intercambiar en un momento dado. A la tcnica de intercambiar entre memoria y almacenamiento se le llama paging. Cuando un sistema operativo est mucho tiempo haciendo paging en vez de ejecutando una aplicacin, se dice que el sistema est thrashing. Por ejemplo, cuando se intenta acceder a una pgina del Internet, la pgina ya baj, pero la luz del disco duro sigue encendida. Si el thrashing sucede con mucha frecuencia, es posible que la computadora necesite ms RAM.

SISTEMA SIN MEMORIA VIRTUAL


Los procesos activos han de residir totalmente en memoria principal, por tanto el grado de multiprogramacin viene limitado por el tamao de los procesos y por la memoria disponible. Adems en estos sistemas el rendimiento de la utilizacin del procesador aumenta siempre con el grado de multiprogramacin , esto es as ya que los procesos siempre residen en memoria principal

SISTEMA CON MEMORIA VIRTUAL


Este esquema es mucho mas complejo , puesto que los procesos slo tienen en memoria principal su conjunto residente Conjunto residente es el nmero de pginas de un proceso que estn alojadas en un marco de memoria principal Si se asignan muchos marcos a un proceso: o Se reduce el nivel de multiprogramacin. o La tasa de fallos se mantiene baja. Si se asignan pocos marcos a un proceso: o Se aumenta la tasa de fallos de pgina.

Esto hace que quepan mas procesos , sin embargo al aumentar el nmero de procesos disminuye el conjunto residente de cada uno como se muestra en la figura.

SISTEMA CON MEMORIA VIRTUAL

El conjunto residente medio decrece con el grado de multiprogramacin

Cuando el conjunto residente de un proceso se hace menor de un determinado valor, ya no representa adecuadamente un trabajo a realizarse, lo que tiene como consecuencia que se produzcan muchos fallos de pgina. Cada fallo de pgina consume tiempo de procesador , porque el S.O ha de tratar esa falla y tiempo de E/S puesto que hay que hacer una migracin de pginas . Todo esto conlleva a que al crecer los fallos de pgina el Sistema dedique ms tiempo al improductivo trabajo de resolver estos fallos.

RENDIMIENTO DEL PROCESADOR Y GRADO DE MULTIPROGRAMACIN

Se puede ver que en un Sistema con memoria virtual el aumento del grado de multiprogramacin conlleva primero a un aumento del rendimiento del procesador. Sin embargo superado un determinado valor de grado de multiprogramacin , los conjuntos residentes de los procesos empiezan a ser demasiado pequeos , por lo que el sistema baja su rendimiento al perder tiempo de paginado Se denomina HIPERPAGINACIN (trashing) a la situacin de alta paginacin producida cuando los conjuntos residentes de los procesos son demasiados pequeos

Cuando la memoria principal es pequea, se llega a la situacin de hiperpaginacin antes de alcanzar una cota alta de utilizacin del procesador. Para aumentar el rendimiento de un sistema que est en esta situacin , es necesario aadir mas memoria principal. Cuando la memoria es grande se llega a saturar el procesador con menos procesos de los que caben en memoria. En este case se puede aumentar el rendimiento del sistema manteniendo la memoria pero aumentando la potencia del procesador o aadiendo otro procesador

RESUMEN
Proceso: Programa en ejecucin. Cada ejecucin de un programa da lugar a un proceso. El proceso - unidad de procesamiento que gestiona el sistema operativo. Un proceso est formado por: Cdigo del programa: Instrucciones. Conjunto de datos asociados a la ejecucin del programa

RESUMEN REPRESENTACION EN MEMORIA

Un proceso necesita memoria para las instrucciones y los datos. Distintas instancias de un programa necesitan zonas independientes para los datos.

INFORMACION DE UN PROCESO
El proceso es la unidad de procesamiento gestionada por el S.O , este tiene asociado una serie de elementos de informacin y que se organizan en tres grupos: ESTADO DEL PROCESADOR, IMAGEN DE MEMORIA Y TABLAS DEL SISTEMA OPERATIVO

ESTADO DEL PROCESADOR


Bsicamente, est formada por el contenido de los registros del procesador. Por supuesto, mientras el proceso est ejecutndose, la informacin est en los registros. Cuando se interrumpe el proceso, toda la informacin de los registros debe salvarse de forma que pueda restaurarse cuando el proceso reanude su ejecucin. La naturaleza y nmero de registros involucrados depende del diseo del procesador. Est integrado por el contenido de todos sus registros que son los siguientes: Registros generales de existir especficos tambin son incluidos como los de coma flotante. Contador de programa Puntero de Pila Registro o registros de Estado Registros especiales como el RIED (registro identificador de espacio de direccionamiento)

IMAGEN DE MEMORIA DEL PROCESO


La imagen de memoria del proceso est formado por los espacios de memoria que est autorizado a utilizar, las principales caractersticas de la imagen de memoria son: El proceso solamente puede tener informacin en su imagen de memoria y no fuera de ella Dependiendo de la computadora, la imagen de memoria estar referida a memoria virtual o a memoria fsica Los procesos suelen necesitar asignacin dinmica de memoria. Por tanto la imagen de memoria de los mismos se deber adaptar a esas necesidades , creciendo o decreciendo adecuadamente No hay que confundir la asignacin de memoria con la asignacin de marcos de memoria, el primer trmino implica al modificacin de la imagen de memoria y se refiere a espacio virtual en los sistemas con este tipo de espacio. El segundo solo es de aplicacin en los sistemas con memoria virtual y se refiere a la modificacin del conjunto residente del proceso.

Al contenido de los segmentos de memoria en los que reside el cdigo y los datos del proceso se le denomina: IMAGEN DE MEMORIA

Si un proceso genera una direccin que esta fuera del espacio de direcciones el HW genera un trap.

MODELOS DE IMAGEN DE MEMORIA: REGIN NICA


Proceso con nica regin de tamao fijo. Usado en sistemas sin memoria virtual. 1 Proceso con nica regin de tamao variable. Sistemas sin memoria virtual: Necesita espacio de reserva Desperdicio de memoria.2 Sistemas con memoria virtual: Espacio de reserva virtual Factible pero menos flexible que mltiples regiones.

1 El proceso recibe un nico espacio de memoria , que adems no puede variar de tamao 2 Los segmentos no pueden crecer a menos que se deje espacio de memoria principal de reserva, se chocara con otro proceso, la memoria principal es muy cara para reservarla. 3 Se podra utilizar pero es mas factible usar un modelo de varias regiones , pues es mucho mas flexible y se adapta mejor a las necesidades reales de los procesos.

MODELOS DE IMAGEN DE MEMORIA: REGIONES MLTIPLES


Proceso con nmero fijo de regiones de tamao variable. Regiones prefijadas (texto, datos, pila). Cada regin puede crecer. Con memoria virtual el hueco entre pila y datos no consume recursos fsicos.

Texto o cdigo es el programa de mquina que ha de ejecutar el proceso, la informacin contenida es fija y solamente se harn operaciones de lectura Datos Depende del proceso, los lenguajes de programacin modernos permiten asignacin dinmica de memoria lo que hace que vare el tamao del bloque de datos al avanzar la ejecucin del proceso. Pila A travs del puntero de pila, los programas utilizan una estructura de pila residente en memoria, en ella se almacenan por ejemplo los bloques de activacin de los procedimientos llamados, la pila es una estructura dinmica. En este esquema el Sistema Operativo ofrece un espacio de datos que puede crecer y decrecer, pero deja al programa la gestin de este espacio

MODELOS DE IMAGEN DE MEMORIA: REGIONES MLTIPLES


Proceso con un nmero variable de regiones de tamao variable. Opcin ms avanzada (usada en versiones actuales de Windows y UNIX). Un proceso se estructura en un nmero arbitrario de regiones. Muy flexible: Regiones compartidas. Regiones con distintos permisos.

Es la solucin ms flexible y, por tanto, la utilizada en los sistemas operativos modernos como WINDOWS NT y las versiones actuales de UNIX

PREPARACIN DEL CODIGO DE UN PROCESO


Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado directamente por un Pc, sino que debe ser traducido a lenguaje mquina. La preparacin del cdigo de un proceso, tambin llamado texto del proceso sigue los siguientes pasos: Programa fuente: Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las sentencias del programa en un lenguaje de programacin). Necesita ser traducido a cdigo mquina para poder ser ejecutado. Compilador: Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje mquina y de comprobar que las llamadas a las funciones de librera se realizan correctamente. Programa (o cdigo) objeto: Es el programa fuente traducido (por el compilador) a cdigo mquina. An no es directamente ejecutable. Programa Ejecutable: Traduccin completa a cdigo mquina, realizada por el enlazador, del programa fuente y que ya es directamente ejecutable. Linker (montador o enlazador): Es el programa encargado de insertar al programa objeto el cdigo mquina de las funciones de las libreras (archivos de biblioteca) usadas en el programa y realizar el proceso de montaje, que producir un programa ejecutable .exe. Las libreras son una coleccin de cdigo (funciones) ya programado y traducido a cdigo mquina, listo para utilizar en un programa

PREPARACIN DEL CODIGO DE UN PROCESO

El objeto ejecutable es un archivo que incluye la siguiente informacin: Cabecera que contiene entre otras informaciones como: Estado Inicial de los registros Tamao del cdigo y de los datos Palabra mgica que identifica al archivo como ejecutable Cdigo Datos con valor inicial no necesitan residir en el archivo puesto que el S,O se encargar de asignarles valor (normalmente 0) cuando cree el proceso encargado de ejecutar el programa

INFORMACION DEL BCP


EL BCP contiene la informacin bsica del proceso, entre la que cabe destacar la siguiente: INFORMACION DE IDENTIFICACION Esta informacin identifica al usuario y al proceso, pj: Identificador del proceso Identificador del proceso padre , en caso de existir relaciones padre-hijo Informacin sobre el usuario (id usuario, id grupo) ESTADO DEL PROCESADOR Contiene los valores iniciales del estado del procesador o su valor en el instante en que fue interrumpido el proceso. INFORMACION DE CONTROL DEL PROCESO Aqu se incluye diversa informacin que permite gestionar el proceso en donde destacamos los siguientes datos: Informacin de planificacin y estado Estado del proceso Evento por el que espera el proceso cuando est bloqueado Prioridad del proceso Informacin de planificacin Descripcin de los segmentos de memoria asignados al proceso Recursos asignados tales como: Archivos abiertos Puertos de comunicacin asignados. Punteros para estructurar los procesos en colas o anillos, Por ej,. Los procesos que estn en estado LISTO pueden estar organizado en una cola de forma que facilita la labor del planificador Comunicacin entre procesos . El BCP puede contener espacio para almacenar las seales y para algn mensaje enviado al proceso.

TABLAS DEL SISTEMA OPERATIVO


El S.O mantiene una serie de tablas que describen a los procesos y a los recursos del sistema. La informacin asociada a cada proceso se encuentra parcialmente en el BCP y parcialmente fuera de el. L a decisin de incluir o no una informacin en el BCP se toma segn dos argumentos: EFICIENCIA Y NECESIDAD de compartir informacin

Para acelerar los accesos , la tabla de procesos se construye normalmente como una estructura esttica , formada por un nmero determinado de BCP del mismo tamao. Bajo este esquema existen informaciones que pueden tener un tamao variable y no deben incluirse en el BCP , de ser incluidas habra que reservar en cada BCP el espacio necesario para almacenar el mayor tamao que puedan tener estas informaciones . Este espacio estara presente en todos los BCP pero estara desaprovechado en la mayora de ellos. Un ejemplo de este tipo de informacin es la tabla de pginas puesto que su tamao depende de las necesidades de memoria de los procesos, valor que es variable uno del otro.

Registro identificador de espacio de direccionamiento RIED, indica el espacio de mapa de memoria que puede utilizar el programa en ejecucin.

TABLAS DEL SISTEMA OPERATIVO


Cuando la informacin ha de ser compartida por varios procesos, no ha de residir en el BCP , a los sumo el BCP contendr un apuntador que permita alcanzar esa informacin. Por ejemplo dos procesos pueden tener simultneamente abierto el mismo archivo por dos razones: el archivo se hered de un proceso padre o el archivo se abri de forma independiente por los dos procesos.

Al tratarse de procesos que estn diseados para compartir el archivo, lo mas conveniente es que compartan el puntero de posicin PP . De esta forma si ambos escriben en el archivo, lo escrito por uno se pondr a continuacin de lo escrito por el otro pero no encima. El proceso BCP7 es hijo del proceso BCP4 el descriptor de archivo (fd)3 de ambos procesos utiliza la entrada 4 de la tabla de archivos , lo que significa que comparten e l archivo y su puntero de posicin . Observamos que el IDFF del archivo es el 34512 y que el puntero PP tiene un valor de 10000

En trminos generales un descriptor de archivo es un identificador para acceder a una archivo

El compartir punteros de posicin exige que no estn ubicados en el BCP, se plantea una solucin basada en una tabla de archivos externa a los BCP y compartida por todos los procesos, en esta tabla se encuentra el puntero de posicin PP, adems del identificador fsico del archivo IDFF.

FORMACION DE UN PROCESO
La formacin de un proceso consiste en completar todas las informaciones que constituyen un proceso.

Operaciones que debe hacer el SO:


Asignar espacio para su imagen de memoria (debe ser virtual y de pocos segmentos). Seleccionar un BCP libre de la tabla de proceso. Rellenar el BCP con informacin de: identificacin, descripcin de memoria, valores iniciales de registros .indicados en el archivo objeto.... Cargar el segmento de texto (cdigo + rutinas del sistema) y el segmento de datos (datos iniciales contenidos en el archivo objeto) Crear en el segmento de pila, pila inicial del proceso (entorno del proceso y los parmetros que se pasan por invocacin del programa correspondiente). Una vez completado toda la informacin, este se puede marcar como listo para ejecutar para que el planificador lo seleccione para su ejecucin

Formacin de un proceso
Cuando se completan todas las informaciones que compone un proceso se puede decir que realmente el da origen a un proceso. Operaciones que debe hacer el SO:
Asignar espacio para su imagen de memoria (virtual y de pocos segmentos). Seleccionar un BCP libre. Rellenar el BCP con informacin de: identificacin, descripcin de memoria, valores iniciales de registros,..... Cargar el segmento de texto (cdigo + rutinas del sistema) y el segmento de datos Crear un segmento de pila, pila inicial del proceso (entorno del proceso y los parmetros que se pasan por invocacin del programa correspondiente). Finalizado est listo para ejecutar en el momento que el planificador lo llame.
Mapa de memoria T abla de procesos

Objeto ejecutable Biblioteca sistema

Cargador

Imagen del proceso

BCP

RESUMEN CICLO DE VIDA BASICO DE UN PROCESO

ESTADOS DE UN PROCESO

Você também pode gostar