Академический Документы
Профессиональный Документы
Культура Документы
Introducción a los
Sistemas Operativos
1
Introducción a los Sistemas Operativos
TEMA 8:
O INTRODUCCIÓN A LOS
B Identificar, Describir y SISTEMAS
J Relacionar la estructura y tareas OPERATIVOS
E de los sistemas operativos. 8.1 Conceptos básicos
8.2 SO de mayor difusión
T 8.3 Gestión del procesador
8.4 Gestión de la memoria
I 8.5 Gestión de E/S
8.6 Gestión de los archivos
V
O
S
Bibliografía Tema 8:
- Introducción a la Informática. 4ª Ed. A. PRIETO, A. LLORIS,
J. C. TORRES. (McGraw Hill, 2006). Cap. 13.
- Sistemas Operativos Modernos. 2ª Ed. A. S. TANENBAUM.
(Prentice Hall, Pearson Educación, 2003). Cap. 1. 2
DEFINICIÓN DE SISTEMA OPERATIVO
o Un SO es un programa (o conjunto de programas)
de control que tiene por objeto facilitar el uso del
ordenador y conseguir que éste se utilice
eficientemente.
3
TAREAS DEL SISTEMA OPERATIVO
o Control: Se encarga de gestionar y asignar los recursos
hardware que requieren los programas:
• El procesador
• La memoria principal
• Los discos
• Otros periféricos.
o Facilidad de uso: Hace transparente al usuario las
características hardware concretas de los dispositivos.
o Eficiencia: Por ejemplo, haciendo que los tiempos muertos
del procesador sean utilizados por la ejecución de otros
procesos.
4
EL SO COMO MÁQUINA OPERATIVA
o El sistema operativo junto con el hardware del ordenador
definen un nivel de máquina virtual que permite utilizar el
ordenador sin tener que conocer muchos detalles del hardware.
o El sistema operativo puede considerarse como un programa
constituido por una serie de módulos. Estos módulos se lanzan a
ejecución por medio de llamadas al sistema. Estas llamadas
pueden ser realizadas por los usuarios o por los programas.
o Para comunicarse con el ordenador, el SO va acompañado de
módulos que definen la interfaz de usuario.
o Cuando un usuario introduce una orden en un ordenador, ésta
es captada por el intérprete de comandos (shell). El intérprete
se encarga de traducir o descomponer la orden en llamadas al
sistema.
5
ARRANQUE DE UN SO
o Al encender un ordenador se lanza a ejecución un programa de
autodiagnóstico de encendido (Power On Self Test, POST).
o Este programa identifica la memoria disponible, los discos, el
teclado, la tarjeta de vídeo, el ratón y los demás dispositivos
que lo configuran.
o Posteriormente se lanza a ejecución el cargador inicial
(bootstrap loader), que busca el SO y carga una parte de él
(denominada residente) en la memoria principal.
o Tanto el programa de autodiagnóstico de encendido como el
cargador inicial suelen estar grabados en la memoria ROM del
ordenador.
6
ALGUNOS SO DE MAYOR DIFUSIÓN
oUnix
oLinux
oMacOS
7
SISTEMAS OPERATIVOS MICROSOFT:
EVOLUCIÓN
PASOS RELEVANTES EN LA EVOLUCIÓN
DE SISTEMAS OPERATIVOS MICROSOFT
8
SISTEMAS OPERATIVOS MICROSOFT:
CARACTERÍSTICAS
MS DOS Windows 3.1 (1992)
•Pantalla en modo texto •Soporta solamente modo protegido
•Interfaz de línea de comandos •Api Win16 (16 bits)
•Gran éxito entre usuarios y
programadores
Windows 1.0 (1985) y 2.0 (1987)
•Extensiones para conectividad,
•Basados en chip 8086/8088 WorkGroups
•Multitarea no real
Windows 3.0 (1990)
•Soporta modo protegido del 386
•Amplia difusión de software disponible
9
SISTEMAS OPERATIVOS MICROSOFT:
CARACTERÍSTICAS
Windows NT (1993)
Windows ME (2000)
•Primer SO de 32 bits
•Nueva interfaz
•Api Win 32
•Acceso más limitado al DOS
•Basado en kernel Match
11
UNIX: EVOLUCIÓN
1.984,
12
LINUX
o Origen
• El sistema operativo Linux es una variante de Unix, realizada a
partir de 1991 por un estudiante de computación en la
Universidad de Helsinki (Linus Torvalds)
• Linux tiene algunas mejoras sobre el Unix original, aunque para
los fines del curso los consideraremos similares
• GNU/Linux es la denominación correcta del kernel (GNU’s Not
Unix, es un proyecto para construir un SO libre)
o Distribución (distro)
• Conjunto de aplicaciones reunidas por un grupo, empresa o
persona para permitir instalar fácilmente un sistema Linux
o Entornos gráficos
• Fundamentalmente dos, que rivalizan y cooperan entre sí:
• GNOME (1997). Surge como entorno para SO libres.
• KDE (1996). Surge como interfaz gráfica para Unix. Altamente
personalizable.
13
Distribuciones LINUX
o Ejemplos de distribuciones
• Debian (18000 paquetes extras)
• Fedora Core (sucesor de Red Hat (comercial))
• Mandriva Linux (sucesor de Mandrake (muy popular))
• SUSE Linux (Comercial. Propiedad de Novell)
• Gnoppix y Knoppix (basadas en debian, CD-autónomo)
• Kubuntu (Ubuntu con KDE)
• Algunas españolas
• LinEx (Junta de Extremadura)
• gnUAMix (UAM, basada en Debian, CD-autónomo)
• MAX (Comunidad de Madrid, CD-autónomo)
14
MacOS
15
TAREAS DE GESTIÓN DE UN SO
16
TAREAS DE GESTIÓN DE UN SO
o Gestión de la memoria
17
GESTIÓN DEL PROCESADOR
19
MONOPROGRAMACIÓN
20
MONOPROGRAMACIÓN
21
MULTIPROGRAMACIÓN
o El SO multiprogramación carga en memoria principal varios
programas y el distribuidor asigna el procesador a los procesos
preparados.
o Se aprovechan:
o Los tiempos muertos del procesador
o Los tiempos de acceso a periféricos
o El espacio de memoria principal no ocupado por procesos o por el
SO.
o La ejecución se realiza de forma solapada en el tiempo
(concurrentemente) de modo que parece que los procesos se
ejecutan simultáneamente.
o En un intervalo de tiempo determinado se ejecutan
alternativamente a trozos varios procesos ubicados en la memoria
principal.
22
MULTIPROGRAMACIÓN
23
MULTIPROGRAMACIÓN
o Cuando se detiene la ejecución de un proceso Px para dar
turno a otro Py, el SO realiza un cambio de contexto
consistente en:
• Actualizar el PCB del proceso Px, es decir, se cambia su
estado de activo a bloqueado y se salvaguardan los
contenidos de los registros del procesador, punteros de pilas,
etc.
• Restaura los contenidos de los registros del procesador,
punteros de pilas, etc. con los valores del PCB del proceso Py
y cambia su estado a activo.
o De esta forma, cuando el distribuidor asigne nuevamente
turno al proceso Px, éste podrá continuar su ejecución
justo en el punto exacto donde se interrumpió.
24
MULTIPROGRAMACIÓN
25
MULTIPROGRAMACIÓN
• Multiprogramación no apropiativa:
· Es la que se utilizó inicialmente. La emplean los SO
MS-DOS y MacOS.
26
o
MULTIPROGRAMACIÓN
Multiprogramación no apropiativa:
• Una vez que un proceso está activo continúa
ejecutándose hasta que:
· Termina.
· Se bloquea por el inicio de una operación de E/S o
por un servicio solicitado por el SO.
· El propio proceso hace una llamada al SO para ceder
el procesador a otro proceso.
• Tiene el inconveniente de que un proceso con mucho
tiempo de procesador y pocas E/S puede
monopolizar el procesador hasta que acabe su
ejecución.
27
MULTIPROGRAMACIÓN
Multiprogramación apropiativa o preferente:
28
MULTIPROGRAMACIÓN
Algunos algoritmos de planificación que puede utilizar el
distribuidor para elegir a qué proceso preparado dar el
turno (pasar a activo) son:
• Turno aleatorio (round robin): A cada uno de los procesos en memoria
se le asigna un intervalo de tiempo fijo y se realiza un cambio de
contexto de un proceso activo a otro preparado cuando al activo se le
acabe el tiempo o se bloquee.
• Planificación por prioridad: El distribuidor da el turno al proceso
preparado que tenga mayor prioridad.
• FCFS (First Come First Served): Primero en llegar, primero en
procesar.
• SPN (Shortest Process Next): Dar el turno al de menor tiempo de
procesador (se debe conocer el tiempo de antemano).
• SRT (Shortest Remaining Time): dar el turno al que le queda menos
tiempo de procesador (se debe conocer el tiempo de antemano).
29
MULTIPROGRAMACIÓN
o El número de procesos en memoria principal preparados para su
ejecución está limitado por el tamaño de ésta.
o Para evitar esta limitación se puede trasvasar a disco (memoria
secundaria) un proceso de los que están en memoria principal
para dar cabida a otro.
o El proceso que permanece en memoria secundaria se carga
nuevamente a memoria principal cuando llegue su turno.
o Este mecanismo se denomina intercambio memoria
principal/disco (swapping).
o Si la relación capacidad de memoria principal respecto número de
procesos es baja, aumenta el intervalo de tiempo entre dos
turnos, ralentizando el funcionamiento del sistema:
o Una posible solución es aumentar adecuadamente la memoria
principal.
30
ESTADOS DE UN PROCESO
o Nonato: Un programa que no ha iniciado su ejecución. Se encuentra en la
memoria secundaria.
o Preparado: Se encuentra en memoria principal, sin operaciones de E/S
pendientes y apto para entrar o continuar su ejecución.
o Activo: El proceso que se está ejecutando en el procesador en ese momento.
o Bloqueado: Se encuentra interrumpido por el procesador por haber atendido a
otro de mayor prioridad o que le correspondía el turno.
o Bloqueado intercambiado: Un proceso bloqueado intercambiado a memoria
secundaria.
o Preparado intercambiado: Un proceso preparado intercambiado a disco.
Ocurre cuando la carga de procesos es grande.
o Concluido: Cuando finaliza la ejecución del proceso o se le detecta un error
grave.
o Residentes (o no intercambiables): Procesos importantes a los que se obliga a
residir en memoria principal.
31
ESTADOS DE UN PROCESO
32
OTROS MODOS DE PROCESAMIENTO
33
TAREAS DE GESTIÓN DE UN SO
o Gestión de la memoria
34
GESTIÓN DE LA MEMORIA
36
GESTIÓN DE LA MEMORIA
37
PARTICIONES ESTÁTICAS
38
PARTICIONES DINÁMICAS
39
SEGMENTACIÓN
41
MEMORIA VIRTUAL
o Permite a los usuarios hacer programas de una capacidad muy
superior a la que físicamente tiene el ordenador.
o Los sistemas con memoria virtual presentan al usuario una
memoria principal aparentemente mayor que la memoria física
real.
o Para implementar la memoria virtual se puede utilizar gestión de
memoria por páginas, segmentada o una combinación de ambas.
o Este sistema se basa en dos principios:
o Localidad temporal: las instrucciones de un programa que se
ejecutan sucesivamente (en un corto espacio de tiempo) están en
direcciones muy próximas.
o Localidad espacial: los programas suelen estar redactados de
forma bastante lineal, sin abundar los saltos entre posiciones de
memoria.
42
MEMORIA VIRTUAL
o En un sistema de memoria virtual se mantiene en disco un archivo
con la imagen del proceso completo, que está troceado en páginas
o segmentos. En memoria principal únicamente se carga la página
o segmento que en su momento deba estar en ejecución,
intercambiando páginas entre la memoria principal y secundaria
cuando sea necesario.
o La memoria virtual se gestiona normalmente:
o Mediante paginación (en lugar de segmentación), ya que las páginas
con tamaño constante son más fáciles de gestionar.
o Con el método de intercambio perezoso (lazzy swapper):
únicamente se lleva a memoria una página cuando sea necesaria para
algún proceso. De esta forma en cada momento los procesos
necesitan utilizar menos memoria aumentando el número de
procesos en ejecución concurrente.
43
MEMORIA VIRTUAL
o Cuando un proceso hace referencia a una instrucción o un dato
que no está en memoria principal se produce un fallo de página.
o El SO busca un marco libre para cargar la página
correspondiente.
o En el caso de que no haya ningún hueco libre el SO emplea un
algoritmo de reemplazo de página para decidir qué página de
memoria principal se ha de eliminar antes de introducir la
solicitada.
o Algunos algoritmos de reemplazo son:
o LRU (Least Recently Used): se sustituye la página que lleve más tiempo sin
usar.
o FIFO (First In First Out): se sustituye la que lleve más tiempo en memoria.
o NRU (Not Recently Used): se sustituye una página no utilizada recientemente.
o RELOJ: Se sustituye la página más antigua no utilizada recientemente.
44
TAREAS DE GESTIÓN DE UN SO
o Gestión de la memoria
45
GESTIÓN DE E/S
o Sus objetivos son:
46
MODELO DE CAPAS
Programa de usuario
Llamadas al sistema Peticiones satisfechas
Organización física
Peticiones de E/S Peticiones satisfechas
Dispositivos hardware
47
MODELO DE CAPAS
La gestión de E/S se puede considerar como un modelo formado
por las siguientes capas:
48
MODELO DE CAPAS
o Organización física: En este nivel ya se tienen en cuenta las
cuestiones específicas de cada tipo de periférico:
o Ubicación física de los bloques y espacios físicos libres en un disco.
o Almacenamiento intermedio en la RAM (buffering) para aumentar el
rendimiento.
o Caché de archivos: Una vez localizado en el disco la información a la
que se quiere acceder se lee más de la requerida y se almacena en
memoria principal (basándose en la localidad espacial de datos).
o Controladores software de los dispositivos hardware: La misión
de este nivel es controlar el hardware y generar las instrucciones
concretas para interactuar con él, atendiendo a las interrupciones
que produzca.
o Dispositivos hardware: Controladores físicos (por ejemplo
controladores DMA o tarjetas controladoras) que implementan las
operaciones E/S del hardware.
49
TAREAS DE GESTIÓN DE UN SO
o Gestión de la memoria
50
GESTIÓN DE LOS ARCHIVOS
o Desde el punto de vista del hardware, para almacenar datos o
programas sólo existen direcciones físicas.
o El SO posibilita que el usuario no tenga que utilizar direcciones
físicas: para acceder a un archivo sólo es necesario indicar su
nombre y la operación que se desea realizar.
o El sistema de archivos es el conjunto de módulos que se ocupa de
la gestión de los archivos y directorios (o carpetas).
o Los archivos se almacenan en los dispositivos de memoria masiva
en forma de unidades denominadas registros físicos o bloques.
o Un registro físico es la capacidad mínima de información que
puede transferirse en una operación de E/S y su tamaño viene
determinado por el dispositivo y el SO.
51
SISTEMAS DE ARCHIVOS
52
SISTEMAS DE ARCHIVOS
53
SISTEMAS DE ARCHIVOS
54
SISTEMAS DE ARCHIVOS
55