Está en la página 1de 85

Procesos

Laminas Originales elaboradas


por la Prof. Mariela Curiel
Agenda
◼ Procesos
◼ Estados de los Procesos
◼ Estructuras de Datos para mantener
información sobre los procesos. Otras
estructuras de Datos del SOP
◼ Cambio de Modo, Cambio de Procesos

Cambios
de Modo Procesos
Interrupciones/ Cambio de
traps Proceso
Definición de Proceso
◼ ¿Qué es para ustedes un proceso?
Definición de Proceso
◼ Es un programa en ejecución.
◼ Parte de un proceso es la actividad que
realiza actualmente, esta información está
almacenada en el PC y en los registros.
◼ Un proceso contiene:
 Código (Text)
 Pila (Stack)
 Área de Datos (Data)
Mono vs Multi programación

5
Mono vs Multi programación

Trabajo 1 Trabajo 2 Trabajo 3


Tipo de trabajo Computación pesada Gran cantidad de Gran cantidad de
E/S E/S
Duración 5 minutos 15 minutos 10 minutos
Memoria requerida 50 MB 100 MB 75 MB
¿Necesita disco? NO NO SI
¿Necesita terminal? NO SI NO
¿Necesita NO NO SI
impresora?

• Trabajo1 utiliza mucho la CPU, Trabajo2 y Trabajo3 utilizan mucho los


periféricos de E/S.

6
Mono vs Multi programación
5 CPU 15 CPU 10 CPU
T1 T2 T3
50 Mem 100 Mem 75 Mem
terminal Disco e Impresora

7 T1 T2 T3
Mono vs Multi programación
Monoprogramación Multiprogramación
Uso del procesador 20% 40%
Uso de memoria 33% 67%
Uso de disco 33% 67%
Uso de impresora 33% 67%
Tiempo transcurrido 30 minutos 15 minutos
Productividad 6 trabajos/hora 12 trabajos/hora
Tiempo de respuesta 18 minutos 10 minutos
medio

8
Definición de Proceso
Representación de los procesos

Al trozo de código del SOP que controla la


ejecución de los procesos lo llamaremos
despachador (dispatcher)….más adelante
Hablaremos del planificador.
Representación de los procesos
Cómo representa el SOP los procesos:

Estados Estructuras de Datos

https://www.youtube.com/watch?v=bS3QuOQgUu8
Modelo más simple: el modelo de
los dos estados.
◼ Los procesos pueden estar:
 Ejecutándose
 Esperando por ejecución
Diagrama de colas

El SOP mueve los procesos desde el CPU a la cola de listos, de la cola de


listos al CPU, etc, hasta que terminan.

Están en la cola los que salieron por finalización de


quantum y por un evento de E/S
Definición de Proceso
◼ Se puede obtener una
traza de los procesos.
Ejecución de los procesos despachador

Proceso A

despachador
Proceso A
Timeout
I/O Proceso B

despachador

despachador

Proceso C
Proceso C
ESTADO DE LOS PROCESOS del
primer ejemplo

16
Estado de los procesos
En este modelo, los estados en la cola de
procesos pueden estar:

◼ Listo para ejecución


◼ Bloqueado (esperando por E/S)
Modelo de Procesos de los 5
estados

Llamada al sistema
Modelo de 5 estados
◼ Ejecutándose (Running )
◼ Listo (Ready)
◼ Bloqueado (Blocked)
◼ Nuevo (New)
◼ Termina (Exit).
Modelo de 5 estados
◼ Ejecutándose (Running )
◼ Listo (Ready)
◼ Bloqueado (Blocked)
◼ Nuevo (New)
◼ Terminado (Exit).
Creación y culminación de los
procesos
Creación Culminación
Nuevo proceso batch Culminación normal
Un usuario hace login Termina por un error
El SOP lo crea para Lo termina el
realizar un servicio administrador, el SOP o
un usuario desde un
terminal
Es creado por un
proceso existente
Creación de Procesos
◼ Un proceso puede crear varios nuevos procesos
durante su ejecución, con llamada al sistema
apropiada (fork, CreateProcess).
◼ El proceso que crea es el padre y el nuevo proceso es
llamado el hijo. Cada proceso puede a su vez seguir
creando procesos.
◼ Cuando un proceso crea un sub-proceso el hijo
podría:
 Obtener los recursos directamente del sistema operativo.
 Obtener (heredar) un subconjunto de los recursos del
