Está en la página 1de 24

Resumen de SO – 2006 ( by Noky & Raynor )

CAPITULO I: “Sistemas Informáticos”


Elementos:
 Procesador: Procesa datos y controla a las operaciones.
 Memoria Principal: Almacena datos y programas.
 Módulos de E/S: Transportan datos entre la computadora y el entorno
exterior.
 Interconexiones entre componentes: Mecanismos y estructuras de
conexión (Buses).

Visibles de usuario: Son los que


están disponibles para los
programas.
Tipo según su
función
De Control y Estado: Se emplean
para controlar las operaciones del
procesador.
Registros

Registros de Datos: Contienen


datos

Tipo según su
contenido Registro de Dirección:
Contienen direcciones o parte de
una dirección.

Registro de Códigos de Condición:


Conjunto de bits activados por el
hardware del procesador como
resultado de operaciones.

REGISTROS DESCRIPCIÓN TIPO


MAR (Memory Address Register) Especifica la dirección de De Control y Estado.
memoria a escribir o leer. Registro de Dirección.
MBR (Memory Buffer Register) Contiene los datos que van a De Control y Estado.
ser escritos o fueron leidos. Registro de Datos.
I/O MAR (In Out MAR) Especifica un dispositivo de De Control y Estado.
I/O Registro de Dirección.
I/O MBR (In Out MBR) Especifica datos que van a De Control y Estado.
ser escritos o fueron leidos Registro de Datos.
desde el I/O
IR (Index Register) Guarda el valor a sumar a un Visible de Usuario.
valor base para obtener la Registro Dirección.
dirección efectiva.
SP (Segment Pointer) Guarda el valor de dirección Visible de Usuario.
1
Resumen de SO – 2006 ( by Noky & Raynor )

base que apunta a un Registro de Dirección.


segmento.
SP (Stack Pointer) Contiene la dirección de la Visible de Usuario.
cabeza de la pila. Registro de Dirección.
PC (Program Counter) Contiene la dirección de la De Control y Estado.
intrucción siguiente. Registro de Dirección.
IR (Instruction Register) Contiene la última instrucción De Control y Estado.
leida. Registro de Datos.
PSW (Program Status Word) Contiene códigos de De Control y Estado.
condición. Registro de Datos.

Interrupciones:

Mejora la eficiencia de procesamiento.

TIPO DESCRIPCIÓN
De Programa Generadas por alguna condición resultado de
la ejecución de una instrucción.
De Reloj Generadas por el reloj interno del procesador.
De E/S Generadas por un controlador de E/S para
indicar ACK o NAK.
Por fallo de Hardware Generadas por un error en el Hardware.

Por secuencia: Inhabilitar las


interrupciones mientras se procesa una.
Enfoques de
interrupciones
múltiples
Por prioridades: Definir prioridades para
las interrupciones y permitir la
interrupción entre interrupciones.

NO

Ciclo de Lectura Ciclo de Ejecución Int.


BEGIN (Fetch) (Execute) Enabled
?

SI

Comprobación de
Interrupción del
Proceso.

Clasificación de las Instrucciones:

1. Procesador ~ Memoria: Transferencia.


2
Resumen de SO – 2006 ( by Noky & Raynor )

2. Procesador ~ E/S: Transferencia.


3. Tratamiento de Datos: Operación aritmética o lógica.
4. Control: Alterar la secuencia de ejecución.

Jerarquía de Memoria

Soluciona el dilema de utilizar tecnología de memoria de gran capacidad pero con


tiempos de acceso mayores vs memorias rápidas pero costosas si son de mucha capacidad.

Memoria
Interna - Costo del Bit
+ Capacidad
- Velocidad de Acceso.
Memoria - Frecuencia de Acceso
Externa por parte del procesador.

Almacenamiento
Secundario

Principio de Cercanía de Referencia: En la ejecución de un programa las referencias a


memoria por parte del procesador tienden a estar agrupadas durante un período corto de
tiempo.
Principio de Cercanía Temporal: Es la tendencia del procesador a acceder a posiciones de
memoria que ya han sido utilizadas anteriormente.

CACHÉ

Memoria Principal

CACHE
CPU

Transferencia de Transferencia de
palabras bloques

o Es invisible para el SO.


