Sunteți pe pagina 1din 33

1

SISTEMAS OPERATIVOS:

INTRODUCCIÓN A
LOS SISTEMAS
OPERATIVOS

Sistemas Opera,vo s
2
Objetivos
• Comprender de forma global la estructura y
funcionamiento del computador.
• Recordar los elementos del computador que tienen
impacto en el sistema operativo.
• Comprender qué es un Sistema Operativo.
• Conocer los principales servicios y componentes del
Sistema Operativo.
• Comprender el proceso de arranque del sistema
operativo.
3
Porque estudiar SO

a) El SO, sus peculiaridades internas, influye de


mucho en el funcionamiento general, en la seguridad
y/o rendimiento del computador
b) La importancia de la elección de un determinado
SO para una empresa es cada día mayor, casi
estratégica
c) Conocer el funcionamiento del SO es fundamental
para desarrollar aplicaciones que obtengan buenas
prestaciones y para comprender la causa de
muchos problemas.
4 Cuestiones importantes

• ¿Qué SO aprovecha mejor las capacidades de mi sistema?


• ¿El SO soporta todos los dispositivos que pretendo conectar al
computador? Si no lo hace, ¿qué se puede hacer?
• ¿Es lo suficientemente seguro para el entorno en el que ha de
integrarse?
• ¿Mi/s aplicación/es correrá/n sobre el SO elegido?
• ¿Cómo se adaptará a mi carga de trabajo concreta?
5
Para poder elegir
adecuadamente

• ¿Es fácil encontrar administradores para este SO? ¿La


administración es una tarea “oscura” y exclusiva de personal
ultra-especializado?
• ¿Qué soporte tiene el SO? ¿Con qué frecuencia se publican
parches y mejoras?
• Aparte del costo ¿Qué expectativas de futuro tiene?
6 Para desarrollar sof t ware
con buenas
prestaciones

• Cuando se desarrolla software se debe recurrir a los


servicios del SO para realizar muchas tareas.
– ¿Qué servicios ofrece mi SO y cómo puedo invocarlos?

• Para aprovechar las nuevas arquitecturas es esencial


el desarrollo de aplicaciones multi-hilo.
– ¿Cómo se desarrolla una aplicación multi-hilo para mi SO?
Estructura del
7
computador

• Monoprocesador
• Multiprocesador: MIMD: M. Distribuida vs. (UMA y NUMA)
Arquitectura del
8 computador
• Modelo de programación
• Juego de instrucciones (Usuario y Núcleo –ó K ó S--)
31 16 15 87 0
D0
D1
D2 Registro de estado
D3
D4 Registros de datos T 15
D5
Modo Traza 14
D6 13
D7 Sistema/Usuario S 12 Octeto de
11 Sistema
A0 Máscara 10
A1
A2 de I2 98
A3 Interrupciones
A4 I1 7
Registros de dirección I0 6
A5
A6 5
A7 Puntero de pila de usuario Extensión 4 Octeto de
A7' Puntero de pila de sistema Negativo 3
Cero 2
Usuario
PC Contador de programa Desbordamiento X 1
Acarreo N 0
Z
0
V
C
Mapa de 0
Mapa de Juego de Instrucciones
memoria 16 E/S
2 -1
32
2 -1
9

Niveles de ejecución
D0 D0 Registro de estado
D1 D1
D2 D2 T 15
D3 D3 14

Sistema
D4 D4 S 13

Octeto
D5 D5 12
D6 D6 11

de
D7 D7 10
A0 A0 8
A1 7 A1 I2 7
A2 6 A2 I1 6
A3 A3

Usuario

Usuario
A4 5 A4 I0 5

Octeto

Octeto
A5 X 4 A5 4
A6 N 3 A6 3
A7

de
de
A7 Z 2 2
A7' 1
V 1
C 0 PC X 0
PC N
Z
0 V
0 C
0
31
2 -1
2 16 -1
2 32-1
Mapa de
Mapa de Juego de Mapa de E/S Juego de
memoria Instrucciones memoria Instrucciones

Modelo de programación de usuario Modelo de programación de núcleo


Jerarquía de
10
Memoria
Nivel 0 Reg.

Nivel 1 M. Cache Gestión HW

Nivel 2 Mem. Principal Gestión S.O.

Nivel 3 Discos Gestión S.O.

• Elementos de información replicados en varios niveles de


la jerarquía
• Problema de coherencia
• Migración de la información: automática vs. bajo demanda
• Traducción de direcciones
11 Memoria Virtual

Mapa de memoria virtual


(direcciones generadas por el procesador)

Memoria principal
(RAM + ROM)
Memoria
Procesador Dirección física Secundaria
Dirección
virtual Fa llo página
(Intercambio)
MMU
12
 La MMU realiza la traducción de Pagina
Virtual a Marco de Pagina
n bits Dirección en el nivel k+1

Traductor

m bits Dirección en el nivel k

n-1 p p-1 0 n-1 p p-1 0


Dirección página Palabra en Palabra en Dirección X
la Página Dirección página la Página virtual