padre
Creación de Procesos

◼ Cuando un proceso crea un nuevo


proceso existen dos posibilidades
en cuanto a su ejecución:
El padre continúa ejecutándose en
forma concurrente con su hijo;
El padre espera a que todos sus hijos
terminen.
Creación de procesos
◼ Hay también dos posibilidades para
la imagen en memoria del nuevo
proceso:
El proceso hijo es un duplicado del
proceso padre.
El proceso hijo tiene un programa
diferente cargado en memoria.
Culminación de un Proceso
◼ Un proceso termina cuando ejecuta su
última instrucción (terminación normal)
◼ Un proceso puede causar la terminación
de otro proceso ejecutando la llamada al
sistema adecuada (kill).
◼ En algunos SOPs si el padre termina,
deben terminar los hijos
◼ Los usuarios pueden arbitrariamente
terminar, desde la cónsola, con la
ejecución de un proceso.
Otras Razones para la terminación
de un proceso
◼ Se excede del tiempo límite
◼ Memoria no disponible
◼ Violaciones de segmento
◼ Errores de protección
 Ejem: Escribir un archivo que es sólo para lectura.
◼ Error aritmético

Errores
Otras Razones para la terminación
de un proceso
◼ Falla de E/S
◼ Instrucción inválida (cuando se trata de ejecutar
un dato)
◼ Tratar de ejecutar una instrucción privilegiada.
◼ Intervención del SOP: por ejemplo cuando
ocurre un interbloqueo.
Modelo de Procesos de los 5
estados
Modelo de 5 procesos
(Descripción de los Estados)

◼ Nuevo: un proceso que ha sido creado pero aún no está listo


para ejecución, probablemente porque no se le han asignado
todos los recursos o debido al factor de multiprogramación.
◼ Ejecutándose: El proceso cuyas instrucciones están siendo
ejecutadas por el CPU. Si se tiene un solo procesador, como
máximo un proceso se estará ejecutando.
◼ Listo: El proceso está listo para ejecución cuando se le de la
oportunidad.
◼ Bloqueado: El proceso no se puede ejecutar hasta que
ocurra determinado evento, tal como la culminación de una
operación de E/S.
◼ Termina: El proceso ha culminado su ejecución por
cualquiera de las razones antes mencionadas.
Transiciones
◼ NULL – Nuevo: Un nuevo proceso se crea.
◼ Nuevo – Listo: cuando tiene todos los recursos y el
factor de multiprogramación lo permite. El propósito
de este nivel es que no existan demasiados procesos
que degraden el desempeño (performance).
◼ Listo – Ejecutándose: El proceso está en la cola de
ready y es seleccionado para ejecución.
◼ Ejecutándose – Termina: cuando el proceso alcanza
el exit, termina de forma anormal o es eliminado por
otro proceso o usuario.
Transiciones
◼ EJECUTANDOSE – LISTO: Se acabó el time-slice (quantum). O si
llega un proceso de mayor prioridad (según el algoritmo de
planificación), el proceso actual es despojado del CPU y colocado
en la cola de ready. Un proceso puede también, en forma
voluntaria, liberar el control del procesador.
◼ EJECUTÁNDOSE – BLOQUEADO: un proceso se coloca en
estado de bloqueado, generalmente si debe esperar por un
dispositivo de E/S. Un requerimiento al sistema operativo es en
forma de llamadas al sistema. Por ejemplo leer o escribir un archivo,
requerir una zona de memoria compartida que no está disponible,
cuando se comunica con otro proceso, etc.
◼ BLOQUEADO – LISTO: esta transición se realiza cuando ocurre el
evento por el cual un proceso ha estado esperando.
◼ LISTO – TERMINA: en algunos sistemas un proceso padre puede
terminar un proceso hijo en cualquier momento. También, si un
padre termina, todos los procesos hijos asociados con el padre
podrían terminar.
◼ BLOQUEADO – TERMINA: los comentarios anteriores aplican.
Implementación usando 2 colas