o Contiene una copia de la Memoria Principal, se deben aplicar técnicas de actualización
de los datos a la Memoria Principal si fuese necesario (Políticas de Escritura).

Ejemplo:

3
Resumen de SO – 2006 ( by Noky & Raynor )

CACHÉ MEMORIA PRINCIPAL


Cantidad de Sección: C Longitud de palabra: n bits
Longitud de Sección: K palabras + 1 etiqueta Cantidad de palabras direccionables: 2n
que identifica al bloque
Longitud de bloque: K palabras
Cantidad de bloques: 2n/K = B

0
CACHÉ 0
MEMORIA PRINCIPAL

c-1

B>C

2n-1

Diseño de la CACHÉ:

o Tamaño de Caché: + Tamaño => (+ Tasa de Aciertos ^ + Costo)


o Tamaño de Bloque: Hay que equilibrar o se desaprovecha el principio de referencia.
o Función de Traducción (mapping): Determina la posición de la Caché que ocupará el
bloque.
o Algoritmo de Reemplazo: Elige el bloque a reemplazar. Debe ser el que tenga menor
probabilidad de ser usado en el futuro.

Técnicas de Comunicación con dispositivos de E/S

E/S PROGRAMADA E/S POR INTERRUPCIONES DMA

Emitir orden LEER Emitir orden LEER Emitir orden LEER


(CPU ~ E/S) (CPU ~ E/S) (CPU ~ E/S)

Hacer Otra cosa Hacer Otra cosa


Leer estado (E/S ~ CPU) Leer estado (E/S ~ CPU)
Leer estado de módulo
Interrupción DMA
Interrupción
NO Esta Error Esta Error
do do Next
OK OK

SI SI
Leer Palabra (E/S ~ CPU) Leer Palabra (E/S ~ CPU)

Escribir Palabra Escribir Palabra

NO NO
OK OK
Next Next

4
Resumen de SO – 2006 ( by Noky & Raynor )

CAPITULO II: “Introducción a los SO”


Definición de SO: Programa que controla ejecución de los programas de aplicación y actúa como interfaz entre las aplicaciones del usuario y el
Hardware de la computadora.

Comodidad: Hace que


Proceso una computadora sea
en Serie más fácil de utilizar.

Proceso
por Lotes Eficiencia: Hace que
SISTEMA los recursos de un
Evolució Objetivo
OPERATIVO Sistema Informático
n s
se utilicen mejor.
Proceso por lotes con
multiprogramación

Logros
Principales Capacidad de Evolución:
Tiempo Permite el desarrollo
Compartido efectivo, la verificación y la
introducción de nuevas
funciones sin interferir en
los servicios que brinda.

Estructura
del Sistema
Gestión de
Planificació Memoria
Los
n y gestión Seguridad y Procesos
de recursos protección de
Información

5
Resumen de SO – 2006 ( by Noky & Raynor )

Objetivos de un SO

 SO como interfaz Usuario / Computadora: Servicios que ofrece (Comodidad):


o Creación de Programas: Ofrece múltiples funcionalidades y
servicios para ayudar al programador en la creación de
programas en general estos servicios son programas de utilidad
que no forman parte del SO pero se acceden a través de él.
o Ejecución de Programas: El SO administra la preparación de los
recursos para la ejecución de un programa.
o Acceso a los dispositivos de E/S: El SO oculta al programador las
particularidades de los dispositivos de E/S, de este modo se los
utiliza como lecturas y escrituras simples.
o Acceso controlado a los archivos: El SO oculta las estructuras de
los datos en los archivos y en el medio de almacenamiento.
Protege los archivos en un ambiente multiusuario.
o Detección y respuesta a errores: El SO da una respuesta a
errores eliminando la condición de error con el menor impaco
posible sobre las aplicaciones.
o Contabilidad: Recoge estadísticas de utilización de recursos y
supervisa ciertos parámetros de rendimiento.
 SO como administrador de recursos: Servicios que ofrece (Facilidad):
o Control de funciones básicas de la computadora: Para lograr
esto, administra los recursos.
o Dirige al procesador en el empleo de otros recursos del sistema
o Controla el tiempo de ejecución de otros programas: Para ello
cesa su ejecución y ejecuta otros programas.
o Aspectos no habituales como mecanismos de control: El SO
funciona de la misma manera que cualquier otro Software y
abandona el control del procesador y depende de él para
recuperarlo.
 Facilidad de evolución de un SO: Razones de evolución:
