Sistemas Operativos

Páginas: 16 (3804 palabras) Publicado: 31 de octubre de 2012
Planificación de Procesos
2008

Kilian Perdomo Curbelo Airam Rodríguez Quintana

1

Introducción. Conceptos básicos
• Proceso y programa. ¿En qué se diferencian? • E t d de un proceso Estados d • Estructura Task_Struct
• Cambio de contexto

• Planificación de procesos • Funciones del planificador

2

Proceso y programa. ¿En qué se diferencian?

• Programa: es una colección deinstrucciones que el procesador interpreta y ejecuta. Los programas se almacenan de modo permanente en memoria secundaria Un módulo cargador secundaria. los mueve a memoria principal para poder ser ejecutados. • Proceso: es un programa en ejecución. Como consecuencia de ello, el sistema operativo le va a asignar recursos como memoria, dispositivos, archivos, cpu, etc. Tiene su propio contador deprograma. • Es el SO el encargado de lanzar el programa y convertirlo en proceso

3

Estados de un proceso en Linux p
167 #define TASK_RUNNING 0 //En ejecución o listo para ejecutarse

168 #define TASK_INTERRUPTIBLE 1 /*Esperando por algún evento: interrupción hardware liberación de un recurso por el que espera que llegue hardware, espera, una señal, etc... Si esto ocurre pasa aTASK_RUNNING*/ p p g 169 #define TASK_UNINTERRUPTIBLE 2 /*Esperando por algún evento. A diferencia de TASK_INTERRUPTIBLE, no puede ser interrumpido por ninguna señal.*/ 170 #define TASK_STOPPED 4 /*Proceso detenido tras recibir alguna señal: SIGTSTP, SIGSTOP, SIGTTIN, SIGTTOU. Reanuda su ejecución cuando recibe la seña SIGCOUNT*/ 171 #define TASK_TRACED 8 /*El proceso se está depurando mediante la funciónptrace()*/

4

Estados de un proceso en Linux p
173 #define EXIT_ZOMBIE 16 /*El proceso ha finalizado, pero se EXIT ZOMBIE finalizado mantiene su estructura task_struct hasta que su padre haga un wait()*/ 174 #define EXIT_DEAD 32 /*El proceso ha finalizado, y su padre ha hecho wait(). Se libera la estructura del proceso.*/ 176 #define TASK_NONINTERACTIVE 64 /*Previene cualquier cambio sobresleep_avg(calcular prioridad). Asume que todos los procesos en este estado no son interactivos / interactivos*/ 177 #define TASK_DEAD 128 /*El proceso ha sido finalizado mediante do_exit(), poniendo la memoria ocupada por el proceso a do exit() NULL. Este es el estado previo a EXIT_ZOMBIE.*/

5

Diagrama de un proceso en Linux g p
Esperando por E d SIGCOUNT Esperando por E d ptrace()

stoppeduninterruptible

traced

esperando por e/s, señal, ...

Creación running

interruptible

do_exit( ) d it(

zombie bi
Esperando por wait. wait

dead d d
Esperando a ser eliminado de la tabla.

6

Estructura task_struct. Descriptor de proceso

• Identificando un proceso • Listas de procesos • Listas de procesos en estado Task_Running • Relaciones entre los procesos • Campospara expresar la relación de paternidad • Actualización del estado de un proceso • Otros campos de la estructura

7

Introducción a la estructura task_struct

• Cada proceso del sistema en Linux tiene una estructura del tipo task_struct asociada. • En ella se almacena toda la información relacionada con el proceso: aspectos de planificación, identificadores, relación con otros procesos,memoria utilizada por el proceso, archivos abiertos, etc.

8

Identificando un proceso
• Cada tarea ha de poder planificarse independientemente, por lo que ha de tener su propio descriptor de proceso (task_struct). (task struct). Cada proceso se puede identificar desde el kernel como un puntero a su task struct task_struct. Desde el punto de vista del usuario, el identificador del proceso seráel PID que es un campo de la estructura PID, estructura.
855 pid_t pid; 856 pid_t t id id t tgid; //Identificador del proceso //Id tifi d del líder cuando se usan hilos //Identificador d l líd d hil





9

Listas de procesos
Las estructuras task struct que describen a los procesos están task_struct procesos, enlazadas mediante los campos “tasks”, formando una lista circular...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistema Operativo Y Tipos De Sistemas Operativos
  • Atomicidad de operaciones
  • operaciones basicas del sistema operativo
  • Sistemas Operativos
  • Sistema operativo
  • Sistema operativo
  • Sistemas operativos
  • Sistema Operativo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS