Sie sind auf Seite 1von 44

SISTEMAS OPERATIVOS

CURSO 07/08

Amalia Falcón Docampo


Despacho:B-6a
Tutorías: Martes y Miércoles 12h-14h
Jueves 11h-13h
INDICE
„ Tema 1. Introducción a los Sistemas
Operativos
„ Definición de Sistema Operativo (S.O.)
„ Procesos

„ Clasificación de los Sistemas Operativos

„ Arquitectura de un Sistema Operativo

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 2


INDICE (2)
„ Tema 2. Gestión de la CPU
„ Conceptos de Multiprogramación
„ Conceptos de Planificación. Colas de
procesos
„ Algoritmos de planificación

„ Evaluación de Algoritmos

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 3


INDICE (3)
„ Tema 3. Concurrencia de Procesos
„ Conceptos de concurrencia, paralelismo y
tiempo real
„ Grafos de precedencia. Sentencia fork y join.
Sentencias cobegin y coend
„ Relaciones jerárquicas de procesos
„ Condiciones de concurrencia
„ Concepto de sección crítica
„ Ejemplos clásicos de Sincronización de
Procesos
„ Semáforos. Aplicaciones
©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 4
INDICE (4)
„ Tema 4. Programación concurrente
„ Regiones críticas. Regiones críticas
condicionales
„ Monitores
„ Introducción a los lenguajes
concurrentes

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 5


Tema 1
„ Definición de Sistema Operativo (S.O.)
„ Procesos

„ Clasificación de los Sistemas Operativos

„ Arquitectura de un Sistema Operativo

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 6


¿Qué es un S.O.?
„ Conjunto de programas de un sistema de
computación que controla los recursos del
equipo (procesadores, memoria, dispositivos
de E/S y ficheros) con el fin de:

1. Simplificar el uso del sistema


2. Resolver conflictos del sistema
3. Optimizar el rendimiento del sistema

Nota: Los módulos orientados a las aplicaciones NO forman parte


del sistema operativo.

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 7


1. Simplificar el uso del sistema
„ El S.O. crea una máquina virtual con la
que resulta más sencillo trabajar

SO

HW

Máquina virtual

“Oculta” el HW al usuario
©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 8
2. Resolver conflictos del sistema
„ Resolución de conflictos en el uso de los
distintos recursos de la máquina

Ejemplos:
• Varios usuarios quieren imprimir a la vez
• Uso de la CPU
• Uso de la memoria
• ...

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 9


3. Optimizar el rendimiento del sistema

„ Intentaremos sacar el mayor


rendimiento posible a la máquina

Supondremos para el diseño del S.O.:


„ HW relativamente potente
„ Sistema multiusuario y multitarea

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 10


Tema 1
„ Definición de Sistema Operativo (S.O.)
„ Procesos

„ Clasificación de los Sistemas Operativos

„ Arquitectura de un Sistema Operativo

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 11


Procesos
„ Concepto de proceso
„ Bloque de control de proceso

„ Estados de un proceso

„ Relaciones entre procesos

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 12


Concepto de proceso
„ Un programa en ejecución
„ El “espíritu animado de un programa”
„ La unidad planificable
„ La zona de control de un procedimiento en
ejecución
„ La entidad a la que se asocian los
procesadores
„ Una entidad asíncrona
„ Una estructura de control + una estructura de
datos asociados dinámicamente a una máquina
„ ....

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 13


Bloque de Control de Procesos (PCB)
„ Estructura de datos que contiene información sobre el proceso
„ Manifestación para el SO de que existe un proceso

PCB Estado actual del proceso


Identificador
Contador del programa
Registros

Límites de memoria
Lista de ficheros abiertos
...

al sig. PCB

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 14


Estados de un proceso
2

1
Pre pa ra do Eje c uc ion Comple ta do

4 3
Ac e pta do Espe ra

Entre g a do

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 15


Relaciones entre procesos
Los procesos poseen 2 tipos de relaciones:

„ Relación jerárquica
„ Relación de compartición de recursos entre
procesos

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 16


Relación jerárquica
„ Un proceso puede crear varios procesos
nuevos
„ El proceso creador se denomina proceso
padre, y los procesos que ha creado son sus
hijos

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 17


Procesos. ¿Qué comparten?

