PDF de programación - Sistemas Operativos II - TEMA 1

Imágen de pdf Sistemas Operativos II - TEMA 1

Sistemas Operativos II - TEMA 1gráfica de visualizaciones

Publicado el 14 de Enero del 2017
746 visualizaciones desde el 14 de Enero del 2017
73,9 KB
17 paginas
Creado hace 24a (09/03/2000)
Sistemas Operativos II

T EM A 1

Contenido

1.1. Introducción
1.2. Requisitos Hardware

1.2.1. Mecanismo de Interrupciones
1.2.2. Protección de Memoria
1.2.3. Repertorio de Instrucciones Reservadas
1.2.4. Reloj de Tiempo Real

1.3. Núcleos Monolíticos y Micronúcleos (Microkernels)

1.3.1. Arquitectura de un Micronúcleo

1.4. Procesos

1.4.1. Representación de los Procesos
1.4.2. Estados de un Proceso
1.4.3. Planificación de Procesos

1.5. Procesos y Hebras
1.6. Caso de Estudio: El Micronúcleo del Sistema Operativo Mach
1.7. Referencias
1.8. Apéndice: Comunicación y Sincronización entre Procesos

1.8.1. Principios de Concurrencia
1.8.2. Sincronización entre Procesos: El Problema de la Exclusión Mutua
1.8.3. Comunicación entre Procesos: Paso de Mensajes
1.8.4. Caso de Estudio: UNIX System V
1.8.5. Referencias

Sistemas Operativos II

TEMA 1

EL NÚCLEO

1.1. Introducción
El núcleo (kernel) del sistema operativo constituye el nivel más bajo de éste y proporciona un interface
entre el hardware y el resto de niveles del sistema operativo (Figura 1). Su finalidad principal es constituir
un entorno adecuado en el que se puedan ejecutar los procesos. Esto implica gestionar los recursos
básicos del sistema y proporcionar servicios esenciales
para los programas de aplicación y usuarios:
• Gestión de recursos básicos:

Nivel de Usuuario

- Gestión de memoria.
- Creación de procesos y planificación de los

mismos.

- Mecanismos para

la

intercomunicación entre

Sistema
Operativo

Hardware

Núcleo

Otros niveles

Figura 1.- Estructura genérica de un sistema

operativo.

procesos.

- Mecanismos básicos de entrada/salida.
• Servicios para las aplicaciones y usuarios:

- Autentificación de usuarios y control de los

accesos a los recursos por parte de los procesos.

- Gestión de ficheros.

El núcleo está constituido directamente sobre el hardware, por lo que es la parte del sistema operativo
más dependiente de la máquina y constituye, normalmente, la parte del sistema operativo que
obligatoriamente debe de contener código en ensamblador. El resto del sistema puede ser escrito en un
lenguaje de más alto nivel, lo que facilita el desarrollo y mantenimiento del mismo. Desde la aparición del
sistema operativo UNIX, el lenguaje C suele ser el lenguaje en el que desarrollan los sistemas operativos.

1.2. Requisitos Hardware
El núcleo necesita unos requisitos mínimos de hardware para poder llevar a cabo sus funciones. Estos
requisitos incluyen:

• Mecanismo de interrupciones.
• Protección de memoria.
• Repertorio de instrucciones reservadas.
• Reloj de tiempo real.

Las

1.2.1. Mecanismo de Interrupciones
El hardware ha de suministrar un mecanismo por el que se pueda interrumpir el funcionamiento normal de
la CPU.
interrupciones son necesarias, fundamentalmente, porque permiten mejorar el
aprovechamiento de la CPU mediante la aplicación de diversas técnicas (multiprogramación, tiempo
compatido, etc.). Las principales fuentes de interrupciones son:
• Programas: como consecuencia de la ejecución de una instrucción, se producen algunas de las
siguientes situaciones: overflow, divisiones por cero, referencias a direcciones de memoria que no
pertenecen al espacio de direcciones del proceso, etc.

• Reloj del sistema: cada computador tiene un reloj que interrumpe a la CPU a intervalos regulares. De
esta forma es posible, por ejemplo, utilizar políticas de planificación apropiativa (preemptive
scheduling).

• Dispositivos de entrada/salida: los controladores de dispositivo generan interrupciones cuando se

completa una operación o cuando se produce algún error.

_________________________________________________________________________________
___
TEMA 1. El Núcleo

Pág. 1

Sistemas Operativos II

• Fallos del hardware: errores de paridad de memoria, caida de la fuente de alimentación, etc.

El mecanismo de interrupciones funciona, generalmente, del siguiente modo. Cada tipo de dispositivo
de entrada/salida tiene asociado una dirección de memoria conocida como vector de interrupciones, que
contiene la dirección de una rutina que se ejecutará en el caso de que se produzca la interrupción
correspondiente. Cuando un dispositivo envía una señal de interrupción al procesador, éste termina la
ejecución de la instrucción en curso, determina la fuente de la interrupción, localiza su vector de
interrupciones y ejecuta la rutina de tratamiento de la interrupción. Al terminar esta rutina el núcleo suele
aplicar la política de planificación de procesos, lo que puede originar que el proceso que
continue con su ejecución o bien que se ejecute otro diferente. Cuando un proceso es interrumpido, el
núcleo ha de guardar toda la información necesaria para poder reanudar posteriormente su ejecución. Esta
información incluye, como mínimo, el contador de programa y el resto de registros de la CPU.

