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

SISTEMAS OPERATIVOS

APUNTES DE CLASE 25 de Enero 2013

Catedrtico: Ing. Mario David Soto

Procesos
En los primeros sistemas solo exista un proceso que tomaba control del Sistema. Sistemas actuales, varios procesos corren en forma concurrente (simultnea), switching el CPU entre los procesos el S.O. hace ms productivo el uso de la computadora.

Catedrtico: Ing. Mario David Soto

Procesos
Objetivos:
Introducir el concepto de proceso: un programa en ejecucin, que es la unidad bsica de computacin Describir las caractersticas de un proceso: calendarizacin, creacin, finalizacin y comunicacin entre procesos. Describir la comunicacin en sistemas cliente-servidor cliente-

Catedrtico: Ing. Mario David Soto

Procesos
Concepto de Proceso:
Un programa en ejecucin; varios programas corren al mismo tiempo (procesador de palabras, navegador para Internet, paquete de mensajera electrnica, etc.), programas internos del S.O. (administracin de la memoria, de los dispositivos, etc.) todos son procesos (jobs). Componentes bsicos de un proceso:
Text Section: contiene el cdigo del programa Program Counter (PC): la siguiente instruccin a ejecutar dentro del programa (registros del procesador) Stack: informacin temporal (parmetros de funciones, direcciones de memoria y variables locales) Data: Contiene las variables globales Heap: Memoria dinmica asignada durante la ejecucin del proceso

Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Process State:
Conforme un proceso corre (se ejecuta) cambia su estado:
New: Se crea un proceso Running: Intrucciones del programa que estn siendo ejecutadas Waiting: El proceso espera que un evento ocurra (que termine una opracin de I/O). Ready: El proceso espera su turno para ser asignado al tiempo del CPU. Terminated: El proceso termina su ejecucin

Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Process Control Block (PCB):
Estructura que permite representar a cada proceso dentro del S.O. Contiene informacin asociada con cada proceso:
Process State: Identifica el estado del proceso (new, waiting. Etc.) Program Counter: Direccin de la siguiente instruccin a ser ejecutada en el proceso. CPU Registers: informacin que permite a un proceso continuar correctamente despus que fue interrumpido (I/O, system call, Etc.) MemoryMemory-management Information: informacin asociada al registros de momoria y tipo de memoria utilizada por el S.O. I/O status information: lista de los dispositivos I/O disponibles, de los archivos abiertos, etc.
Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Process Scheduling: (Job scheduling)
Objetivo de la multiprogramacin: varios procesos corriendo al mismo tiempo optimiza el uso del CPU Selecciona un proceso disponible (Ready) para correrlo en el CPU. Colas de calendarizacin:
Job Queue: Cola que contiene todos los procesos en el sistema Ready Queue: Cola que contiene los procesos que estn estado Ready, listos para ejecutarse en el CPU Device Queue: Cola que contiene los procesos que esperar por un evento I/O de un dispositivo en particular (disco, cinta, impresora)

Las colas se representan como listas encadenadas


Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Process Scheduling: (Job scheduling)
Se puede representar a travs de un diagrama donde:
Cada rectngulo representa una cola Los crculos representan servicios que son atendidos por las colas Las flechas indican la direccin del flujo del proceso dentro del sistema

Un proceso nuevo es colocado en la cola Ready Queue esperando a ser seleccionado para ejecutarse (dispatched) Una vez est ejecutndose en el CPU uno de los siguientes eventos puede ocurrir:
Solicita un requerimiento de I/O (colocado en la I/O Queue) Crea un nuevo sub-proceso, y espera a que ste termine subSale de ejecucin debido a un interrupt y regresa a la Ready Queue

Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Tipos de Calendarizador:
LongLong-term Scheduler: Selecciona procesos almacenados en disco que esperan a ser ejecutados, y los carga en memoria ShortShort-term Scheduler: Selecciona un proceso de la Ready Queue y lo aloja en el CPU para su ejecucin. El calendarizador de corto-plazo debe ser mucho ms rpido cortoque el de largo-plazo. largoEl calendarizador de largo-plazo controla el grado de multilargomultiprogramacin dentro del sistema (el nmero de procesos en memoria) Multiprogramacin estable # de procesos que son creados igual al # de procesos que salen del sistema (en promedio)
Catedrtico: Ing. Mario David Soto

