unidad 4 procesos

32
Procesos

Upload: cleyson-nunez-hidalgo

Post on 09-Apr-2016

269 views

Category:

Documents


0 download

DESCRIPTION

Sistemas Operativos

TRANSCRIPT

Page 1: UNIDAD 4 Procesos

Procesos

Page 2: UNIDAD 4 Procesos
Page 3: UNIDAD 4 Procesos

Set o conjunto de variables que se pasan al proceso al momento de su creación

Este conjunto de variables se almacenan en la Pila del proceso

Ejemplo bajo Linux:

PATH=/usr/bin:/home/pepe/binTERM=vt100HOME=/home/pepePWD=/home/pepe/libros/primeroTIMEZONE=MET

Page 4: UNIDAD 4 Procesos

La secuencia de creación de procesos desde el inicio del SO y durante toda la operación de los usuarios, genera un árbol jerárquico de procesos

Todos los procesos creados a partir de un Shell pueden formar un grupo de procesos.

Las relaciones de los procesos de la jerarquía o grupos, forman familias de procesos y se utilizan los términos como:

Proceso hijo Proceso padre Proceso hermano Proceso abuelo

Page 5: UNIDAD 4 Procesos

INIT

login login

ShellShell

Editor

Demonio lpdimpresión

Demonio decomunicación.

Proceso A

Proceso B Proceso D Proceso C

Proceso E Proceso F

loginlogin

Grupo

Arbol

Page 6: UNIDAD 4 Procesos

Programaejecutable

Bibliotecasistema

Mapa dememoria

Imagendel proceso

Tabla de procesos

BCP

Carg

ador

SO

Tablas del SO

Page 7: UNIDAD 4 Procesos
Page 8: UNIDAD 4 Procesos

Completo en memoria Parcialmente en memoria

PROCESO

CODIGO

DATOS

PILA Disco Memoria Virtual

RAM

Tabla de paginasdel proceso

•RIED

•Tamaño

Codigo

Datos

Pila

Page 9: UNIDAD 4 Procesos
Page 10: UNIDAD 4 Procesos
Page 11: UNIDAD 4 Procesos

BCP

Page 12: UNIDAD 4 Procesos

Los SO modernos permiten que coexistan varios procesos activos a la vez

La multitarea permite el servicio interactivo simultáneo de varios usuarios de forma eficiente

La multitarea aprovecha los tiempos de espera de los procesos bloqueados por operaciones de E/S para ejecutar otros procesos

La multitarea requiere que la memoria RAM permita almacenar varias imagenes de procesos en forma simultanea

Page 13: UNIDAD 4 Procesos

RAM

Page 14: UNIDAD 4 Procesos

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

Ejecución mínima del proceso Nulo

Page 15: UNIDAD 4 Procesos

El SO controla la información sobre sus procesos a través de las tablas del sistema

SO

Mapa de memoria del Proceso A

Tablas SOPC

SP

Estado

Mapa de memoria del Proceso B

Mapa de memoria del Proceso C

Registrosgenerales

Registrosespeciales

Tablas del sistema operativo

Tabla de procesos

- Tabla de memoria- Tabla de E/S- Tabla de ficheros

BCP Proceso BBCP Proceso A BCP Proceso C- - Identificación- Control

Estado (registros)- - Identificación- Control

Estado (registros) - - Identificación- Control

Estado (registros)

CPU RAM

Page 16: UNIDAD 4 Procesos

Un proceso de crea, se ejecuta, muere o termina Los estados básicos de un proceso son:

◦ Listo para ejecutar◦ Ejecución en el CPU◦ Bloqueado en espera por completar operación de E/S

L is to B lo q u e a d o

E je c u c ió n

Final E /S

Term ina

N uevo

Page 17: UNIDAD 4 Procesos

El SO puede suspender procesos para disminuir el grado de multiprogramación efectivo

La suspensión de procesos implica liberar sus recursos RAM y trasladarlos a memoria SWAP o de intercambio

La RAM disponible es asignada para completar la imagen RAM de los procesos listos y aligerar su terminación

Los procesos pueden ser suspendidos desde los estados listo o bloqueados

Page 18: UNIDAD 4 Procesos

Ejecución

Listo ysuspendido

Listo

Bloqueado ysuspendido

BloqueadoFin E/S

Exit

Fin E/S

Exp

ulsa

do a

l dis

co

Exp

ulsa

do a

l dis

co

Rec

uper

ado

del d

isco

E n tra a ls is tem a

Mem

oria

Procesos por lotesen espera

Zona

de

inte

rcam

bio

Page 19: UNIDAD 4 Procesos

Cada vez que ocurre una interrupción de H/S el SO toma el control del CPU

Cada vez que el SO toma el control del CPU, se genera un cambio de contexto

Cuando ocurre un cambio de contexto, el SO realiza las siguientes operaciones:◦ Salvar el estado del procesador del proceso en su

correspondiente BCP◦ Ejecutar la rutina de tratamiento de interrupción

Al finalizar de atender la interrupción, el SO decide si activa o no el proceso interrumpido

Page 20: UNIDAD 4 Procesos

El Activador o Despachador es el modulo del SO que pone a ejecutar un proceso en el CPU

La activación de un proceso consiste en cargar o copiar en los registros del CPU, la información del estado del CPU contenida en el BCP del proceso

Si es la primera vez que se ejecuta se cargan los valores iníciales del estado del CPU