Cuando ocurre la interrupción hay que buscar en toda


la cola de procesos bloqueados.
Multiples colas para los procesos
bloqueados
Modelo de Procesos de los 5 estados

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
Modelo de Procesos de los 5 estados

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

2 Espera un evento
Ocurre el evento

2L3
Bloqueados
4

1L2

3
Modelo de Procesos de los 5 estados
Tiempo 0
2 2

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

2L3
Bloqueados
4

1L2

3
Modelo de Procesos de los 5 estados
Tiempo 1
2L3 1

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
4

1L2

3
Modelo de Procesos de los 5 estados
Tiempo 2
2L3 0
4

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados

1L2

3
Modelo de Procesos de los 5 estados
Tiempo 3
1L2 4 1L3

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
0

3
Modelo de Procesos de los 5 estados
Tiempo 3
3 1L2 4 0L3

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
0

5
Modelo de Procesos de los 5 estados
Tiempo 4
3 1L2 3
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
0
0L3

4
Modelo de Procesos de los 5 estados
Tiempo 5
3 1L2 2
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
0
0L3

3
Modelo de Procesos de los 5 estados
Tiempo 6
3 1L2 1
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
0
0L3

2
Modelo de Procesos de los 5 estados
Tiempo 7
3 1L2 0
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados
0
0L3

1
Modelo de Procesos de los 5 estados
Tiempo 8
3 0L2

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados

0L3 0

0 0
Modelo de Procesos de los 5 estados
Tiempo 9
0L3 2

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados

0L2 0

5 0
Modelo de Procesos de los 5 estados
Tiempo 10
0L3 1

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados

0L2 0

4 0
Modelo de Procesos de los 5 estados
Tiempo 11
0L3 0

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados

0L2 0

3 0
Modelo de Procesos de los 5 estados
Tiempo 12
0L2
Libera el CPU 0
admitido despachado
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados

0L2 0

2 0
Modelo de Procesos de los 5 estados
Tiempo 13
0L1
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados 0

0L2 0

1 0
Modelo de Procesos de los 5 estados
Tiempo 14
0L2 0L0

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento

Bloqueados 0

0L2 0

0 0
Modelo de Procesos de los 5 estados
Tiempo 15
0L1

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento
0L0

Bloqueados 0

0
Modelo de Procesos de los 5 estados
Tiempo 16
0L0

despachado Libera el CPU


admitido
En
Nuevo Listos Teminados
Ejecucion

Timeout

Espera un evento
Ocurre el evento
0L0

Bloqueados 0

0
Procesos suspendidos
◼ El procesador es tan rápido comparado
con la E/S que todos los procesos en
memoria podrían estar bloqueados.
◼ El intercambio (Swap) de estos procesos
a disco podría liberar memoria para otro
proceso o para crear uno nuevo.
◼ El estado bloqueado se transforma a
suspendido cuando el proceso está en
disco (área de swap).
54
Razones para suspender un proceso
Intercambio El sistema operativo necesita liberar suficiente
memoria principal para cargar un proceso que
está listo para ejecutarse

Otra razón del SO El sistema operativo puede suspender un proceso


en segundo plano, de utilidad o cualquier
Lo hace otro proceso externo

proceso que se sospecha sea el causante de un


problema

Solicitud de un usuario Un usuario puede querer suspender la ejecución


de un programa con fines de depuración o en
conexión con el uso de un recurso

Por tiempo Un proceso puede ejecutarse periódicamente


(por ejemplo, un proceso de contabilidad o de
supervisión del sistema) y puede ser suspendido
mientras espera el siguiente intervalo de tiempo

Solicitud del proceso padre Un proceso padre puede querer suspender la