Procesos
Tipos de Calendarizador:
Algunos sistemas, como los tiempo compartido (time-sharing (timesystems) utilizan un nivel intermedio de calendarizacin Este se denomina Medium-term Scheduler MediumEl objetivo de este calendarizador es remover procesos de memoria y reducir el grado de multiprogramacin mejorar la mezcla de procesos en memoria (Limitados por CPU Limitados por I/O) se libera espacio en memoria

Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Cambio de Contexto (Context Switch):
Permite hacer el intercambio de procesos dentro del CPU Su funcin principal es guardar toda la informacin relevante (registros, direcciones de memoria, program counter, etc.) del proceso de sale de CPU (state save) y cargar la informacin relevante del proceso que entra a ejecutarse en el CPU (state restore)

Catedrtico: Ing. Mario David Soto

Procesos
Creacin de procesos:
Un proceso puede crear varios procesos nuevos, a travs de una llamada al sistema (system call) denominda createcreateprocess El proceso que crea los subprocesos se denominda proceso padre (parent process) Los sub-procesos creados se denominan procesos hijos sub(children process) Cada proceso nuevo puede a su vez crear ms sub-procesos, subcreando as un rbol de procesos La mayora de S.O. utilizan un identificador nico de procesos (Process Id- PID) IdCatedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Eliminacin de procesos:
Un proceso termina cuando realiza su ltima instruccin y solicita al S.O. que lo elimine a travs de una llamada al sistema [system call exit( ) ] Enva un mensaje a su proceso padre (un nmero entero) va una llamada al sistema [system call wait( )] Se liberan todos lo recursos (memoria virtual, acceso a archivos abiertos, espacio para almacenar informacin de I/O, etc.) que se le haban asignado al proceso El proceso padre tambin puede terminar directamente la ejecucin de uno de sus procesos hijo.
Catedrtico: Ing. Mario David Soto

Procesos
Comunicacin entre procesos:
Los procesos ejecutndose concurrente en un sistema puede ser Independientes o Cooperativos. Cooperativos. Independientes: No pueden afectar, ni ser afectados por otros procesos. Cooperativos: Pueden afectar o ser afectados por otros procesos. Comparten informacin con otros procesos cooperativos Procesos cooperativos requieren un mecanismo de comunicacin entre procesos (IPC)
Memoria Compartida Paso de Mensajes
Catedrtico: Ing. Mario David Soto

Procesos
Memoria Compartida:
Se establece una regin de la memoria para el intercambio de informacin (leen y escriben informacin en la regin compartida) Mecanismo ms rpido que el paso de mensajes solo se requiere de una llamada al sistema para establecer la regin de le memoria que se compartir

Paso de Mensajes:
Intercambio de mensajes entre los procesos cooperativos directamente til para el intercambio de cantidad pequeas de informacin Cada paso de mensaje requiere una llamada al sistema intervencin del kernel consume ms tiempo.
Catedrtico: Ing. Mario David Soto

Procesos

Catedrtico: Ing. Mario David Soto

Procesos
Memoria Compartida:
Se establece una regin de la memoria para el intercambio de informacin (leen y escriben informacin en la regin compartida) Mecanismo ms rpido que el paso de mensajes solo se requiere de una llamada al sistema para establecer la regin de le memoria que se compartir

Paso de Mensajes:
Intercambio de mensajes entre los procesos cooperativos directamente til para el intercambio de cantidad pequeas de informacin Cada paso de mensaje requiere una llamada al sistema intervencin del kernel consume ms tiempo.
Catedrtico: Ing. Mario David Soto

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