PDF de programación - UNIDAD 2 Administración de procesos y del procesador

Imágen de pdf UNIDAD 2 Administración de procesos y del procesador

UNIDAD 2 Administración de procesos y del procesadorgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 14 de Enero del 2018)
2.786 visualizaciones desde el 14 de Enero del 2018
1.022,9 KB
23 paginas
Creado hace 12a (10/08/2011)
UNIDAD 2 Administración de procesos y del procesador.

La gestión de procesos es la tarea fundamental de cualquier sistema operativo moderno. El sistema operativo
debe asignar recursos a los procesos, permitir el intercambio de información entre los mismos, proteger los
recursos de un proceso del resto y facilitar la sincronización de procesos. Para alcanzar estos objetivos, el
sistema operativo mantiene una estructura de datos para cada proceso que describe su estado y los recursos
que posee y que permite al sistema operativo imponer un control sobre los procesos (PCB Bloque de Control
de Proceso).
En un monoprocesador multiprogramado, debe intercalarse en el tiempo, la ejecución de múltiples procesos.
En un multiprocesador, no sólo puede intercalarse la ejecución sino que los procesos se pueden ejecutar
simultáneamente. Ambos, intercalación y ejecución simultánea, son formas de concurrencia y llevan a una
multitud de problemas complejos, tanto para el programador de aplicaciones como para el sistema operativo.
El sistema operativo debe llevar a cabo la función de planificar y ofrecer mecanismos para compartir y
sincronizar procesos.
2.1 Concepto de proceso.
Programas.- Colección de instrucciones que el procesador interpreta y ejecuta, se almacenan en sistemas no
volátiles necesitando ser cargados en memoria principal para poder ser ejecutados, se considera un ente
estático.
Procesos.-Programa en ejecución, el sistema operativo les asigna recursos, Se consideran un ente dinámico.
El proceso es una abstracción creada por el SO, que se compone de:
Código de Programa: sección texto
Contexto de Ejecución: PC, registros del procesador y una pila para invocación de procedimientos
Sección de Datos, que contiene variables globales
Recursos del sistema.
Características
Permite modularizar y aislar errores de programas durante su ejecución
Soporta concurrencia de actividades, lo que permite un mejor aprovechamiento de los recursos
Denominaremos como procesos tanto a los trabajos (jobs) en sistemas de lotes, como a las tareas (task)

en sistemas de tiempo compartido

Modelo
La diferencia entre un programa (conjunto de instrucciones) y un proceso (instrucciones ejecutándose) es
obvia y crucial para entender el funcionamiento de los SO.
Imaginemos un mecánico de autos en un taller donde se reparan carros con averías complejas en las que se
hace necesario consultar el manual de cada modelo, que contiene las instrucciones para reparar cada posible
avería. Además, se permiten reparaciones rápidas a las que se les da mayor prioridad. Existe un almacén de
refacciones y herramientas suficientes para las reparaciones. Comparando esta situación con un sistema de
cómputo se pueden establecer las siguientes analogías:
El mecánico sería el CPU (procesador) que realizará el trabajo.
El manual de cada reparación sería el programa.
Las herramientas serían los recursos disponibles
Las refacciones serían los datos.
La actividad de usar las herramientas para desmontar las piezas defectuosas sustituyéndolas por otras

nuevas siguiendo las instrucciones del manual equivaldría al proceso.

Suponiendo que en un momento dado el mecánico está realizando una reparación compleja (de las que llevan
tiempo) y aparece un carro que solicita una reparación de las rápidas (ha aparecido una interrupción). El
mecánico suspende momentáneamente la reparación compleja anotando en qué situación se queda dicha
reparación y qué operación estaba realizando en ese momento (guarda el estado del proceso). Asimismo,
sustituye el manual que estaba realizando por el de la nueva reparación que se dispone a realizar (cambio de
programa). Comienza la nueva reparación (cambio de proceso), en la que las herramientas no serán las
mismas que antes (distintos recursos); las indicaciones del usuario, las refacciones (datos) y las indicaciones
del manual (programa) llevarán a feliz término la reparación para que el mecánico regrese a la reparación
inicial.
Con este ejemplo se resalta que un proceso es una actividad que se apoya en datos, recursos, un estado en
cada momento y un programa.
2.2 Estados y transiciones de los procesos
Los PCB’s se almacenan en listas, una para cada posible estado:

1


Cola trabajos en
espera

Cola trabajos
preparados

Administrador de
trabajos

cpu

Completo

Administrador de
procesos

Cola trabajos
bloqueados

Los estados se pueden dividir en: Activos e inactivos
Activos los que compiten por el procesador. Tipos:
Ejecución.- Cuando el proceso tiene el control del cpu
Preparado (Listo).- Tienen las condiciones para ser ejecutados pero no están en ejecución por alguna

causa.

Bloqueado.- No pueden ejecutarse porque necesitan algún recurso no disponible