o Actualizaciones del Hardware y nuevos tipos de Hardware: El
SO debe ser capaz de soportarlos.
o Nuevos Servicios: En respuesta a las demandas del usuario o
necesidades de los administradores del Sistema.
o Correciones: Soluciones a fallas descubiertas con el curso del
tiempo.

Evolución de un SO

 Proceso en Serie
o El programador interactuaba directamente con el Hardware, no
había SO.
o Problemas principales:
 Planificación: El usuario reservaba un tiempo para
utilizar la máquina que no era el necesario.
 Tiempo de preparación: El usuario realizaba un proceso
de preparación que al producirse un error debía volver a
realizar.

 Proceso por Lotes


o El usuario entregaba su trabajo al operador de la
computadora. Éste los agrupaba secuencialmente en lotes y
los ejecutaba mediante un elemento de Software llamado
MONITOR.
o MONITOR
 Controla la secuencia de Sucesos: lee uno a uno los
trabajos y les pasa el control que es devuelto cuando
termina el procesamiento.
6
Resumen de SO – 2006 ( by Noky & Raynor )

 Gran parte siempre está en memoria principal y


disponible para su ejecución: monitor residente
 También posee utilidades y funciones comunes que se
cargan cuando se las necesita.
 Características necesarias
- Protección de memoria: El programa de usuario
no debe modificar la zona de memoria del
monitor.
- Temporizador: Al expirarse cierto tiempo de
ejecución de un programa de usuario, se
produce una interrupción y el control vuelve al
monitor.
- Instrucciones privilegiadas: Ciertas instrucciones
de máquina se consideran privilegiadas y solo las
ejecuta el monitor. Un programa de usuario debe
solicitárselo al Monitor.
- Interrupciones: Aporta mayor flexibilidad para
ceder y retomar el control de los programas de
usuario.

 Sistema por Lotes con multiprogramación


o Se ejecutan más de un programa concurrentemente y se
intercambian cuando uno pide un servicio de E/S.
o Objetivo principal: Maximizar la utilización del procesador.
o Origen de las instrucciones: Instrucciones de un lenguaje de
control de trabajos incluidas en el trabajo.
o Características necesarias:
 E/S por Interrupciones y DMA: El procesador envía una
orden de E/S para un trabajo y continúa con la
ejecución de otro. Cuando termina la operación de E/S
el procesador debe ser interrumpido.
 Gestión de Memoria: Para tener varios trabajos listos
para ejecutarse.
 Algoritmo de planificación: Para decidir que trabajo
ejecutar.
 Sistemas de tiempo compartido
o Múltiples usuarios acceden simultáneamente al sistema por
medio de terminales y el SO intercala su ejecución en ráfagas
cortas.
o Objetivo principal: minimizar el tiempo de respuesta.
o Origen de las instrucciones: órdenes dadas por un terminal.
o Características necesarias:
 Protección de la memoria entre programas.
 Protección del disco entre programas.
 Controlar la disputa por los recursos.
 Protección de usuarios no deseados
o Características:
 Cada usuario dispone en promedio 1/n de la velocidad
de la computadora. Donde n es la cantidad de usuarios.
 El tiempo de respuesta debería ser comparable al de
una computadora dedicada.

7
Resumen de SO – 2006 ( by Noky & Raynor )

Los procesos

Definición básica de Proceso: zUn programa en ejecución, con un estado actual asociado a un conjunto de recursos.

Sincronización Incorrecta: Perdida de señales


o recepción de señales duplicadas por un
diseño incorrecto (esto afectaría el aviso de
finalización de E/S por ej)

Fallos de exclusión mutua: Sólo una rutina


El concepto ayuda puede realizar una transacción al mismo
Proceso tiempo sobre una determinada parte de los
a controlas errores
datos.

Componentes Funcionamiento no determinista del


programa: El orden en que se organiza la
ejecución de varios programas puede influir
en los resultados de un programa en
Programa particular.
Datos asociados ejecutable
al programa (código)
(variables, DEAD-LOCK: 2 o más programas suspendidos
espacio de a la espera uno del otro.
trabajo, Buffer,
etc) Contexto de ejecución (toda
la información que el SO
necesita para administrar al
proceso y el procesador para
ejecutarlo)
8
Resumen de SO – 2006 ( by Noky & Raynor )