PCB SECUENCIA DE
INSTRUCCIONES

SEGMENTO
DECODIGO
SEGMENTO ESTRUCTURAS DEDATOS
DEDATOS
ENTORNO
MAQUINA

DISPOSITIVOS DE E/S
REGISTROS PUNTEROS A FICHEROS
CODIGOS DE ESTADO,....

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 18


Relación de compartición de recursos
entre procesos
„ Procesos concurrentes independientes

CODIGO CODIGO

P1 P2
DATOS DATOS

ENTORNO
MAQUINA

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 19


Relación de compartición de recursos
entre procesos
„ Procesos concurrentes comunicándose

CODIGO CODIGO

P1 DATOS
P2
DATOS

ENTORNO
MAQUINA

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 20


Relación de compartición de recursos
entre procesos
„ Procesos concurrentes independientes
compartiendo código

CODIGO (REENTRANTE)

P1 P2
DATOS DATOS

ENTORNO
MAQUINA

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 21


Relación de compartición de recursos
entre procesos
„ Multiprocesadores fuertemente
acoplados
ESPACIO DIRECCIONAMIENTO COMUN

CODIGO CODIGO

P1 DATOS 1
P2
DATOS 2

MAQUINA A

RED
MAQUINA B

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 22


Relación de compartición de recursos
entre procesos
„ Multiprocesadores débilmente acoplados

CODIGO CODIGO

P1 P2
DATOS DATOS

MAQUINA A

RED
MAQUINA B

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 23


Tema 1
„ Definición de Sistema Operativo (S.O.)
„ Procesos

„ Clasificación de los Sistemas Operativos

„ Arquitectura de un Sistema Operativo

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 24


Clasificación de los SSOO
„ Dependiendo del número de usuarios
que puedan explotar el sistema:
„ Monousuario: Sólo puede trabajar un
usuario con el ordenador. Disponibles todos
los recursos del sistema para él.
„ Multiusuario: Varios usuarios pueden
ejecutar procesos distintos y compartir el uso
de los recursos existentes en el sistema de
forma simultánea

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 25


Clasificación de los SSOO (2)
„ Dependiendo del número de procesos
que puedan ejecutarse simultáneamente
en el sistema:
„ Monoprogramación o monotarea: Sólo
puede ejecutarse un proceso y hasta que éste
no finalice no puede iniciarse el siguiente.
(explotación secuencial)
„ Multiprogramación o multitarea: Se
pueden ejecutar varios procesos
simultáneamente. Compartirán el tiempo de
uso del procesador

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 26


Clasificación de los SSOO (3)
„ Dependiendo del número de
procesadores instalados en un mismo
ordenador:
„ Monoproceso: Se ha instalado un único
procesador
„ Multiproceso: Se han instalado varios
procesadores bajo un mismo ordenador

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 27


Clasificación de los SSOO (4)
„ Dependiendo del tiempo de respuesta que se
tarde en obtener el resultado de un proceso
ejecutado:
„ Procesos BATCH (o por lotes): Dirigidos a resolver
problemas sin restricciones temporales. Maximizan el
uso de la CPU.
„ Tiempo real: Dirigidos a obtener resultados dentro de
límites temporales:
• S.t.r. críticos: Siempre deben cumplirse los plazos de
finalización (ej.: aplicaciones industriales,...)
• S.t.r. no críticos: No se garantiza el cumplimienteo de
los plazos al 100% (ej.: multimedia,...)

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 28


Clasificación de los SSOO (5)

„ Tiempo compartido: Diseñados para dar a cada


usuario la impresión de disponer de la CPU para el sólo.
La CPU reparte su tiempo entre los distintos procesos.
Se consiguen tiempos de respuesta cortos
„ Multipropósito: Hacen un poco de todo, sin estar
especializados en ninguno

Multiusuario Multipropósito

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 29


Tema 1
„ Definición de Sistema Operativo (S.O.)
„ Procesos

„ Clasificación de los Sistemas Operativos

„ Arquitectura de un Sistema Operativo

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 30


Arquitectura de un S.O.
„ El SO oculta las características HW al
usuario
Usua rio de a plic a c ión
Usuario
Programa dor de a plic ac ión
APLICACION
SO
HW

„ Buscamos la frontera entre S.O. y