Traductor
m-1 p p-1 0
Palabra en Dirección Y
Página Direcc. págiona la Página real
División de la dirección Traducción de la dirección
Entrada/Salida (E/S): periféricos
13

Procesador

CONTROLADOR

Registro Registro Registro


control datos estado Memoria
DISPOSITIVO

Bus

Módulo de E/S
¿Qué es un sistema
operativo?

• Programa que actúa de intermediario entre el


usuario del computador y el hardware.

• Objetivos:
– Ejecutar programas.
– Hacer un uso eficiente de los recursos.
– Proporcionar visión de máquina virtual extendida.
15
Funciones del
sistema operativo
• Gestor de recursos (UCP, memoria, ...)
– Asignación y recuperación de recursos
– Protección de los usuarios
– Contabilidad/monitorización
– Soporte de usuario
• Máquina extendida (servicios)
– Ejecución de programas (procesos)
– Órdenes de E/S
– Operaciones sobre archivos
– Detección y tratamiento de errores
• Interfaz de usuario
– Shell
16
Niveles del
sistema operativo
• El SO está formado conceptualmente
por 3 capas principales:
Usuarios
– Núcleo o Kernel
– Servicios o llamadas al sistema
Programas de Intérprete de
– Intérprete de mandatos o shell Usuario mandat
os o
Shell

Capa de Servicios
(llamadas al sistema)

Núcleo o Kernel

Hardware
17
Estructura
conceptual
• Modos de ejecución:
– Modo usuario: Ejecución de procesos de usuario.
– Modo supervisor o núcleo: Ejecución del núcleo del SO.
• Los procesos y el SO utilizan espacios de memoria
separados.
• Cuando un proceso necesita un servicio lo solicita al
SO mediante una llamada al sistema.
– El sistema operativo entra en ejecución para realizar la
función solicitada.
Componentes del Sistema Operativo

Un SO puede ofrecer varias API Y disponer de varios


simultáneamente interpretes de mandatos

Usuarios

Programas de Usuario Shell 1 Shell 2 Shell 3

API Win32 API POSIX Otra API


Gestión del Comunicación
Gestión de Gestión de Gestión de Seguridad y
Sist. y
procesos memoria E/S Protección
Archivos Sincronización

Núcleo o Kernel

Hardware

Componentes de un SO
Creación, Asignación Manejo de
Planificación Liberación dispositivos Manejo de
Identificar Mecanismos
Destrucción Control periféricos archivos y
usuarios y Comunicación y
directorios
capacidades Sincronización
Interactúa directamente con el Hardware Funciones
básicas de gestión del procesador, de la memoria
y de las interrupciones
Gestor de procesos
19

• Un proceso es un programa en ejecución.


• Un proceso necesita recursos, tales como UCP,
memoria, ficheros, etc., para llevar a cabo su tarea.
• El SO tiene la responsabilidad de gestionar los
siguientes aspectos de procesos:

– Creacion y destrucción.
– Suspensión y reanudación.
– Proporcionar mecanismos de sincronización y
comunicación.
– Asignación y mantenimiento de los recursos del proceso.
Gestor de memoria
20

• Memoria: vector enorme de palabras o bytes, cada uno


con su propia dirección.
– Comparado por UCP y dispositivos E/S.
– Volátil: pierde su contenido si el sistema falla.
• El SO tiene la responsabilidad de gestionar los
siguientes aspectos de la memoria:
– Mantener un mapa de las partes de memoria en uso y saber
quién las está usando.
– Decidir qué procesos se deben cargar, y dónde, cuando hay
memoria disponible.
– Asignar y liberar espacio de memoria cuando sea
necesario.
Gestor de E/S y almacenamiento
secundario
• El gestor de E/S está formado por:
– Un sistema global de almacenamiento intermedio en memoria.
– Manejadores genéricos, uno por cada clase, de dispositivos.
– Manejadores específicos para cada dispositivo.
• Almacenamiento secundario no volátil en dispositivos
rápidos de E/S (discos, NAD, etc.) como respaldo de la
memoria.
• El SO tiene la responsabilidad de gestionar los siguientes
aspectos de la E/S y el almacenamiento secundario:
– Traducir peticiones a formato de manejador.
– Copiar memoria de/a memoria a/de controlador.
– Controlar operaciones por DMA.
– Controlar dispositivos de E/S serie: teclado, ratón, etc.
– Asignación y liberación de espacio.
– Planificación de accesos aSilsotesmads Oispeprao, vsoistivos.
22 Servidor de ficheros
y directorios
• Fichero: conjunto de información lógicamente relacionada y
definida por su creador.
• Directorio: conjunto de identificadores lógicos de ficheros y
su relación con identificadores internos del SO.
• Ficheros frecuentes: programas (fuentes y ejecutables) y
datos.
• El SO tiene la responsabilidad de gestionar los siguientes
aspectos del servicio de ficheros:
– Cretición y borrado de ficheros y directorios.
– Primitivas para manipular ficheros y directorios.
– Proyectar los ficheros sobre almacenamiento secundario.
– Hacer respaldo de ficheros sobre dispositivos estables y no volátiles.
23 Servidor de protección y
seguridad
• Protección: controlar accesos a los recursos de usuario y
sistema.
• El servidor de protección debe:
– Distinguir entre uso autorizado y no autorizado.
– Especificar los controles de acceso a llevar a cabo.
– Proporcionar métodos de control de acceso.
• Seguridad: proteger al sistema de un uso indebido.
• El servidor de seguridad debe:
– Autenticar a los usuarios.
– Evitar amenazas al sistema (gusanos, virus, piratas, fuego, etc.)
– Evitar la intercepción de comunicaciones: cifrado, canales seguros, etc.
Servidor de
comunicaciones
• Sistema en red o distribuido: conjunto de procesadores que no
comparten memoria.
• Conectados mediante una red de comunicaciones.
• Proporciona mecanismos de comunicaciones locales y
remotas para distintos tipos de redes: Ethernet, ATM,
telefónica, etc.
• Proporciona acceso a recursos de la red, lo que permite:
– Acelerar la computación.
– Incrementar la disponibilidad de datos.
– Mejorar la fiabilidad.
– Abaratar el sistema.
• Responsabilidad del SO: resolución de nombres,
enrutamiento, conexiones y control de flujo.
25
Alternativas
de estructura