Gestión de Memoria

Aislamiento del Proceso: Cada proceso independiente no


debe interferir en los datos y la memoria de ningún dato.

Responsabilidade
s del SO Asignación y Gestión automática: A los programas se les
debe asignar memoria dinámicamente según las vayan
necesitando.

Gestión de
Memoria
Soporte para la programación modular: Los
programadores deben ser capaces de definir módulos de
programa y de crear, destruir y alterar el tamaño de los
módulos dinámicamente.
Se solucionan
mediante
Protección y Control de Acceso: El SO debe permitir que
las secciones de memoria estén accesibles de diferentes
Virtual Memory: Servicio maneras para los diversos usuarios.
que permite a los programas
direccional la memoria
desde un punto de vista Almacenamiento a Largo Plazo: Muchos programas
lógico. requieren almacenar información después de apagar la
computadora.

FileSystem: Incorpora
un almacenamiento a Paginación: Divide los
largo plazo en el que se procesos en bloques de tamaño
almacena la información fijo (páginas) y proporciona
en archivos. una traducción dinámica entre
la dirección virtual y la real.

9
Resumen de SO – 2006 ( by Noky & Raynor )

Planificación y Gestión de Recursos

Equidad: Otorgar accesos a recursos de forma igual


y equitativa entre trabajos con demandas similares.

Sensibilidades Diferenciales: Discriminar


dinámicamente entre trabajos con demandas diferentes
Factores a para satisfacer la totalidad de sus requerimientos.
tener en cuenta

Eficiencia: Maximizar la productividad, minimizar


el tiempo de respuesta y alojar a tantos usuarios
como sea posible (tiempo compartido).
Planificación y
gestión de Recursos

Cola a corto plazo: Procesos que están


en memoria principal, listos para
Elementos ejecutarse.
Principales
Cola a largo plazo: Procesos nuevos
que esperan para usar el procesador.
Cola de E/S: Cada dispositivo
de E/S tiene una cola donde
se alojan los procesos que Dispatcher: Planificador a corto plazo, escoge el
están esperando para siguiente proceso que va a utilizar el procesador.
utilizarlo.

Gestor de Peticiones de
Servicio: Maneja las Gestor de Interrupciones: Maneja
peticiones de los procesos las interrupciones de los procesos
y luego llama a Dispatcher. y de los dispositivos de E/S y
luego llama a Dispatcher.
10
Resumen de SO – 2006 ( by Noky & Raynor )

Seguridad y Protección de la Información

Control de Acceso: Regulación del acceso del


usuario al sistema y de los recursos.

Seguridad y Protección
de la Información
Control del Flujo de Información: Regulación del
flujo de datos dentro del sistema y su distribución a
los usuarios.

Certificación: Relativo a la demostración de que el acceso y el


flujo de información se llevan a cabo de acuerdo con las
especificaciones y que éstas cumplen las políticas de
protección y seguridad deseadas.

11
Resumen de SO – 2006 ( by Noky & Raynor )

Características de los SO modernos

 Arquitectura del Núcleo


o Núcleo monolítico: Un único proceso que centraliza con cantidad de
funcionalidades y que sus componentes comparten el mismo espacio de
direcciones.
o Micronúcleo:
 Asigna unas pocas funciones esenciales al núcleo.
 Otros servicios del SO las proporcionan procesos que se ejecutan en
modo usuario y son tratados como cualquier otra aplicación.
 Se adapta bien a sistemas distribuidos
 MultiThreads: Técnica por la cual un proceso se divide en threads que pueden
ejecutarse concurrentemente.
o Proceso: Conjunto de 1 o más threads y los recursos del sistema asociados.
o Thread: Unidad de trabajo que se puede ejecutar. Incluye un contexto del
procesador y sus propias áreas de datos para una pila.
 Multiprocesamiento simétrico (SMP)
o Características
 Existen múltiples procesadores.
 Estos procesadores comparten la misma memoria principal y
dispositivos de E/S.
 Estos procesadores pueden ejecutar las mismas funciones.
o Ventajas
 Rendimiento: Se ejecuta más de un proceso en paralelo.
 Disponibilidad: El fallo de un procesador no detiene la máquina, se
puede continuar con un rendimiento reducido
 Crecimiento Incremental: Se puede aumentar el rendimiento al
