36

Procesos

Embed Size (px)

DESCRIPTION

Clase inicial sobre procesos en sistemas operativos

Citation preview

Page 1: Procesos

Conceptos

Procesos

Sistemas Operativos

John A. Vargas

Facultad de Ingeniería

Universidad Cooperativa de Colombia

February 11, 2014

John A. Vargas Procesos

Page 2: Procesos

Conceptos

Contenido

1 ConceptosPresentaciónEvaluación

John A. Vargas Procesos

Page 3: Procesos

ConceptosPresentaciónEvaluación

Outline

1 ConceptosPresentaciónEvaluación

John A. Vargas Procesos

Page 4: Procesos

ConceptosPresentaciónEvaluación

Procesos

De�nition

Un proceso es un programa en ejecución

John A. Vargas Procesos

Page 5: Procesos

ConceptosPresentaciónEvaluación

Diferencias entre un programa y un proceso

Programa Proceso

Es estático Es dinámico

No tiene contador deprograma

Tiene un contador deprograma

Existe desde que se editahasta que se borra

Existe desde que se editahasta que se borra

John A. Vargas Procesos

Page 6: Procesos

ConceptosPresentaciónEvaluación

Llamadas al sistema ofrecidas por el sistema operativo

Finalizar, abortar

Cargar, ejecutar.

Crear proceso, terminar proceso

Obtener atributos de proceso, establecer atributos de proceso.

Esperar un lapso de tiempo.

Esperar suceso, indicar la ocurrencia del suceso.

Asignar y liberar memoria.

John A. Vargas Procesos

Page 7: Procesos

ConceptosPresentaciónEvaluación

Estados del proceso

Nuevo (new).

Ejecutándose (running)

En espera (waiting)

Listo para ejecutar (ready)

Terminado (terminated)

John A. Vargas Procesos

Page 8: Procesos

ConceptosPresentaciónEvaluación

Diagrama de estados

John A. Vargas Procesos

Page 9: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Cada proceso se representa en el sistema operativo con un bloquede control de proceso (PCB, process control block) tambiénllamado bloque de control de tarea.

John A. Vargas Procesos

Page 10: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Estado del proceso: El estado puede ser: nuevo, listo, enejecución, en espera, detenido, etcétera.

Contador de programa: El contador indica la dirección de lasiguiente instrucción que se ejecutará para este proceso.

Registros de CPU: El número y el tipo de los registros varíadependiendo de la arquitectura del computador. Los registrosincluyen acumuladores, registros índice, punteros de pila yregistros de propósito general, así como cualquier informaciónde códigos de condición que haya. Junto con el contador deprogram, esta información de estado se debe guardar cuandoocurre una interrupción, para que el proceso pueda continuarcorrectamente después.

John A. Vargas Procesos

Page 11: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Estado del proceso: El estado puede ser: nuevo, listo, enejecución, en espera, detenido, etcétera.

Contador de programa: El contador indica la dirección de lasiguiente instrucción que se ejecutará para este proceso.

Registros de CPU: El número y el tipo de los registros varíadependiendo de la arquitectura del computador. Los registrosincluyen acumuladores, registros índice, punteros de pila yregistros de propósito general, así como cualquier informaciónde códigos de condición que haya. Junto con el contador deprogram, esta información de estado se debe guardar cuandoocurre una interrupción, para que el proceso pueda continuarcorrectamente después.

John A. Vargas Procesos

Page 12: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Estado del proceso: El estado puede ser: nuevo, listo, enejecución, en espera, detenido, etcétera.

Contador de programa: El contador indica la dirección de lasiguiente instrucción que se ejecutará para este proceso.

Registros de CPU: El número y el tipo de los registros varíadependiendo de la arquitectura del computador. Los registrosincluyen acumuladores, registros índice, punteros de pila yregistros de propósito general, así como cualquier informaciónde códigos de condición que haya. Junto con el contador deprogram, esta información de estado se debe guardar cuandoocurre una interrupción, para que el proceso pueda continuarcorrectamente después.

John A. Vargas Procesos

Page 13: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Información de plani�cación de CPU: Esta informaciónincluye una prioridad del proceso, punteros a colas deplani�cación y cualquier otro parámetro de plani�cación quehaya.

Información de gestión de memoria: Esta informaciónpuede incluir datos tales como el valor de los registros de basey límite, las tablas de páginas o las tablas de segmentos,dependiendo del sistema de memoria empleado por el sistemaoperativo.

Información contable: Esta información incluye la cantidadde tiempo de CPU y tiempo real consumida, límites de tiempo,números de cuenta, números de trabajo o proceso, y demás.