aplicaciones de usuario
©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 31
Arquitectura de un S.O.
„ Un S.O. debe ofrecer servicios a los 2
grupos de usuarios
„ Enfoques de implementación:
„ Monitor monolítico
„ Kernel

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 32


Arquitectura de un S.O.
„ Enfoque monitor monolítico
„ La arquitectura más simple para un S.O.
„ Todas las comunicaciones entre procesos y dispositivos
pasan a través de un S.O. ininterrumplible

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 33


Arquitectura de un S.O.
„ Enfoque kernel
„ Se eliminan funciones del monitor monolítico y se
ponen en procesos del sistemas
„ Los procesos son interrumpibles y todas las
insterrupcioens son manejadas por un núcleo mínimo
transparente a los usuarios.
„ El S.O. Se encargará de las comunicaciones entre los
procesos de usuario y los procesos del sistema
(los procesos de sistema se ejecutan en modo
supervisor)

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 34


Arquitectura de un S.O.
„ Enfoque kernel

PROGRAMAS
DE APLIC. P.A. P.A. ... P.A.
S.O. KERNEL P.S. ... P.S.
HW

„ El Kernel es un proceso de sistema más.


„ El Kernel y los P.S. Son los únicos que pueden interactuar
con el HW. Se ejecutan en modo supervisor

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 35


Arquitectura de un S.O.
„ Estructuración en capas

Capa: Conjunto de funciones claramente definidas hacia un objetivo


común dentro de un S.O.

Cada sistema se considera como un conjunto de subsistemas


comunicándose a través de una interfaz común

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 36


Arquitectura de un S.O.
Ventajas de la estructuración en capas:
„ Las estructuras internas y algoritmos de una capa no
son visibles a las demás
„ El sistema puede evolucionar más fácilmente
„ Pueden ofrecerse servicios alternativos a las capas
superiores
„ Pueden existir implementaciones alternativas
„ Transparencia entre capas si sus servicios no son
necesarios
„ Cada capa se codifica y se prueba independientemente

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 37


Arquitectura de un S.O.
Desventajas de la estructuración en capas:
„ Definición de las distintas capas
„ Menor eficiencia:
• Llamadas entre capas (paso de parámetros)
• Se agrega un trabajo adicional a la llamada original

Tendencia: Menos capas con más


funcionalidad

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 38


Arquitectura de un S.O.
Niveles clásicos en un S.O. desde el punto de vista
funcional:
G. DE INFORMACION
5 O SISTEMA DE FICHEROS

4 G. DE DISPOSITIVOS E/S

3 G. DE PROCESOS

2 G. DE MEMORIA

G. DELPROCESADOR
1 KERNEL

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 39


Niveles o capas de un S.O.
„ NIVEL 1: Gestión del procesador

Objetivo: Compartir la CPU entre procesos

Funciones:
• Sincronización entre procesos
• Conmutación de la CPU (cambios de contexto)
• Gestión de interrupciones

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 40


Niveles o capas de un S.O. (2)
„ NIVEL 2: Gestión de memoria

Objetivo: Repartir la memoria entre procesos

Funciones:
• Asignación de memoria
• Liberación de memoria
• Control de violación de acceso

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 41


Niveles o capas de un S.O. (3)
„ NIVEL 3: Gestión de procesos

Objetivo: Gestionar los procesos

Funciones:
• Creación y destrucción de procesos
• Comunicación entre procesos
• Detección y arranque de procesos

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 42


Niveles o capas de un S.O. (4)
„ NIVEL 4: Gestión de dispositivos (E/S)

Objetivo: Gestión de la E/S en función de los


dispositivos existentes en el sistema

Funciones:
• Creación de procesos de E/S
• Asignación y liberación de dispositivos de E/S
• Planificación de la E/S

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 43


Niveles o capas de un S.O. (5)
„ NIVEL 5: Gestión de la información

Objetivo: Gestionar el espacio de nombres


lógicos y la protección de la información

Funciones:
• Creación y destrucción de ficheros y directorios
• Apertura y cierre de ficheros
• Lectura y escritura de ficheros
• Protección de acceso

©Amalia Falcón Docampo – Curso 07/08 Sistemas Operativos 44

Das könnte Ihnen auch gefallen