Está en la página 1de 52

Sistemas

operativos:
Principios
internos y Capítulo 3
de diseño Descripción y control
del proceso
Eighth Edition
By William Stallings
Resumen de conceptos
anteriores
El sistema operativo se desarrolló
Una plataforma informática para proporcionar una interfaz
consta de una colección de conveniente, rica en funciones,
recursos de hardware.
segura y consistente para que las
Las aplicaciones aplicaciones la utilicen.
informáticas se desarrollan
para realizar alguna tarea.  Podemos pensar en el sistema
 Es ineficiente que las operativo como una
aplicaciones se escriban representación uniforme y
directamente para una abstracta de los recursos que
plataforma de hardware pueden ser solicitados y
determinada. accedidos por las aplicaciones
Administración del sistema operativo de
la ejecución de aplicaciones
Los recursos están disponibles para varias
aplicaciones
El procesador se cambia entre varias
aplicaciones, por lo que todas parecerán estar
progresando
 El
procesador y los dispositivos de E/S se
pueden utilizar de manera eficiente
Elementos de proceso
 Dos elementos esenciales de un proceso son:

Código de programa
 que puede compartirse con otros procesos que ejecutan el mismo
programa

Un conjunto de datos asociados a ese código



cuando el procesador comienza a ejecutar el código del programa, nos
referimos a esta entidad en ejecución como un proceso
Elementos de proceso
 Mientras el programa se está ejecutando, este proceso se puede
caracterizar de forma única por una serie de elementos, incluyendo:

identificador

contador de
estado prioridad
programas

Información
punteros de datos de información
de estado de
memoria contexto contable
E/S
Bloque de control
de procesos
Contiene los elementos de proceso
Es posible interrumpir un proceso en
ejecución y posteriormente reanudar la
ejecución como si la interrupción no se
hubiera producido
Creado y administrado por el sistema
operativo

Herramienta clave que permite el


soporte para múltiples procesos
Estados de proceso
Trace Dispatcher

Es el comportamiento de un
proceso individual al enumerar Pequeño
la secuencia de instrucciones programa que
que se ejecutan para ese proceso cambia el
procesador de un
proceso a otro

El comportamiento del
procesador puede
caracterizarse por mostrar
cómo se intercalan las trazas
de los distintos procesos
Ejecución
del proceso
Modelo de proceso de dos
estados
Table 3.1 Razones para la creación de
procesos
Creación de procesos
proceso
Proceso padre Proceso hijo
spawning
• cuando el • es el proceso • es el nuevo
sistema original, de proceso
operativo creación
crea un
proceso a
petición
explícita de
otro proceso
Terminación del proceso
Debe haber un medio para que un proceso indique su
finalización
Un trabajo por lotes debe incluir una instrucción HALT o una
llamada explícita de servicio del sistema operativo para la
terminación
 Para una aplicación interactiva, la acción del usuario
indicará cuándo se completa el proceso (por ejemplo.log
desactivar, salir de una aplicación)
Modelo de proceso de
cinco estados
Procesos suspendidos
 Swapping
 implica mover parte de todo un proceso de la memoria principal al disco
 Cuando ninguno de los procesos de la memoria principal está en el estado
Listo, el sistema operativo intercambia uno de los procesos bloqueados en
el disco en una cola de suspensión
Características de un
proceso suspendido
 El proceso no está  El proceso puede o no
disponible estar esperando en un
inmediatamente para su evento
ejecución
El proceso fue colocado en  El proceso no se puede
un estado suspendido por quitar de este estado hasta
un agente: ya sea él mismo, que el agente ordene
un proceso padre o el explícitamente la
sistema operativo, con el fin eliminación
de evitar su ejecución

Tablas de memoria
Se utiliza para realizar un
seguimiento de la memoria
Must
principal (real) y secundaria
(virtual)
include:
asignación de memoria principal
a los procesos
 Los procesos se mantienen
en la memoria secundaria asignación de memoria
secundaria a procesos.
utilizando algún tipo de
memoria virtual o Atributos de protección de
bloques de memoria virtual.
mecanismo de intercambio
simple información necesaria para
administrar la memoria virtual.
Tablas de E/S
Utilizado por el sistema
operativo para administrar los
dispositivos de E/S y los Si una operación de E/S está en
canales del sistema curso, el sistema operativo
informático necesita saber:
estado de la operación de E/S
 En un momento dado, un
• La ubicación en la memoria principal
dispositivo de E/S puede que se utiliza como origen o destino de
estar disponible o asignado la transferencia de E/S
a un proceso en particular
Tablas de archivos
Estas tablas proporcionan
información acerca de:
• existencia de archivos
• ubicación en la memoria
secundaria
• estado actual
• otros atributos
Tablas de proceso
Debe mantenerse para administrar los procesos
Debe haber alguna referencia a la memoria, E/S y
archivos, directa o indirectamente
 Las propias tablas deben ser accesibles por el
sistema operativo y, por lo tanto, están sujetas a
la administración de memoria
Estructuras de control de
procesos

Para • donde se
administrar y encuentra el
controlar un proceso
proceso, el • los atributos del
sistema proceso que son
operativo necesarios para
debe conocer: su gestión
Estructuras de control de
procesos
Ubicación del proceso Atributos de proceso
Cada proceso tiene asociados una serie
Un proceso debe incluir un programa o
de atributos que son utilizados por el
conjunto de programas que se van a
sistema operativo para el control de
ejecutar
procesos
Un proceso consistirá en al menos memoria
suficiente para contener los programas y La colección de programas, datos, pilas
datos de ese proceso y atributos se conoce como la imagen de
proceso
 La ejecución de un programa