Información de estado de E/S: La información incluye lalista de dispositivos de E/S asignadas a este proceso, una listade archivos abiertos, etcétera.

John A. Vargas Procesos

Page 14: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Información de plani�cación de CPU: Esta informaciónincluye una prioridad del proceso, punteros a colas deplani�cación y cualquier otro parámetro de plani�cación quehaya.

Información de gestión de memoria: Esta informaciónpuede incluir datos tales como el valor de los registros de basey límite, las tablas de páginas o las tablas de segmentos,dependiendo del sistema de memoria empleado por el sistemaoperativo.

Información contable: Esta información incluye la cantidadde tiempo de CPU y tiempo real consumida, límites de tiempo,números de cuenta, números de trabajo o proceso, y demás.

Información de estado de E/S: La información incluye lalista de dispositivos de E/S asignadas a este proceso, una listade archivos abiertos, etcétera.

John A. Vargas Procesos

Page 15: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Información de plani�cación de CPU: Esta informaciónincluye una prioridad del proceso, punteros a colas deplani�cación y cualquier otro parámetro de plani�cación quehaya.

Información de gestión de memoria: Esta informaciónpuede incluir datos tales como el valor de los registros de basey límite, las tablas de páginas o las tablas de segmentos,dependiendo del sistema de memoria empleado por el sistemaoperativo.

Información contable: Esta información incluye la cantidadde tiempo de CPU y tiempo real consumida, límites de tiempo,números de cuenta, números de trabajo o proceso, y demás.

Información de estado de E/S: La información incluye lalista de dispositivos de E/S asignadas a este proceso, una listade archivos abiertos, etcétera.

John A. Vargas Procesos

Page 16: Procesos

ConceptosPresentaciónEvaluación

Bloque de control de procesos

Información de plani�cación de CPU: Esta informaciónincluye una prioridad del proceso, punteros a colas deplani�cación y cualquier otro parámetro de plani�cación quehaya.

Información de gestión de memoria: Esta informaciónpuede incluir datos tales como el valor de los registros de basey límite, las tablas de páginas o las tablas de segmentos,dependiendo del sistema de memoria empleado por el sistemaoperativo.

Información contable: Esta información incluye la cantidadde tiempo de CPU y tiempo real consumida, límites de tiempo,números de cuenta, números de trabajo o proceso, y demás.

Información de estado de E/S: La información incluye lalista de dispositivos de E/S asignadas a este proceso, una listade archivos abiertos, etcétera.

John A. Vargas Procesos

Page 17: Procesos

ConceptosPresentaciónEvaluación

Jerarquía de procesos

La secuencia de creación de procesos genera un árbol deprocesos.

Para referirse a las relaciones entre los procesos de la jerarquíase emplean los términos de padre, hermano o abuelo.

Cuando el proceso A solicita al sistema operativo que cree elproceso B, se dice que A es padre de B y que B es hijo de A.

Bajo esta óptica, la jerarquía de procesos puede considerarsecomo un árbol genealógico.

Algunos sistemas operativos, como Unix, mantienen de formaexplícita esta estructura jerárquica de procesos . un procesosabe quién es su padre -, mientras que otros sistemasoperativos como el Windows NT no la mantienen.

John A. Vargas Procesos

Page 18: Procesos

ConceptosPresentaciónEvaluación

Jerarquía de procesos

La secuencia de creación de procesos genera un árbol deprocesos.

Para referirse a las relaciones entre los procesos de la jerarquíase emplean los términos de padre, hermano o abuelo.

Cuando el proceso A solicita al sistema operativo que cree elproceso B, se dice que A es padre de B y que B es hijo de A.

Bajo esta óptica, la jerarquía de procesos puede considerarsecomo un árbol genealógico.

Algunos sistemas operativos, como Unix, mantienen de formaexplícita esta estructura jerárquica de procesos . un procesosabe quién es su padre -, mientras que otros sistemasoperativos como el Windows NT no la mantienen.

John A. Vargas Procesos

Page 19: Procesos

ConceptosPresentaciónEvaluación

Jerarquía de procesos

La secuencia de creación de procesos genera un árbol deprocesos.

Para referirse a las relaciones entre los procesos de la jerarquíase emplean los términos de padre, hermano o abuelo.

Cuando el proceso A solicita al sistema operativo que cree elproceso B, se dice que A es padre de B y que B es hijo de A.

Bajo esta óptica, la jerarquía de procesos puede considerarsecomo un árbol genealógico.

Algunos sistemas operativos, como Unix, mantienen de formaexplícita esta estructura jerárquica de procesos . un procesosabe quién es su padre -, mientras que otros sistemasoperativos como el Windows NT no la mantienen.

