capitulo5 2011

25
Introducción Sistemas Operativos. 1 Ing. Johnny Larrea P. 4.- PROCESOS 4.1.- Concepto de proceso 4.1.1.- Servicios de procesos 4.1.2.- Jerarquía de proceso 4.2.- Entorno del proceso 4.3.- Multitarea 4.3.1.- Base de la multitarea 4.3.2.- Planificador Vs. Activador 4.3.3.- Ventajas de la multitarea 4.3.4.- Grado de multiprogramación y necesidades de memoria principal CAPITULO 4

Upload: universidad-laica-eloy-alfaro-de-manabi

Post on 02-Jun-2015

552 views

Category:

Education


7 download

DESCRIPTION

Definicion y control de procesos

TRANSCRIPT

Page 1: Capitulo5 2011

Introducción Sistemas Operativos. 1 Ing. Johnny Larrea P.

4.- PROCESOS4.1.- Concepto de proceso

4.1.1.- Servicios de procesos4.1.2.- Jerarquía de proceso

4.2.- Entorno del proceso4.3.- Multitarea

4.3.1.- Base de la multitarea4.3.2.- Planificador Vs. Activador4.3.3.- Ventajas de la multitarea4.3.4.- Grado de multiprogramación y necesidades de memoria principal

CAPITULO 4

Page 2: Capitulo5 2011

Introducción Sistemas Operativos. 2 Ing. Johnny Larrea P.

Deitel: Programa en ejecución Actividad asíncrona “Espíritu animado” de un procedimiento La entidad a la que se asignan los procesadores.

4.1.-¿ Qué es un proceso ?

Tanenbaum: Un programa en ejecución