agregar más procesadores.
 Escalabilidad: Los conductores pueden ofrecer una variedad de
productos con diferentes precios y rendimientos.
 SO Distribuido: Proporciona la ilusión de un único espacio de memoria principal y
secundaria, además de otros mecanismos de acceso unificados para un conjunto de
entidades (computadoras).
 Diseño Orientado a Objetos: Impone una disciplina para añadir extensiones a un
pequeño núcleo.

12
Resumen de SO – 2006 ( by Noky & Raynor )

CAPITULO III: “Descripción y Control de Procesos”


La inclusión de estados en los procesos permite modelar sus comportamientos e guíar al
procesador hacía una correcta implementación del sistema conjuntamente, minimizando sus
tiempos de ocio y maximizando el tiempo de respuesta del sistema.

Nuevo
Admitir
MODELO DE 7 ESTADOS
Admitir Suspender

Activar Expedir
Salir
Listo y Listo Ejecución Terminado
Suspendido
Suspender Timeout
Ocurre
Suceso
Activar Esperar Suceso

Bloqueado y Bloqueado
suspendido
Suspender

 Listo: El proceso está listo para la ejecución.


 Bloqueado: El proceso está esperando un suceso.
 Suspendido: El proceso está en memoria secundaria
 Listo y Suspendido: El proceso está en memoria principal.

 Nuevo -> Listo y Suspendido, Nuevo -> Listo: Cuando se crea un proceso, se lo
pasa a estado Listo. Si no hay suficiente memoria principal, se lo puede pasar a Listo y
suspendido directamente (generalmente esta es la que se utiliza, Just Time).
 Bloqueado -> Bloqueado y Suspendido: Un proceso que está en memoria principal
se pasa a suspendido para dar espacio a otro que se pueda ejecutar y no esté
bloqueado.
 Bloqueado y Suspendido -> Listo y Suspendido: Cuando se produce el suceso que
estaba esperando.
 Listo y Suspendido -> Listo: Cuando no hay procesos listos en memoria principal, el
SO tiene que taer alguno para que se pueda ejecutar.
 Listo -> Listo y Suspendido: Puede optar por esta opción, por prioridades o porque
supone que un proceso que está en estado Bloqueado se desbloqueará rápidamente.
 Bloqueado y Suspendido -> Bloqueado: Igual condición anterior.
 Listo -> Ejecución: El dispatcher lo escogió así.
 Ejecución -> Listo: Timeout, System Call, etc.
 Ejecución -> Listo y Suspendido: Por timeout y hay un proceso en suspendido que
posee mayor prioridad como para estar en Listo.

Tablas que sirven para tener información


sobre el estado actual de cada proceso y
de cada recurso.
Descripción de
Proceso: Estructuras Memoria: Controlan la memoria
de Control del SO principal y secundaria.

Categorías E/S: Controlan los dispositivos y los


canales de E/S

Archivos: Controlan información


relacionada con los archivos. Procesos: Los administra y controla.

13
Resumen de SO – 2006 ( by Noky & Raynor )

Estructuras de Control de Procesos

Datos de Usuario: La parte


modificable por el usuario.
Imagen de un
Proceso
Bloque de Control de
Proceso: Informe necesaria
para que el SO controle al
Programa de Usuario:
proceso.
Código a ejecutar.
Un error en una
rutina puede dañarlos.

Depende del esquema Problemas


Un cambio de su diseño
Estructuras de gestión de memoria de
afecta a módulos del SO.
de Control de utilizado. Protección
Procesos

Ubicación
de los SOLUCION: Rutina de gestión
Procesos. que los protege ya que ella
Deben mostrar la ubicación de solamente los lee o escribe.
Atributos de cada segmento o página de
los cada imagen de proceso, ya sea
Procesos. en memoria principal o
Información secundaria.
del Estado del
procesador
Identificador
(PID)
Información de
Control del
Proceso

14
Resumen de SO – 2006 ( by Noky & Raynor )

Atributos de los procesos

 Identificador (PID)
o Identificador numérico del proceso.
o Identificador numérico del proceso padre.
o Identificador del usuario.
 Información del estado del procesador
o Sirve para guardar la información de los registros del procesador cuando se
interrumpe al proceso.
o Registros del procesador (Visibles del Usuario, De Control y Estado y Puntero de
la Pila).
 Información de Control del Proceso