John A. Vargas Procesos

Page 20: Procesos

ConceptosPresentaciónEvaluación

Plani�cador y activador

El plani�cador (scheduler) forma parte del núcleo del sistemaoperativo.

Entra en ejecución cada vez que se activa el sistema operativoy su misión es seleccionar el proceso que se ha de ejecutar acontinuación.

El activador (dispatcher) también forma parte del sistemaoperativo y su función es poner en ejecución el procesoseleccionado por el plani�cador.

John A. Vargas Procesos

Page 21: Procesos

ConceptosPresentaciónEvaluación

Plani�cador y activador

El plani�cador (scheduler) forma parte del núcleo del sistemaoperativo.

Entra en ejecución cada vez que se activa el sistema operativoy su misión es seleccionar el proceso que se ha de ejecutar acontinuación.

El activador (dispatcher) también forma parte del sistemaoperativo y su función es poner en ejecución el procesoseleccionado por el plani�cador.

John A. Vargas Procesos

Page 22: Procesos

ConceptosPresentaciónEvaluación

Plani�cador y activador

El plani�cador (scheduler) forma parte del núcleo del sistemaoperativo.

Entra en ejecución cada vez que se activa el sistema operativoy su misión es seleccionar el proceso que se ha de ejecutar acontinuación.

El activador (dispatcher) también forma parte del sistemaoperativo y su función es poner en ejecución el procesoseleccionado por el plani�cador.

John A. Vargas Procesos

Page 23: Procesos

ConceptosPresentaciónEvaluación

Cambio de contexto

La activación del sistema operativo se realiza mediante elmecanismo de las interrupciones.

Cuando se produce una interrupción se realizan las dosoperaciones siguientes:

Se salva el estado del procesador en el correspondiente PCB.

Se pasa a ejecutar la rutina de tratamiento de interrupción delsistema operativo.

Llamaremos cambio de contexto (context switch) alconjunto de estas operaciones.

John A. Vargas Procesos

Page 24: Procesos

ConceptosPresentaciónEvaluación

Cambio de contexto

La activación del sistema operativo se realiza mediante elmecanismo de las interrupciones.

Cuando se produce una interrupción se realizan las dosoperaciones siguientes:

Se salva el estado del procesador en el correspondiente PCB.

Se pasa a ejecutar la rutina de tratamiento de interrupción delsistema operativo.

Llamaremos cambio de contexto (context switch) alconjunto de estas operaciones.

John A. Vargas Procesos

Page 25: Procesos

ConceptosPresentaciónEvaluación

Cambio de contexto

La activación del sistema operativo se realiza mediante elmecanismo de las interrupciones.

Cuando se produce una interrupción se realizan las dosoperaciones siguientes:

Se salva el estado del procesador en el correspondiente PCB.

Se pasa a ejecutar la rutina de tratamiento de interrupción delsistema operativo.

Llamaremos cambio de contexto (context switch) alconjunto de estas operaciones.

John A. Vargas Procesos

Page 26: Procesos

ConceptosPresentaciónEvaluación

Procesos ligeros, hilos o thread

Un proceso ligero es un programa en ejecución (�ujo deejecución) que comparte la imagen de memoria y otrasinformaciones con otros procesos ligeros.

Un proceso puede contener un solo �ujo de ejecución, comoocurre en los procesos clásicos, o más de un �ujo de ejecución(procesos ligeros).

Desde el punto de vista de la programación, un proceso ligerose de�ne como una función cuya ejecución se puede lanzar enparalelo con otras.

El hilo de ejecución primario, o proceso ligero primario,corresponde a la función main.

Todos los procesos ligeros de un mismo proceso comparten elmismo espacio de direcciones de memoria, que incluye elcódigo, los datos y las pilas de los diferentes procesos ligeros.

John A. Vargas Procesos

Page 27: Procesos

ConceptosPresentaciónEvaluación

Procesos ligeros, hilos o thread

Un proceso ligero es un programa en ejecución (�ujo deejecución) que comparte la imagen de memoria y otrasinformaciones con otros procesos ligeros.

Un proceso puede contener un solo �ujo de ejecución, comoocurre en los procesos clásicos, o más de un �ujo de ejecución(procesos ligeros).

Desde el punto de vista de la programación, un proceso ligerose de�ne como una función cuya ejecución se puede lanzar enparalelo con otras.

El hilo de ejecución primario, o proceso ligero primario,corresponde a la función main.

Todos los procesos ligeros de un mismo proceso comparten elmismo espacio de direcciones de memoria, que incluye elcódigo, los datos y las pilas de los diferentes procesos ligeros.