Es posible que durante la ejecución de una rutina de tratamiento de una interrupción se produzca
otra. Existen dos alternativas para tratar este tipo de situaciones. La primera consiste en desactivar las
interrupciones mientras se está procesando una rutina de tratamiento de interrupciones. Si se producen
nuevas interrupciones en esos periodos, normalmente se dejan pendientes y son tratadas cuando se
vuelven a rehabilitar. La principal ventaja de este esquema es su simplicidad, ya que las interrupciones se
atienden en orden estrictamente secuencial. El inconveniente es que no permite establecer prioridades
entre interrupciones, lo que es necesario en determinadas situaciones. La segunda alternativa es,
precisamente, el establecimiento de prioridades y permitir la interrupción de rutinas de tratamiento cuando
se generan otras de mayor prioridad.

1.2.2. Protección de Memoria
La ejecución concurrente de varios procesos requiere que la memoria usada por cada uno de ellos esté
protegida para evitar el acceso no autorizado por parte de otros procesos.

1.2.3. Repertorio de Instrucciones Reservadas
Con el fin de evitar que los procesos concurrentes interfieran entre ellos, parte de las instrucciones del
computador deben de reservarse para su empleo exclusivo por parte del sistema operativo. Estas
instrucciones llevan a cabo tareas como habilitar y deshabilitar interrupciones, acceder a los registros
usados por el hardware de protección de memoria, realizar operaciones de entrada/salida y conmutar un
procesador entre distintos procesos.

Para establecer cuándo está permitido utilizar estas instrucciones y cuándo no, la mayoría de los
computadores trabajan en dos modos de funcionamiento: modo supervisor o núcleo y modo usuario. Las
instrucciones reservadas únicamente pueden emplearse en modo supervisor. El cambio de modo usuario a
modo supervisor se lleva a cabo al usar uno de los siguientes mecanismos:
• Llamada al sistema: un proceso hace una llamada al sistema operativo que requiere ejecutar alguna

función que emplea instrucciones reservadas.
Interrupción: ha ocurrido un suceso externo al proceso.


• Trap: Se da una condición de error en un proceso.

La vuelta a modo usuario desde el modo supervisor también se lleva a cabo me

reservada.

1.2.4. Reloj de Tiempo Real
Para poder lleva a cabo políticas de planificación es esencial disponer de un reloj hardware que produzca
interrupciones a intervalos fijos de tiempo real. Típicamente, un reloj se compone de un cristal de cuarzo,
un registro contador y un registro de carga. Un cristal de cuarzo tiene la propiedad de que bajo cierta
tensión puede oscilar a intervalos periódicos con mucha precisión.

El funcionamiento de un reloj consiste en decrementar el registro contador cada vez que se produce
una oscilación del cristal de cuarzo, de forma que cuando el contador llega a cero se produce una
interrupción. A continuación, se puede optar por dos modos de funcionamiento. En el primer modo, el
registro contador toma como valor inicial el contenido del registro de carga y cuando se produce la
interrupción el reloj se para hasta que es puesto en marcha de nuevo de forma explícita. En el segundo
modo, cuando el registro contador llega a cero y se produce la interrupción, automáticamente vuelve a

_________________________________________________________________________________
___
TEMA 1. El Núcleo

Pág. 2

Sistemas Operativos II

tomar el valor del registro de carga y comienza de nuevo. Estas interrupciones periódicas se denominan
ticks de reloj.

1.3. Núcleos Monolíticos y Micronúcleos (Microkernels)
Las funciones concretas del núcleo van a depender en gran medida de la arquitectura del sistema
operativo. Tradicionalmente, los sistemas operativos poseen un núcleo monolítico que suministra la
mayoría de los servicios directamente, a través de las llamadas al sistema. El término monolítico implica,
no tanto que el núcleo del sistema operativo sea de gran tamaño, sino que esté codificado de forma no
modular. Como consecuencia, la alteración de cualquier componente del mismo para modificar o añadir
nuevos servicios es difícil. El típico ejemplo de sistema operativo con núcleo monolítico es UNIX.

En la actualidad, se tiende hacia arquitecturas basadas en el concepto de micronúcleo (microkernel),
que consiste en un núcleo que proporciona, básicamente, un conjunto de servicios esenciales. El resto de
los servicios se implementan como procesos servidores a nivel de usuario. Estos servidores presentan una
interfaz bien definido y son accedidos por el resto de los procesos mediante paso de mensajes.

La filosofía de los sistemas operativos basados en micronúcleo es mantener el núcleo lo más
pequeño posible. Las ventajas de este esquema son que el si
  • Links de descarga
http://lwp-l.com/pdf1238

Comentarios de: Sistemas Operativos II - TEMA 1 (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