PDF de programación - Tema 11 - Soporte del Sistema Operativo

Imágen de pdf Tema 11 - Soporte del Sistema Operativo

Tema 11 - Soporte del Sistema Operativográfica de visualizaciones

Publicado el 2 de Agosto del 2019
447 visualizaciones desde el 2 de Agosto del 2019
709,0 KB
12 paginas
Creado hace 14a (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
  • Links de descarga
http://lwp-l.com/pdf16412

Comentarios de: Tema 11 - Soporte del Sistema Operativo (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