You are on page 1of 18

Sistemas Operativos

Unidad II: Administracin de Procesos y del


Procesador
Daniel Ramos Melndez
2.1 Concepto de proceso.
2.2 Estados y transiciones de los
procesos.
2.3 Procesos ligeros.
2.4 Concurrencia y secuencialidad.
2.5 Niveles, objetivos y criterios de
planificacin.
2.6 Tcnicas de admn. del planificador.

FINALIZACIN DE UNIDAD I, ANLISIS DE UNIDAD II; 18/09/14


Puntos Principales: Organizacin de notas y recursos, Anlisis de Unidad II.

Puntos a analizar en la unidad II:


o 2.1 Concepto de proceso.
o 2.2 Estados y transiciones de los procesos.
o 2.3 Procesos ligeros: Hilos o hebras.
o 2.4 Concurrencia y secuencialidad.
o 2.5 Niveles, objetivos y criterios de planificacin.
o 2.6 Tcnicas de administracin del planificador.

INTRODUCCIN A LA ADMINISTRACIN DE PROCESOS; 22/09/14


Puntos Principales: Introduccin a la unidad II, Conceptos de proceso y relacin con el
sistemas operativo.

Objetivo: Aplicar las tcnicas de administracin de procesos.


Un proceso se puede explicar cmo la unidad bsica de procesamiento y actividades
de un programa en ejecucin.
Un proceso necesita para llevar a cabo su tarea ciertos recursos, entre los que
incluyen:
o Tiempo del CPU
o Memoria
o Archivos
o Dispositivos de E/S
Estos recursos se proporcionan al proceso en el momento de crearlo o se le asignan
mientras se est ejecutando.
Cuando el proceso termina, el SO reclama todos los recursos reutilizables.

A realizar: Conseguir e instalar Virtual Box, WM Ware.

Formalmente un proceso es una unidad de actividad que se caracteriza por la


ejecucin de una secuencia de instrucciones, un estado actual, y un conjunto de
recursos del sistema asociados.
Los procesos se ejecutan bajo prioridades, las interrupciones de hardware tienen la
mayor prioridad.

ELEMENTOS DE LOS PROCESOS; 23/09/14


Puntos Principales: Ciclo de vida de los procesos, Manejo de procesos por el SO.

Responsabilidad del SO respecto a la gestin de procesos:


o Crear y borrar procesos de usuario o del sistema.
o Suspender y reanudar los procesos.
o Proporcionar mecanismos para la sincronizacin de procesos.
o Proporcionar mecanismos para la comunicacin entre procesos.
o Proporcionar mecanismos para el tratamiento de interbloqueo.
Elementos y procesos utilizados en la estructura de un proceso en memoria.
o Pila de proceso.
o Actividad actual.
o Seccin de datos.
o Cmulo de memoria.
Pueden existir varios procesos de un solo programa, es decir varias instancias de un
programa ejecutndose.
Tambin es habitual que un proceso genere otros procesos.
Ciclo de vida de un proceso:
o Estados:
Nuevo.
Listo.
En ejecucin.
Bloqueado.
Terminado.
o Transiciones: son los cambios de un estado a otro.
Admitido: Nuevo a Listo.
Despacho: Listo a En Ejecucin.
Tiempo Excedido: En Ejecucin a Listo.
Bloqueado: En Ejecucin a Bloqueado.
Despertar: Bloqueado a Listo.
Salir: En Ejecucin a Terminado.

BLOQUE CONTROL PROCESO; 24/09/14


Puntos Principales: Caractersticas, Acciones.

Bloque Control de Proceso (Tabla de procesos):


Cada proceso se representa en SO mediante un bloque control de proceso.
Cada proceso tiene asociado ciertos registros con informacin necesaria para que el
sistema operativo pueda trabajar con ellos, como son:
o Estado del proceso.
o Contador del programa.
o Informacin de gestin de memoria.

o Informacin contable:
Cantidad de CPU y de tiempo real empleados, los lmites de tiempo
asignados, el nmero de trabajo o proceso.
o Informacin del estado de E/S:
Incluye la lista de dispositivos de E/S asignados al proceso.
o
Cuando existen interrupciones es necesario que el sistema operativo tome acciones
para poder continuar con procesos, para esto hace uso de registros de la CPU.
o La informacin de estado debe guardarse junto con el contador de programa
cuando se produce una interrupcin, para que luego el proceso pueda
continuar ejecutndose correctamente.
Para el estado de proceso se deben de tomar en cuentas otros registros como:
o Contador de programa
o Puntero de pila.
o Registro o registros de estados.
o Registros especiales: como pueden ser el RIED (registro identificador de
espacio de direccionamiento).
El estado del procesador de un proceso reside en los registros del procesador.
El mecanismo por el cual un proceso crea otro proceso se determina bifurcacin
(fork).

A realizar: mircoles 1 de octubre inicio de exposiciones.

Mecanismos para Sincronizacin de procesos.