o Planificación y Estado: Información necesaria para la planificación del SO.
o Elementos típicos.
 Estado de Proceso: alguno del modelo de estados.
 Prioridad
 Información de planificación: depende del algoritmo de planificación.
 Suceso: identidad de un suceso que se está esperando para reanudar la
ejecución.
o Estructuración de datos: Enlace con otros procesos en un tipo de estructura
(cola, anillo, etc).
o Comunicación entre Procesos: información de comunicación almacenada.
o Privilegios de los Procesos: Memoria, instrucciones, servicios y utilidades que
puede utilizar.
o Gestión de Memoria: Punteros que indican la memoria virtual asignada.
o Propiedad de los recursos y utilización: Indica los recursos controlados.
También puede incluir un historial.

Control de Procesos

 Modos de Ejecución: Al ejecutarse una interrupción o un System Call se cambia a modo


Kernel. Al finalizarse se cambia a modo Usuario.
o Motivo: Proteger al SO y a sus tablas de los programas de usuario.
o Tipos
 Modo Usuario: no ejecuta ciertas instrucciones privilegiadas
 Modo Kernel: Control completo del procesador, ejecuta todo tipo de
instrucciones.
o El procesador sabe en que modo ejecutar mediante el registro PSW.
 Pasos en la creación de un proceso:
1. Asignar ID al Proceso (PID).
2. Asignar espacio para el proceso.
3. Iniciar el bloque de control de proceso.
4. Establecer los enlaces apropiados.
5. Crear o ampliar otra estructura de datos.
 Cambio de Proceso: Motivos
o Interrupciones
 Origen de la causa: externa a la ejecución de la instrucción en curso.
 Uso: Reacción a un suceso asincrónico externo.
o Trap (cepo)
 Origen de la causa: asociada a la ejecución de la instrucción en curso.
 Uso: Tratamiento de un error o una condición excepcional.
o System Call
 Origen de la causa: Solicitud explicita.
 Uso: Llamada a una función del SO.
 Cambio de Estado de Proceso

Salvar el Contexto
del Procesador.
Actualizar el bloque de
control de Proceso que
Mover el bloque
de control a la
Seleccionar otro
proceso para su
Actualizar el bloque de
control del proceso
estaba en ejecución. cola apropiada. ejecución seleccionado

Restaurar el Contexto del procesador Actualizar las


al estado en que estaba para este estructuras de datos de
proceso. la gestión de memoria.
15
Resumen de SO – 2006 ( by Noky & Raynor )

 Ejecución del SO
o Características
- El SO funciona de la misma forma que un Software
corriente.
- El SO abandona el control y depende del procesador para
recuperarlo.
o Enfoques
 Núcleo fuera de todo proceso: El concepto de proceso se aplica solo a los
programas de usuario. El código del SO se ejecuta como una entidad
separada en modo privilegiado.
P1 P2 P3 Pn-1 Pn

NÚCLEO

 Ejecución dentro de los procesos de usuario: Casi todo el Software del SO


es ejecutado en el contexto de un proceso de usuario.
- Las imágenes de los procesos incluyen zonas de programa,
datos y de pila para los programas de Kernel.
- Hay una pequeña cantidad de código de cambio de proceso
que se ejecuta fuera de todo proceso.
- Al suceder una interrupción o System Call solamente se
realiza un cambio de modo, ahorrando 2 cambios de
proceso.

P1 P2 P3 Pn-1 Pn

SO SO SO SO SO

FUNCIONES DE CAMBIO DE PROCESO

 Sistema operativo basado en Procesos:


- El SO es una colección de procesos del sistema.
- Las funciones más importantes se organizan en procesos
separados.
- Impone una norma de diseño modular de programas con
interfaces mínimas y claras.
- Es útil en entorno de multiprocesador o de varios
computadoras.

P1 P2 Pn SO1 SOn

FUNCIONES DE CAMBIO DE PROCESO

16
Resumen de SO – 2006 ( by Noky & Raynor )

CAPITULO IV: “Hilos, SMP y Micronúcleos”


Comunicación con
otros procesos.
Un espacio de direcciones
virtuales.

Proceso: Unidad de
propiedad de recursos. Acceso protegido a
los procesadores.
Archivo y
recursos de
E/S.
Proceso e
Hilos
Estado de
ejecución.
Contexto del
Procesador.

