Publicado el 2 de Agosto del 2019
525 visualizaciones desde el 2 de Agosto del 2019
709,0 KB
12 paginas
Creado hace 15a (01/01/2010)
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
Tema 11
Soporte del Sistema Operativo
11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS.
El sistema operativo es básicamente un programa que controla los recursos del computador,
proporciona servicios a los programadores y planifica la ejecución de otros programas. A partir
de los µP de 16 bits, las CPU incorporan estructuras de apoyo a los sistemas operativos, por lo
que resulta interesante una introducción a dos de las funciones básicas del SO que más inciden
en la arquitectura de la CPU: la multiprogramación (o multitarea) y el control de memoria.
11.1.1. MULTIPROGRAMACIÓN.
La multiprogramación es la tarea central de los sistemas operativos modernos. Permite que
múltiples programas de usuario o usuarios que se hallan en memoria se alternen entre la
utilización de la CPU y los accesos a I/O, de manera que el procesador siempre se mantenga
ocupado con un proceso mientras los demás esperan.
PLANIFICACION (SCHEDULING) DE ALTO NIVEL.
Determina qué programas son admitidos por el sistema para ser procesados. El planificador
(proyecta) controla pues el grado de multiprogramación (número de procesos en memoria). Una
vez admitido, un programa se convierte en un proceso y es añadido a la cola para ser tratado por
el distribuidor. El planificador de alto nivel puede limitar el grado de multiprogramación para dar
un servicio satisfactorio al conjunto actual de procesos.
PLANIFICACION A CORTO PLAZO (SHORT-TERM SCHEDULING).
Este planificador, conocido también como distribuidor (dispatcher), se encarga de decidir en
cada momento cuál de los procesos admitidos por el anterior se ejecutará en siguiente lugar. Esta
decisión se basa en el estado del proceso.
11. 1
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
Estado del proceso.
Básicamente existen cinco posibles estados de un proceso:
1. Nuevo: El programa ha sido admitido por el planificador de alto nivel pero no está listo
para se ejecutado. El sistema operativo inicializará el proceso, pasándolo al estado
siguiente.
Preparado: El proceso está listo para ser ejecutado, y está esperando acceso al
procesador.
En ejecución: El proceso está siendo ejecutado por el procesador.
2.
3.
4.
Esperando: Se suspende la ejecución del proceso, en espera de algún recurso del
sistema, como I/O.
5.
Parado: El proceso ha sido terminado y será eliminado por el sistema operativo.
Para cada proceso, el sistema operativo debe mantener una información del estado. Para ello,
cada proceso se representa en el SO por un bloque de control de proceso, que contiene
generalmente:
• Identificador: único para cada proceso actual.
• Estado: los tipos vistos anteriormente.
• Prioridad: nivel relativo de prioridad.
• Contador de programa: La dirección de la siguiente instrucción del programa a ser
ejecutada.
• Punteros de memoria: Las direcciones de comienzo y final del proceso en memoria.
• Contexto de datos: son los datos de los registros del procesador para ese proceso.
• Información de estado I/O: incluye dispositivos I/O asignados a ese proceso, lista de
ficheros correspondientes al mismo, etc.
• Información adicional: Puede incluir la cantidad de tiempo de procesador y tiempo de
reloj utilizados, límites temporales, etc.
Cuando el procesador acepta un nuevo proceso, crea un bloque de control de proceso vacío y
sitúa el proceso asociado en el estado 'Nuevo'. Después de que el sistema ha rellenado
apropiadamente el bloque de control, el proceso se transfiere al estado 'Preparado'.
11. 2
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
Planificador
Sistema Operativo
Técnicas de planificación.
Gestor Servicios
Gestor Interrupción
A
Otras Particiones
B
“Preparado”
“En Ejecución”
CONTROL
Sistema Operativo
CONTROL
Gestor Servicios
Planificador
Gestor Interrupción
A
“En Espera”
B
“Preparado”
Otras Particiones
Sistema Operativo
Gestor Servicios
Planificador
Gestor Interrupción
A
“En Espera”
B
“En Ejecución”
CONTROL
Otras Particiones
Figura 6.1. Ejemplo de planificación.
La figura muestra una memoria principal con particiones en un momento determinado. El
núcleo del SO siempre está residente en memoria. Además existen dos procesos activos, A y B,
cada uno en una partición distinta de memoria.
En t=0, el proceso A está siendo ejecutado, y el procesador toma las instrucciones a ejecutar
de la partición correspondiente a A. En un momento determinado, el control pasa al sistema
operativo. Esto puede producirse por tres razones fundamentalmente:
El proceso A realiza una llamada de servicio al SO (por ejemplo, para acceso a I/O). Se
suspende la ejecución de A hasta que se satisfaga la llamada.
El proceso A produce una interrupción. El procesador deja de ejecutar A y transfiere el
control al gestor de interrupciones en el SO. Existen varias posibilidades de que esto
ocurra. Un ejemplo es un error, que puede estar producido por intentar ejecutar una
instrucción privilegiada a la que no tiene acceso A. Otro es sobrepasar el límite de
tiempo, que previene la monopolización del procesador por un solo proceso.
1.
2.
3. Otro evento no relacionado con el proceso A que requiere atención del procesador
produce una interrupción (por ejemplo, el fin de una operación I/O previa).
11. 3
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
En cualquier caso, el resultado es el siguiente. El procesador salva el contexto actual de datos
y el PC para A en el bloque de control del proceso A y comienza a ejecutar el SO. Cuando
termina la rutina correspondiente, el distribuidor, incluido en el SO, decide qué proceso se
realizará en siguiente lugar. El SO ordena al procesador retomar el contexto del proceso B y
continuar con su ejecución en el punto en que se había dejado.
Para realizar su tarea, el SO mantiene un cierto número de 'colas'. Cada una de ellas es una
lista de espera que contiene los procesos en espera de acceso a algún recurso. La cola a largo
plazo (long-term queue) es la lista de programas que esperan utilizar el sistema. Cuando las
condiciones lo permitan, el planificador de alto nivel asignará memoria y creará un proceso para
uno de los programas que esperan.
La cola a corto plazo (short-term queue) contiene todos los procesos en estado 'Preparado'.
La selección entre ellos se realiza por algún algoritmo o utilizando prioridades. Finalmente existe
una cola por cada dispositivo I/O, donde se almacenan todos los procesos que requieren acceso a
ese dispositivo.
Llamadas a
Servicios desde
Procesos
Interrupción
Desde procesos
Interrupción
Desde E/S
Gestor de
Interrupción
Gestor de
llamadas a
Servicios
Cede el control
A un proceso
Planificador a
Corto plazo
SISTEMA OPERATIVO
Cola a
corto
plazo
Cola a
largo
Plazo
Colas
De E/S
11. 4
JUAN F. GUERRERO MARTÍNEZ
JOSÉ V. FRANCÉS VILLORA
Curso 2010-2011
SISTEMAS ELECTRÓNICOS PARA EL
TRATAMIENTO DE LA INFORMACIÓN
Solicitud
De Proceso
Cola a
largo
Plazo
Cola a
corto
plazo
E/S
E/S
E/S
CPU
Fin Ejecución
Cola de E/S
Cola de E/S
Cola de E/S
Figura 6.2. Elementos de un SO multiprogramado. Diagrama de colas.
Cada petición de nueva tarea o programa es colocada en la cola a largo plazo. Cuando los
recursos van quedando libres, las peticiones se convierten en procesos activos, se pasan al estado
'Preparado' y se almacenan en la cola de corto plazo. El procesador alterna entre la ejecución del
SO y los procesos del usuario. Mientras se está ejecutando el SO, se decide qué proceso de la
cola de corto plazo será el siguiente a ejecutar.
El SO maneja también las colas de I/O. Cuando se ha completado una operación de I/O, el
SO saca el proceso que la solicitó de la cola de I/O y lo coloca en la cola de corto plazo.
CONMUTACIÓN (SWAPPING).
La estructura de colas comentada, que permite implementar la multiprogramación, está
almacenada en memoria. Generalmente, la menos utilizada (cola de largo plazo) estará en disco
mientras que la de corto plazo puede estar en memoria principal. Esta estructura, aún mejorando
las prestaciones del sistema, no evita completamente el que el procesador, debido a su mayor
velocidad, tenga que esperar cuando todos los procesos se hallen en colas de I/O. Una solución
sería expandir la memoria principal para soportar más procesos, pero resulta cara y la tendencia
de cada proceso es a utilizar más memoria. Otra solución es conmutar colas entre memoria
principal y disco, lo que implica una cierta gestión de memoria.
11. 5
JUAN F. GUERRERO
Comentarios de: Tema 11 - Soporte del Sistema Operativo (0)
No hay comentarios