o Semforos.
o Monitores.
o Seales.
o Tuberas.

A realizar: Mutex.

Algoritmos de Planificacin
o FIFO (First Come First Served).
o SJF (Shortest Job First).

A realizar: Round Robin.

o Colas multinivel.
o Colas multinivel realimentadas.

INSTALACIN DE LINUX EN MQUINA VIRTUAL; 25/09/14


Puntos Principales: Configuracin de mquina virtual, Instalacin de Ubuntu para Linux.

Pasos para la prctica:


1.
2.
3.
4.
5.

Instalar mquina virtual.


Ir a archivo, Nuevo.
Seleccionar tipo, Sistema operativo.
Definir Cantidad de memoria RAM.
Crear una unidad de disco duro.
o VDI: Virtual disk image.
o Tamao fijo.
o Cantidad de disco duro en GB.
6. Instalacin de Ubuntu.
o Seleccin de una nueva instalacin.
o Seleccin de espacio disco duro y eliminacin de archivos para la instalacin.
o Especificaciones de usuario.
o Especificaciones de idioma.
o Especificaciones de lugar.
o Contina el proceso.
o Finaliza.

INTERPROCESOS Y PROCESOS LIGEROS;

29/09/14

Puntos Principales: Operaciones de los interprocesos, Recursos y componentes de los


subprocesos, Caractersticas de procesos ligeros.

Comunicacin Interprocesos. Existen dos tipos de procesos:


o Procesos independientes.
o Procesos Cooperativos (propsito: compartir informacin, acelerar los
clculos, modularidad, conveniencia.)
Existen dos modelos para intercambiar datos e informacin en los interprocesos:
o Memoria compartida.
o Paso de mensajes.
Procesos ligeros:
o Un thread es un flujo de control perteneciente a un proceso.
o Comprende:
Un ID de hebra.
Un contador de programa.
Conjunto de registros.
Una pila.
o Cualquier programa que se ejecute consta de, al menos, un thread.

o Si un proceso tiene mltiples hebras de control, puede realizar ms de una


tarea a la vez.
o Desde el punto de vista de la programacin, un proceso ligero se define como
una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de
ejecucin primario, o proceso ligero primario, corresponde a la funcin main.
o Contador de programa, Pila, Registros, estado del proceso ligero son recursos
y componentes propios de cada hilo.
o Espacio de memoria, variables globales, archivos abiertos, temporizadores,
seales y semforos, y contabilidad son recursos y componentes que los hilos
pueden compartir.
o Dentro del proceso se le asigna un espacio de memoria al proceso.
o No existe una proteccin de memoria dentro del proceso para evitar
modificaciones no deseadas de los subprocesos concurrentes.
o Nacen entonces formas de proteccin por exclusividad de los recursos para
un subproceso.
A realizar: Pg. 86 Comunicacin de Interprocesos.

PROGRAMACIN MULTIHEBRA;

30/09/14

Puntos Principales: Ventajas.

Es posible crear procesos puros dentro de los sistemas operativos, por ejemplo en
Linux se crean por medio de llamada al comando fork().
Ventajas de la programacin multihebra.
o Capacidad de repuesta.
o Comparticin de recursos: La ventaja de compartir el cdigo y los datos es
que permite que una aplicacin tenga varias hebras de actividad diferentes
dentro del mismo espacio de direcciones.
o Economa: Es ms econmico la asignacin de memoria y recursos para los
hilos o procesos ligeros, crear un proceso es treinta veces ms lento que
crear una hebra y los cambios de contexto en los procesos es
aproximadamente cinco veces ms lento.
o Utilizacin sobre arquitecturas multiprocesador: las hebras pueden
ejecutarse en paralelo en los diferentes procesadores de una arquitectura
multiprocesador. Incrementan el grado de concurrencia.
La biblioteca de hebras proporciona al programador una API para crear y gestionar
hebras. Las tres principales bibliotecas de hebras son:
1. POSIX Pthreads
2. WIN32
3. JAVA.

MECANISMO DE SINCRONIZACIN SEMFOROS;


02/10/14
Puntos Principales: Caractersticas.
En 1965 Dijkstra sugiri usar una variable entera para contar el nmero de seales de
despertar guardadas para uso futuro.

En esta propuesta se introdujo un nuevo tipo de variable, llamada semforo. Un semforo


poda tener el valor 0, indicando que no haba seales de despertar guardadas, o algn valor
positivo si haba una o ms seales de despertar pendientes.
Dijkstra propuso tener dos operaciones: DOWN y UP. La operacin DOWN aplicada a un
semforo verifica si el valor es mayor que 0; de ser as, decrementa el valor (esto es, gasta
una seal de despertar almacenada) y contina. Si el valor es 0, el proceso se pone a dormir
sin completar la operacin DOWN por el momento. La verificacin del valor, su modificacin
y la accin de dormirse, si es necesaria, se realizan como una sola accin atmica indivisible.

MECANISMOS DE SINCRONIZACIN, SEALES, MONITORES;