Toma menos Thread: Unidad de Puede acceder a memoria


tiempo y recursos del Proceso.
expedición.
borrarlos.

Almacenamiento
Ventajas estático de variables
Toma menos Pila de locales.
tiempo ejecución.
crearlos.
Trabajo interactivo
Simplifican la estructura y en segundo plano.
de un programa de
Toma menos diferentes funciones.
tiempo hacer
Ejemplos de
un Context Procesamiento
Uso
Switch. asincrono.
Pueden comunicarse entre si
sin invocar al kernel ya que
comparten memoria y
archivo. Aceleración de Estructuración modular de
la ejecución. los programas
17
Resumen de SO – 2006 ( by Noky & Raynor )

Tipos de Threads

 User Lever Thread (ULT):


o Características
 La gestión de estos threads se hace en la aplicación, el kernel no es
consciente de la existencia de estos threads.
 Se utiliza una biblioteca para: crear, borrar, comunicar, planificar y
manejar el contexto de los threads.
 La biblioteca se ejecuta en el espacio de usuario y dentro del proceso.
 Si en un thread se produce un System Call o un Timeout, este thread
queda en estado de ejecución pero el proceso que lo contiene pasa al
estado bloqueado.
o Ventajas
 El intercambio de threads evita 2 cambios de modo ya que no necesita
los privilegios del kernel.
 Se puede realizar una planificación específica sobre la aplicación.
 Se pueden ejecutar en cualquier SO, sin cambiar al kernel teniendo la
biblioteca necesaria.
o Desventajas
 La mayoría de System Calls son bloqueantes y esto bloquea a todo el
proceso.
 No aprovecha las ventajas de los multiprocesadores, ya que el SO no
puede planificar a estos Threads.
o Formas de Evitar los problemas
 Jacketing: Convierte un System Call bloqueante en uno no-bloqueante
para el proceso. En lugar de realizar un System Call directo, se llama a
una rutina de gestión que se fija si está ocupado el recurso de E/S, si es
así entonces pasa el thread al estado Listo y cede el control a otro
thread. Si el anterior thread recibe de nuevo el control, verifica si se
desocupó el recurso.
 Kernel Level Thread (KLT):
o Características
 Lo implementan W2k, Linux, OS/2, entre otros.
 La gestión de hilos la hace el Kernel.
 En el área de la aplicación hay una API para las funciones de gestión.
 El Kernel mantiene la información de contexto del proceso como un todo
y la de cada thread dentro del proceso.
 El Kernel realiza la planificación en función de los threads.
o Ventajas: Soluciona las desventajas de ULT.
o Desventajas: Las ventajas de ULT negadas.
 Combinadas (ULT + KLT):
o Características
 Lo implementa Solaris
 La gestión de threads se realiza por completo en el espacio de usuario.
 Múltiples ULT se asocian con varios KLT (de menor o igual número).
 El programador adapta la cantidad de KLT.

User
Kernel

P P P P

ULT KLT ULT + KLT

18
Resumen de SO – 2006 ( by Noky & Raynor )

Otras Estructuras

 1 Proceso ~ 1 Thread: Cada thread de ejecución es un único proceso con sus propios
recursos y espacio de direcciones. Lo implementa el viejo UNIX.
 1 Proceso ~ N Threads: Un proceso define un espacio de direcciones y unos recursos
dinámicos propios. Pueden crearse varios threads que ejecutan en dicho proceso. Lo
implementa Win NT, Solaris, Linux, OS/2, OS/390, Mach, entre otros.
 N Procesos ~ 1 Thread: Un Thread puede emigrar del entorno de un proceso a otro.
Esto permite que un thread se pueda mover facilmente entre sistemas distintos. Lo
implementa Clouds, Esmerald, entre otros.
 M Procesos ~ N Threads: Combina los atributos de los casos 1:N y N:1. Lo implementa
TRIX.

Multiprocesamiento

Categorías

 SISD: 1 Procesador ejecuta 1 Flujo de instrucciones para operar en 1 secuencia de


datos.
 SIMD: N Procesadores ejecutan 1 Flujo de instrucciones para P secuencia de datos.
 MISD: N Procesadores ejecutan M Flujo de instrucciones para 1 secuencia de datos.
 MIMD: N Procesadores ejecutan simultaneamente M Flujo de instrucciones sobre P
