Вы находитесь на странице: 1из 21

2012

Procesos y subprocesos
Sistemas operativos
Participantes
Cristian R. Jos O. Huascar Francisco 2007-0729 2011-2718

Unicaribe

PROCESOS
Vamos a embarcarnos ahora en un estudio detallado de cmo estn diseados y construidos los sistemas operativos. El concepto fundamental en cualquier sistema operativo es el concepto de proceso.
El proceso que consiste en una abstraccin de lo que es un programa en ejecucin. Todo lo dems depende de este concepto y es importante que el diseador del sistema operativo y el estudiante comprenda lo antes posible lo que es un proceso. Todos los ordenadores modernos pueden hacer varias cosas a la vez. Mientras un ordenador est ejecutando un programa de usuario puede perfectamente tambin estar leyendode un disco e imprimiendo texto en una pantalla o una impresora. En un sistema multiprogramado la CPU tambin conmuta de unos programas a otros, ejecutando cada uno deellos durante decenas o cientos de milisegundos.

Huscar

El Modelo de los Procesos Secuenciales


En este modelo, todo el software ejecutable en el ordenador, incluyendo a veces al propio sistema operativo, se organiza en un nmero de procesos secuenciales, o simplemente procesos para acortar.

Un proceso es justamente un programa en ejecucin, incluyendo los valores actuales del contador de programa, registros y variables.
Conceptualmente cada proceso tiene su propia CPU virtual. En realidad, por supuesto, la CPU real conmuta sucesivamente de un proceso a otro, pero para entender el sistema, es mucho ms fcil pensar sobre una coleccin de procesos ejecutndose en (pseudo) paralelo, que intentar seguir la pista de cmo la CPU conmuta de un programa a otro . Esta rpida conmutacin de un proceso a otro en algn orden sedenomina Multiprogramacin. Huscar

(a) Multiprogramacin de cuatro programas. (b) Modelo conceptual de cuatro procesos secuenciales independientes.

(c) Slo unprograma est activo en cada momento.

Huscar

Creacin de Procesos
Los sistemas operativos necesitan asegurar de alguna forma que puedan existir todos los procesos necesarios.

Sin embargo, en sistemas de propsito general es necesaria alguna manera de poder crear y destruir los procesos segn sea necesario durante la operacin del sistema. Vamos a fijarnos ahora en algunas de estas cuestiones. Los cuatro principales sucesos que provocan la creacin de nuevos procesos son: 1. La inicializacin del sistema 2. La ejecucin por parte de un proceso (en ejecucin) de una llamada al sistema de creacin de un nuevo proceso. 3. La peticin por parte del usuario de la creacin de un nuevo proceso. 4. El inicio de un trabajo en batch.

Huscar

Terminacin de los Procesos


Tras la creacin de un proceso comienza su ejecucin realizando el trabajo que se le ha encomendado. Sin embargo nada dura para siempre, ni siquiera los procesos. Pronto o tarde el nuevo proceso debe terminar, usualmente debido a una de las siguientes causas: 1. El proceso completa su trabajo y termina (voluntariamente). 2. El proceso detecta un error y termina (voluntariamente). 3. El sistema detecta un error fatal del proceso y fuerza su terminacin. 4. Otro proceso fuerza la terminacin del proceso (por ejemplo en UNIX mediante la llamada al sistema kill).

Huscar

Jerarquas de Procesos
En algunos sistemas, cuando un proceso crea otro proceso, el proceso padre y el proceso hijo, continan estando asociados de cierta manera. El proceso hijo puede a su vez crear ms procesos formando una jerarqua de procesos. reproducen de forma sexual, De forma diferente a las plantas y animales que son un proceso tiene un nico padre (pero cero, uno, dos o ms hijos). Otro ejemplo del papel que puede jugar la jerarqua de procesos es cmo se inicializa UNIX durante su arranque. Hay un proceso especial presente en la imagen de arranquedenominado init. Por el contrario, Windows no ofrece ningn concepto de jerarqua de procesos. Todos los procesos son iguales. El nico lugar donde hay algo parecido a una jerarqua de procesos es que cuando se crea un proceso, su proceso padre recibe un puntero a un conjunto de informacin.

Cristian

Estados de los Procesos


Aunque cada proceso es una entidad independiente, con su propio contador de programa y estado interno, los procesos necesitan a menudo interactuar con otros procesos. Un proceso puede generar los datos de salida que otro proceso utiliza como entrada. En el comando del shell

En ese caso el proceso que ejecuta el grep debe bloquearse hasta que est disponible alguna entrada.
Cuando un proceso se bloquea, lo hace porque desde un punto de vista lgico no puede continuar, normalmente debido a que est esperando por datos de entrada que an no estn disponibles.

Cristian

Tres estados en los que puede estar un proceso 1. En ejecucin (utilizando realmente la CPU en ese instante). 2. Preparado (ejecutable; detenido temporalmente para permitir que otro proceso se ejecute). 3. Bloqueado (incapaz de ejecutarse hasta que tenga lugar algn suceso externo).

Cristian

Implementacin de Procesos
Para implementar el modelo de los procesos el sistema operativo mantiene una tabla (un array de registros o estructuras), denominada la tabla de procesos, con una entrada por proceso. Algunos de los campos ms importantes que aparecen en el descriptor de proceso de cualquier sistema operativo tpico. Los campos en la primera columna estn relacionados con la gestin de los procesos. Las otras dos columnas tienen que ver con la gestin de memoria y la gestin de ficheros, respectivamente. Hay que sealar que los campos concretos que tienen los descriptores de la tabla de procesos varan mucho de un sistema operativo a otro, pero la figura da una idea general del tipo de informacin que es necesario mantener para la gestin de los procesos.

Cristian

Implementacin de un subproceso
Espacio de usuario Kernel Hibridas

Cuando se implementa un subproceso en el espacio de usuario El kernel es desconocedor de los subprocesos. Cada proceso necesita su propia tabla de subproceso con cada una de sus propiedades para darle seguimiento.

Wanxiel

Tabla de subproceso

Los subprocesos permiten que cada proceso tenga un algoritmo de calendarizacin que permita organizar las actividades de forma cronolgica. Si un proceso empieza a ejecutarse ningn otro subproceso perteneciente al mismo proceso se ejecutara primero si el primero no cede la CPU.

Wanxiel

Cuando se implementa un subproceso en el kernel


El kernel es el que administra los subprocesos. No se utiliza un sistema en tiempo de ejecucin. No se utiliza una tabla de subprocesos en cada proceso. Cuando un subproceso se bloquea el kernel puede ejecutar otro subproceso del mismo proceso.

Cuando se implementa un subproceso de forma hibrida


Se combina las ventajas de los subproceso en el nivel de usuario y en el nivel de kernel. Por ejemplo . multiplexar varios subprocesos en el nivel de en subprocesos en kernel .

COMO CONVERTIR EN CODIGO CON MULTIPLES SUBPROCESOS EL DE UN SOLO SUBPROCESO

Juan Carlos

COMUNICACION ENTRE PROCESOS

Junan Carlos

CONDICIONES DE COMPETENCIA

Juan Carlos

INHABILITACION DE INTERRUPCIONES

Juan Carlos

Gracias!!!!

Вам также может понравиться