En caso contrario se cargan los valores parciales del estado del CPU

Page 21: UNIDAD 4 Procesos

Su objetivo es repartir el tiempo de CPU entre los procesos que pueden ejecutar (Listos)

El Scheduler o planificador a corto plazo, es el modulo del SO que se encarga de seleccionar de la cola de listos, el próximo proceso a ejecutar

El Activador es el modulo que pone en ejecución al proceso seleccionado

La planificación se realiza sobre estructuras de colas de procesos agrupadas por tipos de estados y por prioridad

Page 22: UNIDAD 4 Procesos

El SO mantiene diversas colas de procesos

Se implementa con punteros internos al BCP

Tabla de procesosB CP1 B CP 7B C P2 B CP8B CP 3 B C P9B CP4 B C P10B C P5 B CP11B CP6 B C P12

1 90 56 11 87 0

4Punteros de las co las

2

Cabecera de la Subcolade Prioridad 0

Cabecera de la Subcolade Prioridad 29

Cabecera de la Subcolade Prioridad 1

Cabecera de la Subcolabatch 1

Cabecera de la Subcolabatch 0

BCP-A

BCP-B

BCP-C BCP-E BCP-F

BCP-D

PalabraResum en

Bit 0

Bit 1

Bit 29

Bit 30

Bit 31

1

0

1

1

0

Page 23: UNIDAD 4 Procesos

Los SO pueden incluir varios niveles de planificación La planificación a corto plazo realizada por el

Scheduler o planificador a corto plazo La planificación a medio plazo trata la suspensión de

procesos, expulsa y recupera procesos desde o hacia la memoria SWAP

La planificación a largo plazo selecciona procesos Lotes o Batch desde la lista de espera y los ingresa al sistema

La planificación de entrada/salida decide el orden en que se ejecutan las operaciones de E/S que están encoladas para cada dispositivo de E/S

Page 24: UNIDAD 4 Procesos

Ejecución

Listo ysuspendido

Listo

Bloqueado ysuspendido

BloqueadoFin E/S

Exit

E n tra a ls is te m a

P la n if ica ció n a c o rto p la zo

P lan ifica ció n a m e d io p la zo

P la n if ica ció n ala rg o p la zo

Mem

oria

SwapP ro c e so s B a tc h

e n e sp e ra

Page 25: UNIDAD 4 Procesos

Sin expulsión o no apropiativa:◦ El proceso conserva el CPU mientras lo desee◦ Libera el CPU cuando solicita un servicio que lo bloquee◦ Puede monopolizar al CPU

Con expulsión o apropiativa:◦ El SO quita el CPU al proceso, aunque éste no lo solicite◦ Se controla el tiempo de ejecución de los procesos, a

través de interrupciones de reloj, que permiten al SO a tomar el control del CPU y chequear el temporizador del proceso

Page 26: UNIDAD 4 Procesos

Reparto de UCP equitativo Eficiencia (optimizar UCP) Mejor tiempo de respuesta en uso interactivo Mejor tiempo de espera en lotes (batch) Mayor número de trabajos por unidad de tiempo

Page 27: UNIDAD 4 Procesos

Cíclico o Round Robin◦ Asignación de procesador rotatoria◦ Equitativo (mejor hacerlo por uid y no por proceso)◦ Uso en sistemas de tiempo compartido◦ Se asigna un tiempo máximo de procesador (rodaja)

Prioridades◦ Fijas (problema de inanición)◦ Aumentarlas con el envejecimiento

P ro c e soe n e je c u c ió n

5 3 71 3 28 7 23

P ro c e soe n e je c u c ió n

53 71 3 28 7 23

Page 28: UNIDAD 4 Procesos

Primero el proceso más corto◦ Uso en sistemas batch◦ Produce el menor tiempo de respuesta◦ Penaliza a los procesos largos◦ Dificultad en conocer a priori la duración del proceso

FIFO◦ Uso en sistemas batch ◦ Primero que el proceso mas viejo

Aleatorio o lotería

Page 29: UNIDAD 4 Procesos

Cada política de planificación lleva asociado un rango con al menos 32 niveles de prioridad

El planificador elegirá el proceso o proceso ligero con la prioridad más alta

Políticas de planificación◦ FIFO◦ Cíclica◦ Otra

Page 30: UNIDAD 4 Procesos

Zombie

Ejecución

Parado

Listo

Espera

Finalizar

DormirDormir

DespertarDespertar

Despachar

Desalojar

Page 31: UNIDAD 4 Procesos

Implementa una planificación cíclica y con expulsión

Existen 32 niveles de prioridad (0 al 31), divididos en:◦ 16 niveles con prioridad de tiempo real (16 al 31)◦ 15 niveles con prioridades variables (1 al 15)◦ Un nivel del sistema (0)

Los procesos comienzan en los niveles del 1 al 15 y al llegar al nivel 16 toman su prioridad dependiendo de su anterior comportamiento

Page 32: UNIDAD 4 Procesos

Inic iado Situar en la colade listos

Reiniciado

Ejecuciónfinalizada

Bloqueado

Esperaterminada

Cambio de contexto. Comienzo de ejecución

Fin de b loqueo

Seleccionadopara

ejecución

Expulsado

Expulsado

Pila del kernelen swap

Pila del kernel en mem oria

Listo

ReservaEjecución

Finalizado

Transición

Bloqueado