secuencias de datos.

Memoria compartida (fuertemente


acoplados): Se comunican mediante la
memoria

Clasificación según
la comunicación
entre procesadores

Memoria distribuida (débilmente


acoplados): Se comunican mediante
líneas dedicadas o algún tipo de red.
Son las agrupaciones.
MIMD

Master/Slave
Clasificación según la
asignación de procesos
a los procesadores.
SMP

19
Resumen de SO – 2006 ( by Noky & Raynor )

Master/Slave

El núcleo del SO siempre se


ejecuta en un procesador
determinado.

El resto de procesadores
Característica
ejecutan programas de
s
usuario y utilidades del SO.

El Master
planifica.

Necesita menos
Master/Slave modificaciones sobre
Ventajas
un SO
monoprocesador
multiprogramado.

Un fallo en el
Desventajas Master puede
producir una caída
del sistema.

El Master puede ser


un cuello de botella.

20
Resumen de SO – 2006 ( by Noky & Raynor )

SMP También pueden


intercambiar
señales
directamente. El núcleo se ejecuta en
cualquier procesador.

Cada Procesador
Características se autoplanifica.

El usuario ve al
sistema como si fuera
un monoprocesador
multiporogramado.
SMP Las desventajas del
Master/Slave
Ventajas negadas.

Si no se aplica alguna
técnica, se pierde la
Desventajas coherencia de cachés.
El SO es más
complejo.

Sincronización: hay que


sincronizar el acceso a
Gestión de Memoria: hay recursos y posiciones de
que coordinar los Cuestiones de memoria compartidas.
mecanismos de Diseño
paginación de los Fiabilidad y tolerancia a
diferentes procesadores. fallos: Se deben reestructurar
las tablas de gestión en
función del mismo.
Planificación: hay que tener
Procesos o Threads
cuidado en la planificación, ya
concurrentes: es necesario que
que se pueden realizar desde
las funciones del Kernel sean
distintos procesadores. Se
reentrantes para permitir el
pueden planificar muchos
paralelismo entre
threads del mismo proceso.
procesadores. 21
Resumen de SO – 2006 ( by Noky & Raynor )

Ventajas de un MicroKernel

Uniformidad de interfaces: Los


servicios se utilizan mediante
paso de mensajes esto impone
una interfaz uniforme.
Extensibilidad: Facilita la
extensibilidad ya que sólo es
necesario modificar o añadir
los servicios implicados.

Portabilidad: Los cambios


necesarios para portar un
SO a un nuevo procesador
(no intel) son menores.
Ventajas de
un
MicroKernel
Flexibilidad: Se pueden añadir o
reducir características del SO.

Fiabilidad: Se puede
probar de un modo más
riguroso.

Soporte para
Soporte a sistemas Sistemas Operativos
distribuidos: Un proceso puede Orientados a Objetos
enviar un mensaje sin saber en (OOOS)
que máquina reside el
destinatario.
22
Resumen de SO – 2006 ( by Noky & Raynor )

Rendimiento de MicroKernels

o La desventaja potencial es que consume tiempo la comunicación a través del microkernel respecto a un simple SystemCall.
o Las experiencias indican que más allá de la desventaja el rendimiento es igual o mayor a un sistema por capas.

Mach incorporó la idea de tener al


Paginador como proceso aparte.

Gestión de Memoria Cesión: un proceso puede ceder varias de sus páginas a


a Bajo Nivel otro proceso, el Kernel se encarga de reasignarlas.

Asociación: Se puede compartir memoria entre los procesos.

Rellenado: un proceso puede reclamar


cualquier página concedida o asociada a Header: PID origen
otro. y PID destino.
Los procesos se
Diseño de
comunican mediante
MicroKernel
mensajes
Comunicación entre Body: Puntero a un
Procesos bloque de datos, datos
y información de
Si los procesos no control.
comparten memoria
Gestión de implica copiar el mensaje
interrupciones y E/S en la memoria.

El microkernel puede reconocer interrupciones,


convertirlas en mensajes pero no gestionarlas,
las gestiona el proceso receptor del mensaje.
23
Resumen de SO – 2006 ( by Noky & Raynor )

CAPITULO V: “Concurrencia: exclusión mutua y sincronización”

24

También podría gustarte