Inactivos.- No pueden competir por el cpu
Los 3 estados principales pueden no ser suficientes
Justificación:
Si todos los procesos están en bloqueados esperando un suceso y no hay memoria disponible para nuevos
procesos, el procesador estará desocupado, sin uso. La Solución: procesos suspendidos:
• Permitir la ejecución de más procesos
• Ampliar la memoria principal
• Intercambio de procesos entre memoria y disco (swapping)
Surgen 2 nuevos estados de un proceso:


• El sistema operativo puede poner en suspendido un proceso y transferirlo a disco
• El espacio liberado en la memoria principal es usado para traer otro proceso
¿Qué proceso elegir para cargar en memoria?
Uno nuevo
Uno previamente suspendido (debemos elegir los que se encuentran en suspendido listo y no en

suspendido listo: el proceso está suspendido, pero se encuentra listo para ejecutarse
suspendido bloqueado: el proceso está suspendido y además está esperando que suceda un evento

suspendido bloqueado)

Otras razones por las que un proceso puede pasar a estado suspendido:
• El sistema está en riesgo de fallo. El sistema suspende todos los procesos activos para poder corregir errores
y volver a activarlos cuando el sistema funcione correctamente
• Un proceso sospechoso de mal funcionamiento puede ser suspendido hasta verificar su correcto
funcionamiento
• El planificador puede suspender los procesos de baja prioridad en momento de carga excesiva del sistema


2


Listo

Suspende

Reanuda

Susp.
Listo

Termina la operación de e/s

ejecución

suspende

Termina la operación de e/s

Espera por e/s u
otra causa

Bloqueado

Estados activos

Control de procesos
PCB (Bloque de control de procesos)
Conjunto de datos donde se
incluye el estado de un proceso
en cada momento, los recursos
usados, registros, etc.
Objetivos
Que el sistema operativo
información

la

localice
sobre el proceso

Mantener registrados

los
datos del proceso en caso
de
o
reanudación de la ejecución

suspensión

Información contenida:
Estado



SCB

Excepciones

Fallos CPU

Consola

PCB’s

Interrupciones

Susp. bloq.

Estados inactivos



PCB

Puntero

Número de proceso

Estado del proceso

Prioridad

Contador de programa

Límites de memoria

del

proceso.-
Contenido del contador de
programa, estado del cpu en
cuanto a prioridad del
proceso, modo de ejecución, etc. y estado de los registros internos de la computadora.

Registros

Archivos abiertos

Estadísticas de tiempo y ocupación de recursos.- Planificación del CPU
Ocupación de memoria interna y externa.- Swapping
Recursos en uso
Archivos en uso
Privilegios
SCB (Bloque de control del sistema).- Objetivos globales similares al PCB, además enlaza los PCB’s de los
procesos existentes
Cambio de un proceso a
otro suponiendo un solo
cpu,
en
ejecución a la vez y 2
procesos activos (A y B)
compitiendo por el cpu,
ambos
en memoria
principal
Cambio de A por B
1. Deja de ejecutar el

Salva registros

SISTEMA OPERATIVO

Interrupción

Programa A

Programa B

Ejecución

tarea

una



Carga registros

.

.

.

proceso en curso (A)

2. Se salva el estado del
proceso A para su
regreso al punto de
interrupción

3. Cede el control al

kernel

4. Cambio de contexto
(de modo usuario a
modo supervisor)

5. El kernel estudia si el
está

proceso

B

3


Ejecución

Interrupción

Salva registros

.

.

Carga registros

.

Ejecución

preparado para su ejecución

6. Si si, cambio de contexto (de modo supervisor a modo usuario)
7. Repone el estado de B (si es que se había interrumpido antes)
8. Pone en ejecución a B




El cambio de contexto se da en caso de: ejecución de instrucción privilegiada, llamada al sistema operativo o
interrupción
TRANSICIONES DE ESTADO.- Cambio de un estado a otro
Comienzo (Creación).- Un proceso comienza al ser dada la orden de ejecución insertándose en la lista de
listos
Ejecución.- Cuando el CPU está inactivo y en la cola de listos haya un proceso en espera de ser ejecutado.
(Pasa al CPU)
Bloqueado.- Un proceso en ejecución solicita una operación a un dispositivo, durante la espera el proceso se
bloqueará. Su PCB se insertará en la lista de bloqueados.
Preparado.- 4 causas:
1 Orden de ejecución de un programa en espera
2 Si un proceso está bloqueado esperando una operación de entrada/salida y ésta termina.
3 Si un proceso está en ejecución y aparece una interrupción que fuerza al sistema operativo a ejecutar otro
proceso, el 1º pasará a listo y su PCB se inserta en la lista de listos (Quantum, proceso de mayor
prioridad)

4 Activación.- Un proceso suspendido listo pasará a listo al ser reactivado
Suspendido bloqueado.- Un proceso está bloquea
  • Links de descarga
http://lwp-l.com/pdf8317

Comentarios de: UNIDAD 2 Administración de procesos y del procesador (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad