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

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

S.O.: Planicacin o
Gorka Guardiola
Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

30 de agosto de 2010

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

(cc) 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Attribution-ShareAlike. Para obtener la licencia completa, vase http://creativecommons.org/licenses/by-sa/2.1/es. Tambin puede e e solicitarse a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Monoprogramacin o

Uno slo ejecutando hasta que acaba o Cosa del pasado (o uso espec co) Hoy tengo navegador, mp3, chat. . .

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Multiprogramacin o

Cuando alguien hace E/S meto a otro Apareci con time sharing o Aprovecha la CPU

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cmo funciona? o

Si tenemos un canal para comunicarnos Varios usuarios que lo comparten Problema similar, solucin: TDM, turnos o

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Procesos

Una fraccin de CPU o Ya conocemos la abstraccin o


rfork, exits, wait /proc kill, broke...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Estructura de datos

Tabla de procesos
Los registros salvados (si no ejecuta) Mapa de memoria Ficheros abiertos Tabla de montajes ...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Mecanismo: cambio de contexto

Salvo el estado
En la tabla de procesos

Cargo el estado
De un proceso

Lo ultimo, el PC.

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto
CPU

Reg. Estado

PC

EAX EBX ...

SP

Mapa memoria

PROCESO 1 EJECUTANDO PROCESO 2 CONTEXTO SALVADO

SP

Reg. Estado

PC EAX EBX ...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto
CPU

Reg. Estado Reg. Estado

PC PC

EAX EBX EAX ... EBX ...

SP SP Mapa memoria

PROCESO 1 EJECUTANDO PROCESO 2 CONTEXTO SALVADO

SP

Reg. Estado

PC EAX EBX ...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto
CPU

Reg. Estado

PC

EAX EBX ...

SP

Mapa memoria Reg. Estado PROCESO 1 EJECUTANDO EAX EBX ... SP PROCESO 2 CONTEXTO SALVADO

SP

Reg. Estado

PC

PC EAX EBX ...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto
CPU

Reg. Estado

PC

EAX EBX ...

SP

Mapa memoria

PROCESO 1 EJECUTANDO PROCESO 2 CONTEXTO SALVADO

SP

Reg. Estado

PC EAX EBX ...

Reg. Estado PC

EAX EBX ... SP

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto
CPU

Reg. Estado

PC

EAX EBX ...

SP SP

Reg. Estado PROCESO 1 EJECUTANDO PC

EAX EBX ...

Mapa memoria

SP PROCESO 1 CONTEXTO SALVADO

Reg. Estado

PC EAX EBX ...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto
CPU

Reg. Reg. Estado Estado

PC PC

EAX EBX ... EAX EBX ...

SP SP

PROCESO 1 EJECUTANDO

Mapa memoria

SP PROCESO 1 CONTEXTO SALVADO

Reg. Estado

PC EAX EBX ...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto
CPU

Reg. Estado

PC

EAX EBX ...

SP

PROCESO 1 EJECUTANDO

Mapa memoria

SP PROCESO 1 CONTEXTO SALVADO

Reg. Estado

PC EAX EBX ...

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cambio de contexto en C (librer espacio de usuario) a,

Salvar el contexto int setjmp(jmp_buf env) Cargar el contexto void longjmp(jmp_buf env, int val)

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Ejemplo

jmp_buf buf; if(setjmp(buf) != 0){ //con el nuevo contexto } //con el antiguo contexto longjmp(buf, 1);

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Cmo funciona o

El contexto se salva dentro de setjmp Cuando cargo el contexto


Estoy dentro de setjmp Valor de retorno diferente (para distinguir)

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Similar en el kernel sched

sched(Proc *p) { Proc *me = runningproc; if(setjmp(me->regs) != 0) return; else longjmp(p->regs, 1); }

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Pol tica: pol tica de planicacin o

Qu proceso cargo a continuacin? e o Tiene que estar: READY (Listo para ejecutar)
Nota: Carga del sistema == nmero de procesos READY u

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Pol tica: pol ticas de planicacin o

FIFO
Hasta terminar, no expulsiva Buena para sistemas por lotes

Round-Robin
Por turnos Expulsiva Buena para sistemas interactivos

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Expulsiva/No expulsiva

Expulsiva (preemptive)
Se echa al proceso El sistema operativo toma el control Se usa la interrupcin de reloj o

No expulsiva/colaborativa (non-preemptive)
Slo cuando llama al sistema/llama a la librer de threads o a

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Pol ticas: propiedades

Mucha pol ticas diferentes Ms justicia (en el reparto) a Mejor tiempo de respuesta Mayor uso del procesador Compromisos: ingenier a Ojo con la hambruna!!.

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Round Robin

Divido el tiempo en cuanto, rodajas de pocesador Cada proceso un intervalo de tiempo: cuanto O se va (E/S exit) O le echan cuando se acaba su cuanto Sencillo, fcil, predecible a

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Prioridades

Muy utilizado Cada proceso, tiene un valor de prioridad Si hay dos listos, entra el de ms prioridad a Si iguales, round robin Pueden recalcularse Pueden haber varias clases de prioridad
Round robin entre ellas

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Prioridades dinmicas a

Se recalcula la prioridad Segn haya nueva informacin u o Puede favorecer a algunos


I/O bound, interactivos Procesos CPU bound

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Plan 9 antes del 2000

Dos colas, qhigh, qlow (alta y baja) Round robin entre ellas (con ms cuanto en qhigh) a Salida voluntaria, a qhigh Expulsin, a qlow o

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Tiempo real

Planicacin garantizada o Plazos a cumplir Falla si perdemos un plazo (duros)


robot

No pasa nada si perdemos un plazo (blandos)


video, se degrada pero funciona

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Planicacin o
Esto se aplica a
Procesos
memoria no compartida fork

Threads o hilos de kernel


memoria compartida rfork con el ag, proccreate en Plan 9 se llaman procs expulsivos

Threads o hilos de usuario


memoria compartida threadcreate en Plan 9 se llaman threads cambian de contexto con setjmp, longjmp colaborativos
S.O.: Planicacin o Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Varios ejecutando: procesos

Estructura de datos

Mecanismo

Pol tica

Round Robin

Prioridades

Aplicacin o

Planicacin o

Threads o hilos de usuario


planicador en la librer una funcin a, o el kernel no sabe nada todos los threads comparten cuanto que pasa si se quedan en un bucle? que pasa si se quedan en un sleep?

S.O.: Planicacin o

Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

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