Capitulo4.ppt

24
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

description

Politicas de planificacion de los sistemas operativos

Transcript of Capitulo4.ppt

Page 1: Capitulo4.ppt

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: Capitulo4.ppt

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: Capitulo4.ppt

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: Capitulo4.ppt

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: Capitulo4.ppt

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: Capitulo4.ppt

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: Capitulo4.ppt

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

N ú c l e o

P O S I X

P r o g r a m a s d e u s u a r i o

U s u a r i o s

S i s t e m ao p e r a t i v o

V a r i a s A P I

H a r d w a r e

W i n 3 2

S h e l l 1 S h e l l 2

G e s t i ó n d ep r o c e s o s

G e s t i ó n d em e m o r i a

G e s t i ó n d e l a E / S

C o m u n i c a c .y

s i n c r o n i z .

S e g u r i d a d y

p r o t e c c i ó n

G e s t i ó n d e a r c h i v o s y d i r e c t o r i o s

Page 8: Capitulo4.ppt

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: Capitulo4.ppt

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: Capitulo4.ppt

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: Capitulo4.ppt

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 r o c . I n i c .

I n i c i o I n i c i o

S h e l lS h e l l

E d i t o r

D e m . I m p r . D e m . C o m . .

P r o c e s o A

P r o c e s o B P r o c e s o D P r o c e s o C

P r o c e s o E P r o c e s o F

I n i c i oI n i c i o

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: Capitulo4.ppt

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

4 .2 .- E N T O R N O D E LP R O C E S O

INFORMACION

REGISTROS

DATOS EN PILA(STACK)

DATOS EN VARIABLES

INSTRUCCIONESPrograma en ejecución

ENTORNO

Page 13: Capitulo4.ppt

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: Capitulo4.ppt

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.

. .A C T IV ID A D E S D E L S O

Page 15: Capitulo4.ppt

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: Capitulo4.ppt

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

4.3.- MULTITAREAN º p r o c e s o s

1

1

m á s d e 1

m á s d e 1

N º u s u a r i o s

M o n o p r o c e s oM o n o u s u a r i o

M u l t i p r o c e s oM o n o u s u a r i o

M u l t i p r o c e s oM u l t i u s u a r i o

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

Page 17: Capitulo4.ppt

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: Capitulo4.ppt

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 r o c e s a m i e n t o

E n t r a d a / s a l i d aT i e m p o

Alternancia de un Proceso con E/S

Page 19: Capitulo4.ppt

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

Ejemplo de ejecución en un sistema multitarea

Ejecución de un Sistema Multitarea

P r o c e s a m i e n t oE n t r a d a / s a l i d aL i s t oS O

T i e m p o

P r o c e s o A

P r o c e s o B

P r o c e s o C

P r o c e s a 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: Capitulo4.ppt

Introducción Sistemas Operativos. 20 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 21: Capitulo4.ppt

Introducción Sistemas Operativos. 21 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 22: Capitulo4.ppt

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

P r o c e s o B

P r o c e s o A

P r o c e s o CS O

C a d a p r o c e s o r e s i d et o t a l m e n t e e n M . p

M e m o r i ap r i n c i p a l

G r a d o d e m u l t i p r o g r a m a c i ó n

Util

izac

ión

de

l pro

cesa

dor 1 0 0 %

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 23: Capitulo4.ppt

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

N i v e l d e M u l t i p r o g r a m a c i ó n

A l a u m e n t a r e l n i v e l d e m u l t i p r o g r a m a c i ó n a c a d a p r o c e s o l e t o c a n m e n o s m a r c o s d e p á g i n a

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 24: Capitulo4.ppt

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

N i v e l d e M u l t i p r o g r a m a c i ó n%

Util

iza

ció

n de

UC

P

M E M O R I A G R A N D E

L i m i t a d o p o r e l d i s p o s i t i v od e p a g i n a c i ó n

1 0 0 %

N i v e l d e M u l t i p r o g r a m a c i ó n

L i m i t a d o p o r e l d i s p o s i t i v od e p a g i n a c i ó n

% U

tiliz

aci

ón d

e U

CP

1 0 0 %

M E M O R I A P E Q U E Ñ A

Rendimiento del procesador y grado de multiprogramación

• Necesidades de memoria principal: Sistema con memoria virtual