Está en la página 1de 25

CAPITULO 5

5.- PROCESOS 5.1.- Concepto de proceso 5.1.1.- Servicios de procesos 5.1.2.- Jerarqua de proceso 5.2.- Entorno del proceso 5.3.- Multitarea 5.3.1.- Base de la multitarea 5.3.2.- Planificador Vs. Activador 5.3.3.- Ventajas de la multitarea 5.3.5.- Grado de multiprogramacin y necesidades de memoria principal

Introduccin Sistemas Operativos.

Ing. Johnny Larrea P.

5.1.- Qu es un proceso ?
Deitel: Programa en ejecucin Actividad asncrona Espritu animado de un procedimiento La entidad a la que se asignan los procesadores. Tanenbaum: Un programa en ejecucin

E. Alcalde/J.Morera J.A. Perez-Campanero Un proceso es un programa en ejecucin junto con su entorno asociado (registros, variables, etc.
Introduccin Sistemas Operativos. 2 Ing. Johnny Larrea P.

5.1.- Concepto de proceso


Programa en ejecucin UNIDAD DE PROCESAMIENTO GESTIONADA POR EL SISTEMA OPERATIVO.

PROGRAMA
Conjunto De Instrucciones

PROCESO
Surge programa pone en Ejecucin

EJERCICIO
Introduccin Sistemas Operativos. 3 Ing. Johnny Larrea P.

MODELO
Consideremos un cientfico de la computacin con una mente culinaria, que est cocinando el pastel de cumpleaos de su hija. El tiene una receta para elaborar un pastel de cumpleaos y una cocina bien abastecida con los ingredientes necesarios: harina, huevo, azcar, extracto de vainilla, etc. Realice una analoga con los siguientes elementos: Programa: .. CPU: . Datos de entrada: . Proceso:

Introduccin Sistemas Operativos.

Ing. Johnny Larrea P.

RESULTADOS DE LA ANALOGA
En esta analoga, la receta es el programa (es decir, un algoritmo expresado en cierta notacin adecuada), el cientfico de computacin es el procesador (CPU) y los ingredientes del pastel son los datos de entrada. El proceso es la actividad que consiste en leer la receta, obtener los ingredientes y hornear el pastel.

Introduccin Sistemas Operativos.

Ing. Johnny Larrea P.

DIFERENCIA ENTRE PROGRAMA Y PROCESO


El programa corresponde a una entidad pasiva, en cambio el proceso corresponde a una entidad activa. Los recursos que utilizan ambos conceptos, podemos decir, que el programa utiliza nicamente memoria secundaria, en cambio el proceso utiliza memoria principal y procesador.
Varios procesos pueden estar ejecutando el mismo programa, por ejemplo, si dos o ms usuarios estn usando simultneamente el mismo editor de texto. El programa es el mismo, pero cada usuario tiene un proceso distinto (y con distintos datos). Conceptualmente cada proceso tiene su propia CPU virtual. En la prctica, hay una sola CPU real, que cambia peridicamente la ejecucin de un proceso a otro, pero para entender el sistema es ms fcil modelarlo como una coleccin de procesos secuenciales que ejecutan concurrentemente (pseudoparalelismo).
Introduccin Sistemas Operativos. 6 Ing. Johnny Larrea P.

Uur s s aio Por msd uur r ga a e s aio W3 in 2 Se 1 hll Se 2 hll PS OIX Vr sAI aia P

Gs nd Sg r a Cmn a . eti e e uidd o u ic c Gs nd Gs nd Gs nd eti e eti e eti e y ac iv sy rho y poe o mmr r c s s e oia laE /S d e toio po c i s co iz ir c r s r te c n inr n .

S te a is m oeaiv pr t o

Nc o le Hr wr ad ae
Introduccin Sistemas Operativos. 7 Ing. Johnny Larrea P.

5.1.1.- SERVICIOS DE PROCESOS

Creacin

Ejecucin
Muerte
CREAR UN PROCESO.- Es creado por el S.O. cuando lo solicita otro proceso, que se convierte en el padre del nuevo. Existen 2 modos de creacin: Creacin a partir de un proceso Padre. El proceso Hijo es una copia exacta del proceso Padre. Creacin a partir de un archivo ejecutable. Se define en el API Win32 de Windows NT.
Introduccin Sistemas Operativos. 8 Ing. Johnny Larrea P.

SERVICIOS DE PROCESOS
EJECUTAR UN PROCESO.- Se ejecutan de 2 formas: Batch e Interactiva BATCH.- Llamado Background, no est asociado a ningn terminal. Deber tomar sus datos de entrada de un archivo y deber depositar sus resultados en otro archivo. Ej: proceso de nminas. INTERACTIVA.- Proceso asociado a una terminal, por el que recibe la informacin del usuario y por el que contesta con los resultados. Ej. Proceso de edicin.

Introduccin Sistemas Operativos.

Ing. Johnny Larrea P.

SERVICIOS DE PROCESOS
TERMINAR EJECUCION UN PROCESO.- Puede finalizar por varias causas: Ha terminado de ejecutar el programa. Se produce una condicin de error en su ejecucin. Ej: Divisn por cero o violacin de memoria. Otro proceso o el usuario deciden que ha de terminar.

CAMBIAR EL PROGRAMA DE UN PROCESO.- Cambia el programa que se est ejecutando un proceso por otro programa almacenado en disco.

Introduccin Sistemas Operativos.

10

Ing. Johnny Larrea P.

5.1.2.- Jerarqua de procesos


Grupos de procesos dependientes de cada shell Familia de procesos P roc. In ic.
Proceso hijo Proceso padre Proceso hermano Proceso abuelo
In icio S ell h In icio In icio S ell h P roceso A In icio
D . Im r. em p D .C m em o ..

Vida de un proceso
Crea Ejecuta Muere o termina

E ito d r P roceso B P roceso E P roceso F

P roceso D

P roceso C

Ejecucin del proceso


Batch Interactivo

En los sistemas de multiprogramacin es importante


mantener un registro a que usuario pertenece cada proceso.
uid gid (identificacin del usuario) (identificacin del grupo)
11 Ing. Johnny Larrea P.

Grupo de procesos
Introduccin Sistemas Operativos.

5.2.- ENTORNO DEL PROCESO


ENTORNO

INFORMACION REGISTROS
DATOS EN PILA (STACK) DATOS EN VARIABLES INSTRUCCIONES Programa en ejecucin

Introduccin Sistemas Operativos.

12

Ing. Johnny Larrea P.

5.2.- ENTORNO DEL PROCESO


Consiste conjunto variables que se le pasan al proceso en el momento de su creacin.

Nombre-Valor
Valor Nombre variable

Ejemplo Unix: PATH=/usr/bin:/home/pepe/bin HOME=/home/pepe PWD=/home/pepe/libros/primero

Introduccin Sistemas Operativos.

13

Ing. Johnny Larrea P.

ACTIVIDADES DEL S.O.


Actividades:

El S.O. Decide detener la ejecucin de un proceso y comenzar la


ejecucin de otro. Ej: 1 proceso ha utilizado una porcin de tiempo de CPU mayor de la permitida.

Proceso que se detiene debe volver a inicializarse en el mismo estado


en que se encontraba.

Las llamadas al sistema de control de procesos son las que se ocupan


de la creacin y fin de los procesos. Ej: Un proceso puede crear uno o ms procesos (Hijos) y estos procesos pueden crear a su vez procesos hijos.
Introduccin Sistemas Operativos. 14 Ing. Johnny Larrea P.

Usuario
Usuario: Persona autorizada a utilizar un sistema Se identifica en la autenticacin mediante:
Cdigo de cuenta Clave (password)

Internamente el SO le asigna el uid (user identification) Super-usuario Tiene todos los derechos Administra el sistema Grupo de usuarios Los usuarios se organizan en grupos
Alumnos Profesores

Todo usuario ha de pertenecer a un grupo


Introduccin Sistemas Operativos. 15 Ing. Johnny Larrea P.

5.3.- MULTITAREA
N po e o r css 1 1 Nuu r s s aio msd 1 e Mn po e o oor c s Mn u u r o o s aio msd 1 e Mlt r c s u ipo e o Mn u u r o o s aio Mlt r c s u ipo e o Mlt s aio u iu u r

S.O. Puede ser: Monotarea Monoproceso Multitarea Multiproceso Monousuario Multiusuario (tiempo compartido)
Introduccin Sistemas Operativos. 16 Ing. Johnny Larrea P.

PARALELISMO.
Es la ejecucin de diversas actividades simultneamente en varios procesadores. Si slo existe un procesador gestionando multiprogramacin, se puede decir que existe PSEUDOPARALELISMO.

CONCURRENCIA.
Es la existencia de varias actividades ejecutndose simultneamente, y necesitan sincronizarse para actuar conjuntamente. Se trata de un concepto lgico, ya que slo hace referencia a las actividades, sin importar el nmero de procesadores presentes.
Introduccin Sistemas Operativos. 17 Ing. Johnny Larrea P.

5.3.1.- Base de la multitarea


Se basa en tres caractersticas:

Paralelismo real entre E/S y UCP (DMA) Alternancia en los procesos de fases de E/S y de procesamiento La memoria almacena varios procesos activos.
Procesamiento Entrada/salida Tiempo
Alternancia de un Proceso con E/S
Introduccin Sistemas Operativos. 18 Ing. Johnny Larrea P.

Ejemplo de ejecucin en un sistema multitarea


Proceso A Proceso B Proceso C Procesador Tiempo Ejecucin de un Sistema Multitarea
Proceso Nulo.- Bucle infinito que no realiza nguna operacin til. El objetivo de este proceso es Entretener al procesador cuando no hay ninguna otra tarea. Introduccin Sistemas Operativos. 19 Ing. Johnny Larrea P.

Procesamiento Entrada/salida Listo SO

A
B C CPU
a b c d e f g h i j k l m n o

Tiempo

a: A en CPU, B y C bloqueados b: A llama al SO para E/S c: Todos bloqueados (CPU idle) d: Acaba E/S de B (despierta y dispatch) e: B en ejecucin f: Acaba E/S de C (despierta), B ready g: Sigue B en CPU y C ready h: B hace syscall. SO despacha C y bloquea B Sistemas operativos 20

i: C en CPU, A y B bloqueados j: C llama al SO para E/S y A se despierta k: A en ejecucin l: Una int E/S llama al SO para despertar B m: A continua en Run y B espera ready n: A se bloquea o: B pasa a ejecucin (run) Flix Garca Carballeira (1999) CPU ocupada siempre salvo en c

5.3.2.- PLANIFICADOR Y ACTIVADOR


Planificador.- (scheduler) forma parte del S.O. Entra en ejecucin cada vez que se activa el S.O. y su misin es seleccinar el proceso que se ha de ejecutar a continuacin. Activador.- (Dispatcher) forma parte del S.O. Su funcin es poner en ejecucin el proceso seleccionado por el planificador.

Introduccin Sistemas Operativos.

21

Ing. Johnny Larrea P.

5.3.3.- Ventajas de la multitarea


La multiprogramacin presenta varias ventajas: Facilita la programacin, dividiendo los programas en procesos (modularidad) Permite el servicio interactivo simultneo de varios usuarios de forma eficiente Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S Aumenta el uso de la CPU

S.O.

MULTITAREA

Introduccin Sistemas Operativos.

22

Ing. Johnny Larrea P.

5.3.5.- Grado de multiprogramacin


Grado de multiprogramacin: n de procesos activos Necesidades de memoria principal: Sistema sin memoria virtual

P cs A r eo o P cs B r eo o P cs C r eo o S O M oa e r mi pni a r c l i p C a r cs r s e a p eoei d o d t t l et e M o m en . a n p
Introduccin Sistemas Operativos.

Utilizacin del procesador

10 0%

0 %

G d d mtp g m i n r o e ui r r a a l oa c
23 Ing. Johnny Larrea P.

Necesidades de memoria principal


Necesidades de memoria principal: Sistema con memoria virtual

Marcos de pgina por proceso

Aam t ren ed mtp g m i n l u e a l i l e ui r r a a n v l oa c c d p c s l t c n eo mc s e i a aa r eoeoa m s a o d pg o n r n

Ned Mtp g m i n i l e ui r r a v l oa c
24 Ing. Johnny Larrea P.

Introduccin Sistemas Operativos.

Rendimiento del procesador y grado de multiprogramacin


Necesidades de memoria principal: Sistema con memoria virtual
1% 0 0 1% 0 0

% Utilizacin de UCP

Ltdoldov i iapesso m r ipt o ii daan egc pn i i

% Utilizacin de UCP
25

Ltdoldov i iapesso m r ipt o ii daan egc pn i i

Nd urg an ie Mom v e li r c l t ai p M REE E I PU M QA O A


Introduccin Sistemas Operativos.

Nd urg an ie Mom v e li r c l t ai p MR R E E I GD M A O N A
Ing. Johnny Larrea P.

También podría gustarte