Monolíticos
Sistemas
Operativos Por capas
Estructurados
Cliente/
servidor
26 Sistemas Operativos
Monolíticos
• No hay una estructura clara y bien definida.
• Todo el código del SO está enlazado como un único ejecutable
(un solo espacio de direcciones) que se ejecuta en modo
“núcleo”.
• El código presenta cierta organización pero internamente no
existe ocultación de información entre los distintos módulos,
pudiéndose llamar unos a otros sin restricciones
• Aunque es más eficiente en su funcionamiento, su desarrollo y
mantenimiento es muy complejo.
• Ejemplos:
– Todos los SO hasta los 80, incluido UNIX
– MS-DOS y variantes actuales de UNIX: Solaris, Linux, AIX, HP-UX,...
Sistemas Operativos
27 estructurados
por capas
• El sistema se organiza como un conjunto de capas superpuestas,
cada una con una interfaz clara y bien definida
• Cada capa se apoya en los servicios de la inmediatamente inferior
para realizar sus funciones
• Las ventajas son la modularidad y la ocultación de la información,
que facilita mucho el desarrollo y la depuración de cada capa por
separado.
• Esta estructura, sin embargo, no resulta tan eficiente porque
una determinada operación en la capa superior implica realizar
múltiples llamadas desde el nivel superior hasta el inferior.
• Dificultad a la hora de distribuir las distintas funciones del SO entre
las distintas capas
Sistemas Operativos
28
estructurados
por capas

Capa 5: Programas de usuario

Capa 4: Gestión de la E/S

Capa 3: Controlador de la consola

Capa 2: Gestión de memoria

Capa 1: Planificación de la CPUy multiprogramación

Capa 0: Hardware
Sistemas Operativos estructurados:
29 cliente/servidor
• Implementar la mayor parte de los servicios del SO como procesos
de usuario, dejando solo una pequeña parte corriendo en modo
núcleo denominada micronúcleo o microkernel
• Hay dudas sobre qué funciones debe implementar realmente el
microkernel pero al menos: interrupciones, gestión básica de
procesos y memoria y servicios básicos de comunicación
• Ventajas
– Muy flexible. Cada servidor puede desarrollarse y depurarse
más fácilmente al tratarse de programas pequeños y
especializados.
– Es fácilmente extensible a un modelo distribuido
• Desventajas
– Sobrecarga en la ejecución de los servicios
30 Sistemas Operativos
estructurados:
cliente/servidor
Procesos Procesos
clientes Servidores

Programa de Programa de Servidor Servidor


Servidor Servidor Servidor
Usuario Usuario Servidor de de
de de de
de la E/S archivos y Comunica
Procesos memoria Seguridad
directorios -ciones
API API

Micronúcleo

Hardware

Estructura cliente-servidor en un sistema operativo


Clasificación de Sistemas
31 Operativos
• Número de procesos simultáneos:
– Monotarea. • Número de procesadores:
– Multitarea. – Monoprocesador.
• Modo de interacción: – Multiprocesador.
– Interactivo. • Número de hilos (threads):
– Por lotes (batch). – Monothread.
• Número de usuarios simultáneos: – Multithread.
– Monousuario. • Tipo de uso:
– Multiusuario. – Cliente.
– Servidor.
– Empotrado.
– Tiempo real.
32 LINUX. Arquitectura

Usuario

Kernel
Windows NT.
33
Arquitectura
Replicator Win32
Session Mgr Alerter POSIX
WinLogon Event Log OS/2

Procesos Aplicacs. Subsistemas


Servicios de entorno
de sistema Usuario
Interface DLL Subsystem DLL

Ntdll.dll
Usuario
Kernel
System Service Dispatcher
Sistema Monitor Procesos/ Servicios Memoria Win32
E/S Seguridad Threads de objetos Mgmt GDI
Sistemas Gestión de Objectos
ficheros Exec.
Drivers Kernel RTL
Hardware Abstraction Layer (HAL)

S-ar putea să vă placă și