07/10/14
Puntos Principales: Definiciones, Seales hacia el kernel, Ejemplos de seales, Componentes
de Monitores, Tipos de Monitores.

La comunicacin es envo y recepcin de seales.


Seales.
o Son interrupciones de software.
o Permiten el manejo de forma asncrona.
o Seales que el programa puede solicitar al kernel:
Ignorar.
Capturar.
Permitir.
o Algunas seales.
SIGALARM.
SIGCHLD.
SIGCONT.
SIGINT.
SIGKILL.
Monitores.
o En la programacin, los monitores son usados por ms de un hilo.
o Son mtodos son ejecutados con exclusin mutua.
o Componentes:
Inicializacin.
Datos privados.

Mtodos del monitor.


Cola de entrada.
o Exclusin mutua de un monitor.
Funciones para operar con las variables de condicin.
Cond_wait(c)
Cond_signal(c)
o Tipos de monitores.
Hoare
Mesa
Son menos propensos a problemas
o Verificacin de monitores
Inicializacin de variables de monitor.

MECANISMOS DE SINCRONIZACIN, MUTEX, TUBERAS;


08/10/14
Puntos Principales: Secciones Crticas, Operaciones con Mutex, Ejemplificacin de mutex.

Tuberas:
o Una tubera es un mecanismo de comunicacin y sincronizacin. Desde el
punto de vista de su utilizacin, es como un pseudoarchivo mantenido por el
sistema.
o Como funciona:
Cada proceso ve la tubera como un conducto con dos extremos, uno
de los cuales se utiliza para escribir o insertar datos y el otro para
extraer o leer datos de la tubera. La escritura se realiza mediante el
servicio que se utiliza para escribir datos en un archivo. De igual
forma, la lectura se lleva a cabo mediante el servicio que se emplea
para leer de un archivo.

ALGORITMO SJF
Puntos Principales: Etapas de los procesos, Caractersticas, Objetivos de SJF, Formas de
comportamiento.

El algoritmo SJF se basa en los ciclos de vida de los procesos, los cuales transcurren
en dos etapas o periodos que son: ciclos de CPU y ciclos de E/S, tambin conocidos
como rfagas.
La idea es escoger entre todos los procesos listos el que tenga su prximo ciclo de
CPU ms pequeo.
Caractersticas:
o Entra en la CPU el proceso con la rfaga ms corta.
o Minimiza el tiempo de espera medio.
o Riesgo de inanicin de los procesos de larga duracin.
o No es implementable.
o Versin expulsiva: el proceso en CPU es desalojado si llega a la cola un
proceso con duracin ms corta.
Se puede comportar de dos forma:
o 1. Con desalojo: si el ciclo de CPU del proceso es menor, entonces dicho
proceso es desalojado y el nuevo toma la CPU.
o 2. Sin desalojo: Cuando un proceso toma la CPU, ningn otro podr
apropiarse de ella hasta que termine de ejecutarse quien la tom.

ALGORITMO FIFO;

13/10/14

Puntos Principales: Funcionamiento.


Se utiliza en estructuras de datos para implementar datos.
Es necesario reservar el tamao de memoria necesario para acoger todos los datos,
sea cual sea el nmero de elementos usados.
o El tamao de memoria puede ser esttica o dinmica.
El primero en la fila es el primero en entrar y el primero en salir.
A realizar: Desarrollar algoritmo de los filsofos comelones.

ALGORITMO ROUND ROBIN, COLAS MULTINIVEL;


14/10/14
Puntos Principales: Caractersticas, Conceptos T, E, P, Ejemplificacin de Ejecucin.
Colas Multinivel.
Es un algoritmo de planificacin de procesos en un Sistema operativo.
Caractersticas:
o Es apropiativa, es decir si llega un proceso con mayor prioridad que el que se
est ejecutando podr expulsarse y apropiarse del procesador
o Cada cola tendr una prioridad interna, de acuerdo a su algoritmo de
planificacin.

o El proceso que se ejecutar ser el de mayor prioridad.


Round Robin

ALGORITMO COLAS MULTINIVEL REALIMENTADAS;


15/10/14
Puntos Principales: Objetivos, Parmetros.
Este algoritmo permite mover un proceso de una cola a otra.
La idea es separar los procesos en funcin de las caractersticas de sus rfagas de
CPU.
Si un proceso utiliza demasiado tiempo de CPU, se pasa a una cola de prioridad ms
baja.
Este esquema deja los procesos limitados por E/S y los procesos interactivos en las
colas de prioridad ms alta.
En general, un planificador mediante colas multinivel realimentadas se define
mediante los parmetros:
o El algoritmo de planificacin de cada cola.
o El mtodo usado para determinar cundo pasar un proceso a una cola de
prioridad ms alta.
o El mtodo usado para determinar cundo pasar un proceso a una cola de
prioridad ms baja.
o El mtodo usado para determinar en qu cola se introducir un proceso
cuando haya que darle servicio.

You might also like