ejecución de un proceso descendiente
para examinar o modificar el proceso suspendido
o para coordinar la actividad de varios
descendientes 55
Razones para suspender los próximos
diagramas tiene que
ver principalmente

un proceso con procesos en el


área de swap

Intercambio El sistema operativo necesita liberar suficiente


memoria principal para cargar un proceso que
está listo para ejecutarse
Lo hace otro proceso externo

Otra razón del SO El sistema operativo puede suspender un proceso


de fondo, de utilidad o cualquier proceso que se
sospecha sea el causante de un problema

Solicitud de un usuario Un usuario puede querer suspender la ejecución


de un programa con fines de depuración o en
conexión con el uso de un recurso

Por tiempo Un proceso puede ejecutarse periódicamente


(por ejemplo, un proceso de contabilidad o de
supervisión del sistema) y puede ser suspendido
mientras espera el siguiente intervalo de tiempo

Solicitud del proceso padre Un proceso padre puede querer suspender a


ejecución de un proceso descendiente
para examinar o modificar el proceso suspendido
o para coordinar la actividad de varios
descendientes
56
Sólo un estado de suspendido

Evento ocurre y
hay memoria
Procesos Suspendidos

• Todos los procesos que fueron suspendidos


estaban en el estado de Bloqueado
• Son necesarios dos estados nuevos:
• Bloqueado y suspendido: El proceso está en disco
esperando un suceso.
• Listo y suspendido: El proceso está en disco pero
está disponible para su ejecución tan pronto como
se cargue en la memoria principal
DOS ESTADOS SUSPENDIDOS

http://cs.uttyler.edu/Faculty/Rainwater/COSC3355/Animations/backingstore.htm
Nuevas transiciones
◼ BLOQUEADO -> BLOQUEADO SUSPENDIDO: cuando se
requiere de memoria, y se va a elegir un proceso para swap
out, los primeros candidatos son procesos que están
esperando por la ocurrencia de un evento.
◼ BLOQUEADO SUSPENDIDO –> LISTO SUSPENDIDO:
cuando el evento ocurre mientras el proceso está en el área
de swap (disco).
◼ LISTO SUSPENDIDO –> LISTO: puede pasar cuando ya hay
suficiente memoria, no hay procesos READY en la memoria
o cuando el proceso en el área de swap tiene más prioridad
que los procesos ready en la memoria.
Nuevas transiciones
◼ LISTO -> LISTO SUSPENDIDO: esto ocurre cuando
es la única manera de liberar memoria. Se puede
seleccionar también un ready de baja prioridad antes
de que un blocked de alta prioridad si el sistema
operativo sabe que el evento por el que espera este
último ocurrirá pronto.
◼ NUEVO -> LISTO SUSPENDIDO: no es la transición
natural cuando se crea un nuevo proceso, pero si no
hay suficiente memoria el proceso va al disco de una
vez
◼ BLOQUEADO - SUSPENDIDO -> BLOQUEADO:
podría ocurrir cuando el proceso en el área de swap
tiene mayor prioridad, que un proceso en la cola de
READY y el sistema operativo cree que el evento por
el que espera el primero está próximo a ocurrir.
Nuevas transiciones
◼ EJECUTÁNDOSE –> LISTO SUSPENDIDO: si se
esta quitando el CPU porque ocurrió un evento
que libera a un bloqueado-suspendido de alta
prioridad que necesita ejecutarse. No obstante no
hay memoria suficiente para colocar al proceso
saliendo del CPU en la cola de listos y los otros
procesos en la memoria tienen mayor prioridad.
◼ VARIOS –>TERMINAR: En algunos sistemas
operativos un proceso puede ser destruido
explícitamente por el padre o cuando éste
termine. Si esto se permite, un estado puede
moverse al estado EXIT desde cualquier estado.
Otros Videos
◼ https://www.youtube.com/watch?v=bta48I
x3t_Q
◼ https://www.youtube.com/watch?v=mHPy
SA51t18 (resume los principales
elementos de la implementación de
procesos)
Representación de los procesos
Cómo representa el SOP a los procesos?