E. Alcalde/J.MoreraJ.A. Perez-Campanero Un proceso es un programa en ejecución junto con su entorno asociado (registros, variables, etc.

Page 3: Capitulo5 2011

Introducción Sistemas Operativos. 3 Ing. Johnny Larrea P.

4.1.- Concepto de proceso

• Programa en ejecución• UNIDAD DE PROCESAMIENTO GESTIONADA POR EL

SISTEMA OPERATIVO.

PROGRAMA PROCESO Conjunto Surge programa De pone en Instrucciones Ejecución

EJERCICIO

Page 4: Capitulo5 2011

Introducción Sistemas Operativos. 4 Ing. Johnny Larrea P.

MODELO

Consideremos un científico de la computación con una mente culinaria, que está cocinando el pastel de cumpleaños de su hija. El tiene una receta para elaborar un pastel de cumpleaños y una cocina bien abastecida con los ingredientes necesarios: harina, huevo, azúcar, extracto de vainilla, etc.

Realice una analogía con los siguientes elementos:

Programa: ……………………..

CPU: ………………………….

Datos de entrada: …………….

Proceso: ………………………

Page 5: Capitulo5 2011

Introducción Sistemas Operativos. 5 Ing. Johnny Larrea P.

RESULTADOS DE LA ANALOGÍA

En esta analogía, la receta es el programa (es decir, un algoritmo expresado en cierta notación adecuada), el científico de computación 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.

Page 6: Capitulo5 2011

Introducción Sistemas Operativos. 6 Ing. Johnny Larrea P.

DIFERENCIA ENTRE PROGRAMA Y PROCESO

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 más usuarios están usando simultáneamente 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 práctica, hay una sola CPU real, que cambia periódicamente la ejecución de un proceso a otro, pero para entender el sistema es más fácil modelarlo como una colección de procesos secuenciales que ejecutan concurrentemente (pseudoparalelismo).

El programa corresponde a una entidad pasiva, en cambio el proceso corresponde a una entidad activa.

Page 7: Capitulo5 2011

Introducción Sistemas Operativos. 7 Ing. Johnny Larrea P.

Núcleo

POSIX

Program as de usuario

Usuarios

Sistem aoperativo

Varias API

Hardware

W in 32

Shell 1 Shell 2

G estión deprocesos

G estión dem em oria

G estión de la E /S

C om unicac.y

sincron iz .

S eguridad y

pro tección

G estión de arch ivos y d irectorios

Page 8: Capitulo5 2011

Introducción Sistemas Operativos. 8 Ing. Johnny Larrea P.

4.1.1.- SERVICIOS DE PROCESOS

• Creación

• Ejecución• 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 creación:

Creación a partir de un proceso Padre. El proceso Hijo es una copia exacta del proceso Padre.Creación a partir de un archivo ejecutable. Se define en el API Win32 de Windows NT.

Page 9: Capitulo5 2011

Introducción Sistemas Operativos. 9 Ing. Johnny Larrea P.

• EJECUTAR UN PROCESO.- Se ejecutan de 2 formas: Batch e Interactiva

– BATCH.- Llamado Background, no está asociado a ningún terminal. Deberá tomar sus datos de entrada de un archivo y deberá depositar sus resultados en otro archivo. Ej: proceso de nóminas.

– INTERACTIVA.- Proceso asociado a una terminal, por el que recibe la información del usuario y por el que contesta con los resultados. Ej. Proceso de edición.

… SERVICIOS DE PROCESOS

Page 10: Capitulo5 2011

Introducción Sistemas Operativos. 10 Ing. Johnny Larrea P.

• TERMINAR EJECUCION UN PROCESO.- Puede finalizar por varias causas: Ha terminado de ejecutar el programa. Se produce una condición de error en su ejecución. Ej: Divisíón

por cero o violación 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.

… SERVICIOS DE PROCESOS

Page 11: Capitulo5 2011

Introducción Sistemas Operativos. 11 Ing. Johnny Larrea P.

4.1.2.- Jerarquía de procesos

• Grupos de procesos dependientes de cada shell• Familia de procesos

• Proceso hijo• Proceso padre• Proceso hermano• Proceso abuelo

• Vida de un proceso• Crea• Ejecuta• Muere o termina

• Ejecución del proceso• Batch• Interactivo

• Grupo de procesos

P ro c . In ic .

In ic io In ic io

ShellShell

E d ito r

D em . Im pr. D em . C om ..

P ro c e so A

P ro c e so B P ro c e so D P ro c e so C

P ro c e so E P ro c e so F

In ic ioIn ic io

En los sistemas de multiprogramación es importante mantener un registro a que usuario pertenece cada proceso.

uid (identificación del usuario)

gid (identificación del grupo)

Page 12: Capitulo5 2011

Introducción Sistemas Operativos. 12 Ing. Johnny Larrea P.

4.2.- ENTORNO DEL PROCESO

INFORMACION

REGISTROS

DATOS EN PILA(STACK)

DATOS EN VARIABLES

INSTRUCCIONESPrograma en ejecución

ENTORNO

Page 13: Capitulo5 2011

Introducción Sistemas Operativos. 13 Ing. Johnny Larrea P.

• Consiste conjunto variables que se le pasan al proceso en el momento de su creación.

4.2.- ENTORNO DEL PROCESO

Nombre-Valor

Nombre variable

Valor

Ejemplo Unix:PATH=/usr/bin:/home/pepe/binHOME=/home/pepePWD=/home/pepe/libros/primero

Page 14: Capitulo5 2011

Introducción Sistemas Operativos. 14 Ing. Johnny Larrea P.

Actividades:

El S.O. Decide detener la ejecución de un proceso y comenzar la ejecución de otro. Ej: 1 proceso ha utilizado una porción 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 creación y fin de los procesos. Ej: Un proceso puede crear uno o más procesos (Hijos) y estos procesos pueden crear a su vez procesos hijos.

ACTIVIDADES DEL S.O.

Page 15: Capitulo5 2011

Introducción Sistemas Operativos. 15 Ing. Johnny Larrea P.

Usuario

• Usuario: Persona autorizada a utilizar un sistema– Se identifica en la autenticación mediante:

• Código 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

Page 16: Capitulo5 2011

Introducción Sistemas Operativos. 16 Ing. Johnny Larrea P.

4.3.- MULTITAREANº procesos

1

1

m ás de 1

m ás de 1

Nº usuarios

M onoprocesoM onousuario

M ultiprocesoM onousuario

M ultiprocesoM ultiusuario

S.O. Puede ser:• Monotarea ó Monoproceso• Multitarea ó Multiproceso• Monousuario• Multiusuario (tiempo compartido)

Page 17: Capitulo5 2011

Introducción Sistemas Operativos. 17 Ing. Johnny Larrea P.

PARALELISMO.

Es la ejecución de diversas actividades simultáneamente en varios procesadores. Si sólo existe un procesador gestionando multiprogramación, se puede decir que existe PSEUDO-PARALELISMO.

CONCURRENCIA.

Es la existencia de varias actividades ejecutándose simultáneamente, y necesitan sincronizarse para actuar conjuntamente. Se trata de un concepto lógico, ya que sólo hace referencia a las actividades, sin importar el número de procesadores presentes.

Page 18: Capitulo5 2011

Introducción Sistemas Operativos. 18 Ing. Johnny Larrea P.

4.3.1.- Base de la multitarea

Se basa en tres características:

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.

P ro c e sa m ie n to

E n tra d a /s a lid aT ie m p o

Alternancia de un Proceso con E/S

Page 19: Capitulo5 2011

Introducción Sistemas Operativos. 19 Ing. Johnny Larrea P.

Ejemplo de ejecución en un sistema multitarea

Ejecución de un Sistema Multitarea

Procesam ien toE ntrada /sa lidaL istoSO

T ie m p o

P ro c e so A

P ro c e so B

P ro c e so C

P ro c e sa d o r

• Proceso Nulo.- Bucle infinito que no realiza níguna operación útil. El objetivo de este proceso es Entretener al procesador cuando no hay ninguna otra tarea.

Page 20: Capitulo5 2011

Sistemas operativos 20 Félix García Carballeira (1999)

A

B

C

CPUTiempoa b c d e f g h i j k l m n o

a: A en CPU, B y C bloqueadosb: A llama al SO para E/Sc: Todos bloqueados (CPU idle)d: Acaba E/S de B (despierta y dispatch)e: B en ejecuciónf: Acaba E/S de C (despierta), B readyg: Sigue B en CPU y C readyh: B hace syscall. SO despacha C y bloquea B

i: C en CPU, A y B bloqueadosj: C llama al SO para E/S y A se despiertak: A en ejecuciónl: Una int E/S llama al SO para despertar Bm: A continua en Run y B espera readyn: A se bloqueao: B pasa a ejecución (run)CPU ocupada siempre salvo en c

Page 21: Capitulo5 2011

Introducción Sistemas Operativos. 21 Ing. Johnny Larrea P.

• Planificador.- (scheduler) forma parte del S.O. Entra en ejecución cada vez que se activa el S.O. y su misión es seleccinar el proceso que se ha de ejecutar a continuación.

4.3.2.- PLANIFICADOR Y ACTIVADOR

• Activador.- (Dispatcher) forma parte del S.O. Su función es poner en ejecución el proceso seleccionado por el planificador.

Page 22: Capitulo5 2011

Introducción Sistemas Operativos. 22 Ing. Johnny Larrea P.

4.3.3.- Ventajas de la multitarea

La multiprogramación presenta varias ventajas:• Facilita la programación, dividiendo los programas en procesos

(modularidad)• Permite el servicio interactivo simultáneo 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

Page 23: Capitulo5 2011

Introducción Sistemas Operativos. 23 Ing. Johnny Larrea P.

P roceso B

P roceso A

P roceso CS O

C ada proceso residetota lm ente en M .p

M em oriaprincipal

G rado de m ultip rogram ación

Util

iza

ció

n d

el p

roce

sado

r 100%

0%

4.3.4.- Grado de multiprogramación

• Grado de multiprogramación: nº de procesos activos• Necesidades de memoria principal: Sistema sin memoria virtual

Page 24: Capitulo5 2011

Introducción Sistemas Operativos. 24 Ing. Johnny Larrea P.

Nivel de M ultiprogram ación

A l aum entar e l n ivel de m ultiprogram ación a cada proceso le tocan m enos m arcos de página

Ma

rcos

de

pág

ina

po

r p

roce

so

1 2 3 4

Necesidades de memoria principal

• Necesidades de memoria principal: Sistema con memoria virtual

Page 25: Capitulo5 2011

Introducción Sistemas Operativos. 25 Ing. Johnny Larrea P.

Nivel de M ultiprogram ación%

Util

iza

ció

n de

UC

P

MEMORIA GRANDE

Lim itado por e l d ispositivode paginación

100 %

Nivel de M ultiprogram ación

Lim itado por e l d ispositivode paginación

% U

tiliz

aci

ón d

e U

CP

100 %

MEMORIA PEQUEÑA

Rendimiento del procesador y grado de multiprogramación

• Necesidades de memoria principal: Sistema con memoria virtual