normalmente implica una pila que se  La ubicación de la imagen de
utiliza para realizar un seguimiento de proceso dependerá del esquema de
las llamadas a procedimientos y el administración de memoria que se
paso de parámetros entre utilice
procedimientos
Identificación de procesos
 Las tablas de memoria se pueden
 A cada proceso se le asigna un organizar para proporcionar un mapa
identificador numérico único. de la memoria principal con una
 De lo contrario, debe haber una indicación de qué proceso se asigna
asignación que permita al a cada región.
sistema operativo localizar las  Aparecerán referencias similares en
tablas adecuadas en función las tablas de E/S y de archivos.
del identificador del proceso.  Cuando los procesos se comunican
 Muchas de las tablas controladas entre sí, el identificador de proceso
informa al sistema operativo del
por el sistema operativo pueden
destino de una comunicación en
utilizar identificadores de proceso
particular..
para hacer referencia cruzada a
tablas de proceso.  When processes are allowed to
create other processes, identifiers
indicate the parent and descendents
of each process.
Información de estado del
procesador

• registros
Consiste visibles para • contiene códigos de
condición más otra
en el el usuario. Progra información de estado.
contenido
de los • registros de m status • El registro EFLAGS es
un ejemplo de un PSW
registros control y word utilizado por cualquier
del
procesador
estado. (PSW) sistema operativo que
• punteros de se ejecute en un
procesador x86.
pila.
Control de procesos
información
 La información adicional que necesita el sistema
operativo para controlar y coordinar los diversos
procesos activos
Función del bloque de
control de procesos
 La estructura de datos más importante en un sistema operativo.
 contiene toda la información acerca de un proceso que necesita el sistema
operativo.
 los bloques son leídos y/o modificados por prácticamente todos los
módulos del sistema operativo.
 define el estado del sistema operativo.

 La dificultad no es el acceso, sino la protección.


 un error en una sola rutina podría dañar los bloques de control de procesos,
lo que podría destruir la capacidad del sistema para administrar los
procesos afectados.
 Un cambio de diseño en la estructura o semántica del bloque de control de
procesos podría afectar a varios módulos del sistema operativo.
Modos de ejecución
Modo de usuario Modo de sistema

Modo con menos Modo con más privilegios


privilegios También se conoce como
 Los programas de modo de control o modo
usuario suelen kernel
ejecutarse en este  Núcleo del sistema
modo operativo
Creación de procesos
 Una vez que el sistema operativo decide crear un
nuevoasigna
proceso que: de proceso único al
un identificador
nuevo proceso.

asigna espacio para el proceso.

Inicializa el bloque de control de procesos.

establece los vínculos apropiados.

Crea o expande otras estructuras de datos


Table 3.8
Mecanismos para interrumpir la
ejecución de un proceso
Interrupciones del sistema
Interrupt Trap
 Debido a algún tipo de evento  Una condición de error o
que es externo e independiente excepción generada dentro del
del proceso que se está proceso que se está ejecutando
ejecutando actualmente. actualmente.
 interrupción del reloj.  El sistema operativo determina
 Interrupción de E/S. si la condición es fatal.
 error de memoria.  movido al estado Exit y se
 Intervalo de tiempo. produce un modificador de
 La cantidad máxima de proceso.
tiempo que un proceso puede
ejecutarse antes de ser
 La acción dependerá de la
interrumpido. naturaleza del error.
Cambio de modo

Si no hay interrupciones If an interrupt is pending


pendientes, el procesador: the processor:

Continúa con la fase de captura y obtiene Establece el contador de programa en la


la siguiente instrucción del programa dirección de inicio de un programa
actual en el proceso actual. controlador de interrupciones.

Cambia del modo de usuario al modo


kernel para que el código de procesamiento
de interrupciones pueda incluir
instrucciones con privilegios.
Cambio de estado del
proceso
 Los pasos en un actualizar el bloque de
conmutador de Mueva el bloque de
Guarde el contexto control de proceso del
control de procesos
proceso del procesador. proceso actualmente
de este proceso a la
en estado En
completo son: ejecución. cola adecuada.

Si el proceso que se está ejecutando actualmente se va a


mover a otro estado (Listo, Bloqueado, etc.), entonces el Seleccione otro
sistema operativo debe realizar cambios sustanciales en su proceso para su
ejecución.
entorno.

Restaure el contexto
del procesador al
que existía en el
momento en que se Actualizar Actualice el bloque
cambió por última estructuras de datos de control de
vez el proceso de administración procesos del
seleccionado. de memoria. proceso
seleccionado.
Ejecución del
sistema
operativo
Ejecución dentro
de los procesos de
usuario
Creación de procesos
 La creación de • Asignar una ranura en la tabla de proceso para el nuevo proceso.
1
procesos es por
medio de la • Asignar un identificador de proceso único al proceso hijo.
llamada del 2
sistema del • Hacer una copia de la imagen de proceso del padre, con la excepción de cualquier
núcleo, fork( ) 3 memoria compartida.

 Esto hace que el • Incrementa los contadores de los archivos que pertenecen al elemento primario, para
reflejar que un proceso adicional ahora también posee esos archivos.
4
sistema
operativo, en • Asigna el proceso secundario al estado Listo para ejecutar.
modo kernel, a: 5

• Devuelve el número de identificador del elemento secundario al proceso primario y un


6 valor 0 al proceso secundario..
Después de la creación
 Después de crear el proceso, el kernel puede realizar una de
las siguientes acciones, como parte de la rutina del
distribuidor:
 Permanecer en el proceso principal
 Transferir el control al proceso secundario
 Transferir el control a otro proceso

También podría gustarte