Estados Estructuras de Datos

Aqui se puede colocar el video de estados.


Tablas para el Control de los
Procesos

Bloque
de Control
de Procesos
(Process Control
Block)
Estructura de un Proceso en la
Memoria
Bloque de control de procesos:
PCB Process Control Block
◼ Identificación del Proceso: identificador del proceso,
identificador del proceso que creó al proceso actual,
identificador del usuario y/o grupo propietarios del proceso.
◼ El Estado del Proceso: se refiere a si el actualmente se está
ejecutando, está bloqueado esperando por un evento, está
listo para ejecutarse, ha terminado (zombie), etc.
Estado

◼ El PC y registros de Control (el PSW): el PC contiene la


dirección de comienzo de la próxima instrucción a ejecutar y
el PSW es uno o varios registros que contiene: resultado de
las más recientes operaciones aritméticas o lógicas, bits de
modo de ejecución o que indican si las interrupciones
estaban habilitadas o deshabilitadas.
Registros del Intel 8080
◼ Flags
◼ The processor maintains internal
flag bits (a status register), which
indicate the results of arithmetic
and logical instructions. The flags
are:
◼ Sign (S), set if the result is
negative.
◼ Zero (Z), set if the result is zero.
◼ Parity (P), set if the number of 1
bits in the result is even.
◼ Carry (C), set if the last addition
operation resulted in a carry or if
the last subtraction operation
required a borrow
◼ Auxiliary carry (AC or H), used for
binary-coded decimal arithmetic.
Pentium II
EFLAGS Register
Bloque de control de procesos

◼ Los registros del CPU: Son registros visibles


al usuario (de 8 a 32 en arquitecturas RISC).
Incluyen acumuladores, registros índices,
apuntadores a la pila, registros de propósito
general, etc. Cuando ocurre un cambio de
proceso, el valor del PC y de los registros se
almacenan en estos campos de la PCB.
PC

P1
Add D1, D2, D3
Sub @A0, D2
…..

www.monografias.com
P1 P2

PCBs D1, D2, D3…..


D1, D2, D3…..

Load D1, Var A


Sub D5, D1, D3
D1, D2, D3
Add D1, D2, D3
Sub @A0, D2
…..
Bloque de control de procesos
◼ Información de Scheduling: Esta información incluye
la prioridad de un proceso (actual, default, mas alta
permitida, etc), información importante para el
algoritmo de scheduling como por ejemplo la cantidad
de tiempo que el proceso ha estado esperando por el
CPU y la cantidad de tiempo que el proceso utilizó el
CPU la última vez que se ejecutó; el evento que
suspendió al proceso y por el cual el proceso podrá
estar de nuevo listo.
◼ Apuntadores a otras estructuras de datos: por ejemplo
al próximo proceso en la lista de procesos esperando
por el disco. Zonas de memoria del proceso.
Creación de Procesos
◼ Asigna un único identificador al nuevo proceso
◼ Asignar espacio en la memoria para el proceso
(imagen)
◼ Inicializar el bloque de control del proceso
◼ Establecer los enlaces apropiados
 Por ejemplo, si el sistema operativo mantiene cada cola
de planificación como una lista enlazada, entonces el
proceso nuevo se debe poner en la cola de Listos o de
Listos y suspendidos
◼ Crear o ampliar otras estructuras de datos
 Ej: el sistema operativo puede mantener un archivo de
contabilidad

74
Control de Procesos
Modos de ejecución
◼ Modo de usuario
 modo menos privilegiado
 los programas de usuario ejecutan
normalmente en ese modo
◼ Modo de sistema, control, o kernel
 modo más privilegiado
 Kernel del sistema operativo
75
Cambio de MODO
◼ Interrupción de reloj:
Si el SO determina que el proceso que está en ejecución, se ha
estado ejecutando durante la fracción máxima de tiempo
permitida, el proceso debe pasar al estado Listo y se debe expedir
otro proceso