John A. Vargas Procesos

Page 28: Procesos

ConceptosPresentaciónEvaluación

Procesos ligeros, hilos o thread

Un proceso ligero es un programa en ejecución (�ujo deejecución) que comparte la imagen de memoria y otrasinformaciones con otros procesos ligeros.

Un proceso puede contener un solo �ujo de ejecución, comoocurre en los procesos clásicos, o más de un �ujo de ejecución(procesos ligeros).

Desde el punto de vista de la programación, un proceso ligerose de�ne como una función cuya ejecución se puede lanzar enparalelo con otras.

El hilo de ejecución primario, o proceso ligero primario,corresponde a la función main.

Todos los procesos ligeros de un mismo proceso comparten elmismo espacio de direcciones de memoria, que incluye elcódigo, los datos y las pilas de los diferentes procesos ligeros.

John A. Vargas Procesos

Page 29: Procesos

ConceptosPresentaciónEvaluación

Procesos ligeros, hilos o thread

Un proceso ligero es un programa en ejecución (�ujo deejecución) que comparte la imagen de memoria y otrasinformaciones con otros procesos ligeros.

Un proceso puede contener un solo �ujo de ejecución, comoocurre en los procesos clásicos, o más de un �ujo de ejecución(procesos ligeros).

Desde el punto de vista de la programación, un proceso ligerose de�ne como una función cuya ejecución se puede lanzar enparalelo con otras.

El hilo de ejecución primario, o proceso ligero primario,corresponde a la función main.

Todos los procesos ligeros de un mismo proceso comparten elmismo espacio de direcciones de memoria, que incluye elcódigo, los datos y las pilas de los diferentes procesos ligeros.

John A. Vargas Procesos

Page 30: Procesos

ConceptosPresentaciónEvaluación

Procesos ligeros, hilos o thread

Un proceso ligero es un programa en ejecución (�ujo deejecución) que comparte la imagen de memoria y otrasinformaciones con otros procesos ligeros.

Un proceso puede contener un solo �ujo de ejecución, comoocurre en los procesos clásicos, o más de un �ujo de ejecución(procesos ligeros).

Desde el punto de vista de la programación, un proceso ligerose de�ne como una función cuya ejecución se puede lanzar enparalelo con otras.

El hilo de ejecución primario, o proceso ligero primario,corresponde a la función main.

Todos los procesos ligeros de un mismo proceso comparten elmismo espacio de direcciones de memoria, que incluye elcódigo, los datos y las pilas de los diferentes procesos ligeros.

John A. Vargas Procesos

Page 31: Procesos

ConceptosPresentaciónEvaluación

Outline

1 ConceptosPresentaciónEvaluación

John A. Vargas Procesos

Page 32: Procesos

ConceptosPresentaciónEvaluación

Práctica

listar los procesos del sistema operativo:

unix: ps

dos: tasklist

windows: taskmgr.exe

tasklist > liste.txt para obtener la salida en un archivo texto

tasklist /M nos indica las DLL utilizadas en cada proceso.

tasklist /SVC nos permite saber a que servicio correspondecada ejecutable presente en la memoria (si es un servicio).

John A. Vargas Procesos

Page 33: Procesos

ConceptosPresentaciónEvaluación

Creación de un proceso

John A. Vargas Procesos

Page 34: Procesos

ConceptosPresentaciónEvaluación

Piense y responda

Observe, que el proceso hijo es una copia del proceso padreen el instante en que éste solicita el servicio fork(). Estosigni�ca que los datos y la pila del proceso hijo son los quetiene el padre en ese instante de ejecución.

Piense y responda: ¾El proceso hijo empieza la ejecución delcódigo en su punto de inicio, o en la sentencia que estádespués del fork() ?

John A. Vargas Procesos

Page 35: Procesos

ConceptosPresentaciónEvaluación

Piense y responda

Observe, que el hijo no es totalmente idéntico al padre,algunos de los valores del BCP han de ser distintos.

Piense y responda: ¾cuáles deberían ser las diferencias másimportantes?

John A. Vargas Procesos

Page 36: Procesos

ConceptosPresentaciónEvaluación

Ejercicio

Crear un proceso que leerá por el terminal el nombre de unprograma (orden de Unix o Windows) y seguidamente loejecutará.

El programa a ejecutar no debe necesitar ningún parámetro (p.ej., ls, date, time, cd, pwd, ...).

No se debe de ejecutar un programa hasta que el anterior nohaya acabado. El proceso terminará cuando se introduzca lacadena �salir�.

John A. Vargas Procesos