◼ Interrupción de E/S:
Si la acción constituye un suceso que están esperando uno o más
procesos, entonces el SO traslada todos los procesos bloqueados
correspondientes al estado Listo o Listo suspendido (
)

◼ Fallo de memoria:
una referencia a una dirección de memoria virtual no está en
memoria principal. El SO puede llevar a cabo
; el proceso que cometió el fallo de memoria se pasa a
estado Bloqueado.
Cambio de MODO
◼ Trap
 Error o excepción
 Si es fatal puede causar que el proceso pase al
estado terminado

◼ Trap- Llamada al sistema


 Ej: leer datos de un archivo. El proceso de usuario
puede pasar al estado bloqueado. No todas las
llamadas al sistema producen bloqueo del proceso

77
Es lo mismo, salvo si los
Procesos son hilos

El cambio de contexto
o proceso requiere de
un cambio de No necesariamente implica
modo previo (modo un cambio de proceso
usuario ->modo kernel)
Cambio de Proceso

◼ Salvar el contexto del procesador, incluyendo el


contador de programa y otros registros
◼ Actualizar el bloque de control del proceso que
estaba en estado de Ejecución
◼ Mover el bloque de control del proceso a la cola
apropiada Listos, Bloqueados, Listos y
suspendidos
◼ Seleccionar otro proceso para ejecución

79
Modelo de Procesos PCB
PCB
PC: 1500
PC: 254320
Estado:Running
Estado: Ready
Estado: Ready R1: 2
R1: 0
R2: -1
R2: 0 R3: 1214
R3: 0

Paren ese proceso, le toca a otro! PC: 1500


R1: 2
R2: -1
R3: 1214

2 0L2

despachado Libera el CPU


En
Listos Teminados
Ejecucion

Timeout
Modelo de Procesos
PCB
PCB
PC: 1500
PC: 254320 Estado: Ready
Estado: Ready R1: 2
R1: 0
R2: -1
R2: 0 R3: 1214
R3: 0

PC: 254320
PC: 1500
R1: 20
R1:
R2:
R2: 0
-1
Ahora se ejecuta el amarillo R3:
R3: 0
1214

0L2 2

despachado Libera el CPU


En
Listos Teminados
Ejecucion

Timeout
Modelo de Procesos
PCB
PCB
PC: 1500
PC: 254320
254328 Estado: Ready
Estado: Running
Estado: Ready
Running R1: 2
R1: 01
R2: -1
R2: 0 R3: 1214
R3: 013

PC: 1500
254328
Paren ese proceso, le toca a otro!
R1: 2
R1: 1
R2:
R2: -1
0
R3:
R3: 1214
13

0L2 1

despachado Libera el CPU


En
Listos Teminados
Ejecucion

Timeout
Cambio de Estado de los Procesos

◼ Actualizar el bloque de control del proceso


seleccionado (colocar como running)
◼ Actualizar las estructuras de datos de gestión de
memoria
◼ Restaurar el contexto del procesador a aquel
que existía en el momento en el que el proceso
seleccionado dejó por última vez el estado de
Ejecución
◼ Cambio de Proceso (con PCB)
83
Funciones Básicas del Núcleo
de un Sistema Operativo
Gestión de Procesos
• Creación y terminación de los procesos
• Planificación y expedición de los procesos
• Cambio de procesos
• Sincronización de procesos y soporte para la comunicación entre procesos
• Gestión de los bloques de control de procesos
Gestión de memoria
• Asignación de espacios de direcciones a los procesos
• Intercambio
• Gestión de páginas y segmentos
Gestión de E/S
• Gestión de buffers
• Asignación de canales de E/S y dispositivos a los procesos
Funciones de Soporte
• Tratamiento de interrupciones
• Contabilidad
• Supervisión

84
Referencias
◼ Stallings. Operating Systems: Internals
And Design Principles, 6/E, isbn
9788131725283,
url=http://books.google.es/books?id=RFAi
HXz12Kc, 2009, Pearson Education.
◼ Process Description and Control. Dave
Bremer Otago Polytechnic, N.Z. ©2008,
Prentice Hall

También podría gustarte