introducción a los sistemas...

55
1 Tema 8: Tema 8: Introducci Introducci ó ó n a los n a los Sistemas Operativos Sistemas Operativos Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Upload: voque

Post on 30-Jan-2018

233 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

1

Tema 8:Tema 8:IntroducciIntroduccióón a losn a los

Sistemas OperativosSistemas Operativos

Escuela Politécnica SuperiorIngeniería Informática

Universidad Autónoma de Madrid

Page 2: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

2

OBJETIVOS

Identificar, Describir y Relacionar la estructura y tareas de los sistemas operativos.

TEMA 8: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

8.1 Conceptos básicos 8.2 SO de mayor difusión8.3 Gestión del procesador8.4 Gestión de la memoria8.5 Gestión de E/S8.6 Gestión de los archivos

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.

IntroducciIntroduccióón a los Sistemas Operativosn a los Sistemas Operativos

Page 3: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

3

DEFINICIDEFINICIÓÓN DE SISTEMA OPERATIVON DE SISTEMA OPERATIVOo 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.

o Sus principales tareas son permitir:• Control de recursos• Facilidad de uso• Eficiencia de uso.

Page 4: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

4

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.

TAREAS DEL SISTEMA OPERATIVOTAREAS DEL SISTEMA OPERATIVO

Page 5: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

55

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.

EL SO COMO MEL SO COMO MÁÁQUINA OPERATIVAQUINA OPERATIVA

Page 6: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

666

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.

ARRANQUE DE UN SOARRANQUE DE UN SO

Page 7: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

777

oSistemas operativos de Microsoft

oUnix

oLinux

oMacOS

ALGUNOS SO DE MAYOR DIFUSIALGUNOS SO DE MAYOR DIFUSIÓÓNN

Page 8: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

88

PASOS RELEVANTES EN LA EVOLUCIPASOS RELEVANTES EN LA EVOLUCIÓÓN N DE SISTEMAS OPERATIVOS MICROSOFTDE SISTEMAS OPERATIVOS MICROSOFT

SISTEMAS OPERATIVOS MICROSOFT: SISTEMAS OPERATIVOS MICROSOFT: EVOLUCIEVOLUCIÓÓNN

Page 9: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

99

MS DOS

•Pantalla en modo texto

•Interfaz de línea de comandos

Windows 1.0 (1985) y 2.0 (1987)

•Basados en chip 8086/8088

Windows 3.0 (1990)

•Soporta modo protegido del 386

•Amplia difusión de software disponible

Windows 3.1 (1992)

•Soporta solamente modo protegido

•Api Win16 (16 bits)

•Gran éxito entre usuarios y programadores

•Extensiones para conectividad, WorkGroups

•Multitarea no real

SISTEMAS OPERATIVOS MICROSOFT: SISTEMAS OPERATIVOS MICROSOFT: CARACTERCARACTERÍÍSTICASSTICAS

Page 10: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

1010

Windows 95 (1995)

•Versión completa en 32 bits

•Multitarea real

•Nueva interfaz

•Api Win32 (32 bits)

•Núcleo basado en DOSWindows 98 (1998)

•Mejoras en interfaz

•Nuevos dispositivos

Windows NT (1993)

•Primer SO de 32 bits

•Api Win 32

•Basado en kernel Match

Windows XP (2001)

•Fusión entre Windows 98 y 2000

•Basado en kernel de 2000

•Compatibilidad con todas las versiones anteriores

•Soporte para juegos y multimedia

Windows ME (2000)

•Nueva interfaz

•Acceso más limitado al DOS

Windows 2000 (2000)

•Basado en kernel de NT

•Orientado a redes y a servidores

SISTEMAS OPERATIVOS MICROSOFT: SISTEMAS OPERATIVOS MICROSOFT: CARACTERCARACTERÍÍSTICASSTICAS

Page 11: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

11

oSe puede considerar como un conjunto de familias de SO que comparten ciertos criterios de diseño e interoperabilidad.

oSistema operativo multiusuario.oSistema operativo multiproceso.o“Case sensitive” (Mayúsculas y minúsculas).oDiferentes interfaces (bash).

UNIX: CARACTERUNIX: CARACTERÍÍSTICASSTICAS

Page 12: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

12

1.984,

UNIX: EVOLUCIUNIX: EVOLUCIÓÓNN

12

Page 13: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

1313

LINUXLINUXo 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 Linuxo 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.

Page 14: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

1414

Distribuciones LINUXDistribuciones 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)

Page 15: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

1515

oSistema operativo de Macintosh.

oDesarrollado a mediados de los 80.

oEs el precursor de los sistemas operativos con interfaz gráfica.

MacOSMacOS

Page 16: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

1616

oDe entre las tareas fundamentales de un SO, se encuentra la:

• Gestión del procesador• Gestión de la memoria• Gestión de las entradas y salidas• Gestión de los archivos.

TAREAS DE GESTITAREAS DE GESTIÓÓN DE UN SON DE UN SO

Page 17: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

171717

oGestión del procesador

oGestión de la memoria

oGestión de las entradas y salidas

oGestión de los archivos

TAREAS DE GESTITAREAS DE GESTIÓÓN DE UN SON DE UN SO

Page 18: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

1818

oLa gestión por parte del SO se centra en el concepto de proceso.

oUn proceso es un programa en el que se ha iniciado su ejecución.

oPor lo tanto un programa es un ente pasivo mientras que un proceso es un ente activo.

oSe pueden dividir en:• Monoprogramación• Multiprogramación.

GESTIGESTIÓÓN DEL PROCESADORN DEL PROCESADOR

Page 19: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

191919

o Corresponde con los primeros SO.o En ellos se ubicaba un programa en memoria principal,

además del sistema operativo, y hasta que no finaliza ese programa no empieza a ejecutarse otro.

o Las funciones que realiza un SO monoprogramación son:• Siempre que un programa realiza una operación de E/S hace una

llamada al sistema para que éste genere la instrucciones máquina concretas de la E/S.

• Cuando finaliza una operación de E/S, el periférico correspondiente genera una interrupción que provoca la llamada al SO y continúa con la ejecución del programa.

• Cuando acaba la ejecución del programa, el ordenador queda listo para aceptar uno nuevo.

MONOPROGRAMACIMONOPROGRAMACIÓÓNN

Page 20: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

20

MONOPROGRAMACIMONOPROGRAMACIÓÓNN

202020

Page 21: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

212121

oSe desaprovecha la memoria principal: ésta sólo se ocupa parcialmente.

oSe desaprovecha el procesador: siempre que hay una operación de E/S, éste no se utiliza.

oLos periféricos están infrautilizados: el programa en ejecución en un instante dado sólo puede utilizar uno de los recursos hardware.

MONOPROGRAMACIMONOPROGRAMACIÓÓNN

Page 22: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

22222222

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 procesadoro Los tiempos de acceso a periféricoso 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 memoriaprincipal.

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 23: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

23232323

o En la multiprogramación un proceso se compone de:o Código máquina del programa del usuario a ser

ejecutado.o Datos del programa: la parte modificable del espacio

del usuario que contiene variables y parámetros del programa.

o Pila: utilizada para almacenar direcciones de retorno de subrutinas u otros parámetros.

o Bloque de control de proceso (PCB): Contiene datos que el SO necesita para controlar el proceso (identificador, estado, privilegios y prioridades, etc.).

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 24: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

2424242424

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 Pyy 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ó.

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 25: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

252525252525

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 26: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

2626262626

La multiprogramación se puede realizar de dos formas:

• Multiprogramación no apropiativa:· Es la que se utilizó inicialmente. La emplean los SO

MS-DOS y MacOS.

• Multiprogramación apropiativa o preferente:· Utilizado por los SO Windows, Unix y Linux.

o

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 27: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

2727272727

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.

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 28: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

282828282828

Multiprogramación apropiativa o preferente:

• El SO puede interrumpir en cualquier momento el proceso activo con objeto de dar paso a otro proceso que esté preparado.

• Las decisiones de cuándo se detiene la ejecución de un proceso y de cuál de los procesos preparados pasa a activo se efectúa de acuerdo a un determinado algoritmo de planificación.

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 29: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

29292929292929

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).

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 30: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

3030303030

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.

MULTIPROGRAMACIMULTIPROGRAMACIÓÓNN

Page 31: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

31313131313131

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.

ESTADOS DE UN PROCESOESTADOS DE UN PROCESO

Page 32: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

3232323232323232

ESTADOS DE UN PROCESOESTADOS DE UN PROCESO

Page 33: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

333333333333

o Multiusuario: Sistema multiprogramación que prevé el uso concurrente de distintos usuarios, identificados y autenticados.

o Tiempo compartido: Sistema multiprogramación y multiusiarioque gestiona procesos interactivos de modo que el usuario actúa con el ordenador de forma casi inmediata, dándole la ilusión de que está trabajando él sólo con el ordenador.

o Tiempo real: El sistema debe dar imprescindiblemente la respuesta dentro de un límite de tiempo preestablecido.

o Procesamiento de transacciones: Sistema de tiempo compartido que realizan un conjunto de operaciones de forma atómica asegurando la recuperación en caso de fallos.

OTROS MODOS DE PROCESAMIENTOOTROS MODOS DE PROCESAMIENTO

Page 34: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

34343434

oGestión del procesador

oGestión de la memoria

oGestión de las entradas y salidas

oGestión de los archivos

TAREAS DE GESTITAREAS DE GESTIÓÓN DE UN SON DE UN SO

Page 35: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

35353535

oUn programa máquina es una secuencia de instrucciones en código máquina que ocupan n palabras de memoria.

oEn el momento de ejecutarse, las palabras de memoria pueden numerarse correlativamente de la 0 a la n-1.

oLas direcciones de cada una de estas palabras se denominan direcciones virtuales(dv).

GESTIGESTIÓÓN DE LA MEMORIAN DE LA MEMORIA

Page 36: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

3636363636

o Suponiendo que las instrucciones del programa se almacenan consecutivamente, si se cargan a partir de una dirección base (dB), el programa quedaráubicado entre las direcciones dB y dB+n-1.

o La dirección física (df) donde realmente se almacena cada instrucción corresponde con la dBmás la dirección virtual de la palabra.

o En un sistema de multiprogramación, el SO, de acuerdo con los espacios libres de memoria, asigna la dirección base a cada programa y lo carga.

GESTIGESTIÓÓN DE LA MEMORIAN DE LA MEMORIA

Page 37: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

373737373737

La asignación de memoria para distintos procesos que se ejecutan concurrentemente se realiza dependiendo del SO de la siguiente forma:o Particiones estáticaso Particiones dinámicaso Segmentacióno Paginacióno Memoria virtual.

GESTIGESTIÓÓN DE LA MEMORIAN DE LA MEMORIA

Page 38: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

383838383838

o La memoria se divide en un cierto número de particiones o zonas, cada una de las cuales contendrá un proceso.

o Un ejemplo es un sistema con una memoria principal de 2 MB y 8 particiones constantes de 256 KB.

o El SO mantiene una tabla con las particiones, su posición base, su tamaño (no todas tienen por qué ser iguales) y su estado (ocupada o no).

o Cuando una partición queda libre el planificador de trabajos hace que se introduzca el programa de máxima prioridad en espera y que quepa en esa partición.

o Cada partición puede tener posiciones no utilizadas si el tamaño de la partición es mayor al del trabajo que la ocupa: se produce fragmentación de una partición.

PARTICIONES ESTPARTICIONES ESTÁÁTICASTICAS

Page 39: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

39393939393939

o Los programas se introducen inicialmente en memoria utilizando posiciones consecutivas. Por lo tanto, no existen particiones predefinidas.

o Existe una tabla con los fragmentos o huecos libres.o El planificador de trabajos consulta esa tabla introduciendo en

memoria los programas que quepan en los fragmentos.o Al ir acabando de ejecutarse los procesos el número de

fragmentos crecerá y el espacio de cada uno de ellos disminuirá, haciendo que el espacio de memoria aprovechado sea muy reducido.

o Este problema se soluciona realzando compactación, esto es, cambiando de sitio o reubicando los procesos en ejecución.

PARTICIONES DINPARTICIONES DINÁÁMICASMICAS

Page 40: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

40404040404040

oLos programas se consideran divididos en segmentos.

oEl SO mantiene una tabla de segmentos, indicando la ubicación en memoria de cada uno de ellos y su tamaño.

oLa segmentación permite que ciertos procesos puedan compartir código (rutinas, etc.) o datos comunes sin necesidad de estar duplicados en memoria principal.

SEGMENTACISEGMENTACIÓÓNN

Page 41: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

41414141414141

o La memoria principal se estructura en marcos de página de longitud fija.o Los procesos se dividen en zonas consecutivas denominadas páginas.o La capacidad de los marcos de página y las páginas son coincidentes, de modo

que cada página se almacena en un marco.o Las páginas se almacenan en marcos libres, independientemente de que estén

contiguos o no.o Una dirección dentro de un programa está formada por el número de página y

un desplazamiento dentro de la página. Por ejemplo, la dirección 328 indicaría la página 3 y, dentro de ésta, la posición relativa (desplazamiento) de 28 posiciones.

o Cada proceso tiene asociado una tabla de páginas que indica los marcos de página donde se encuentran almacenadas las páginas que lo componen.

o El SO mantiene además una tabla de marcos de página donde se especifica el proceso y página contenido en cada uno de los marcos y su estado (libre o ocupado).

PAGINACIPAGINACIÓÓNN

Page 42: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

42424242424242

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.

MEMORIA VIRTUALMEMORIA VIRTUAL

Page 43: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

43434343434343

o En un sistema de memoria virtual se mantiene en disco un archivocon 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.

MEMORIA VIRTUALMEMORIA VIRTUAL

Page 44: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

4444444444444444

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.

MEMORIA VIRTUALMEMORIA VIRTUAL

Page 45: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

4545454545

oGestión del procesador

oGestión de la memoria

oGestión de las entradas y salidas

oGestión de los archivos

TAREAS DE GESTITAREAS DE GESTIÓÓN DE UN SON DE UN SO

Page 46: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

464646464646464646

o Sus objetivos son:

o Lograr que los periféricos se utilicen con eficiencia. Para ello el SO puede gestionar los dispositivos de E/S de una de estas tres formas:

o Dispositivos de uso exclusivo: Los dispositivos (teclado, ratón, pantalla, etc.) se asignan a un proceso durante la duración del trabajo.

o Dispositivos compartidos: Aquellos que se pueden compartir concurrentemente por varios procesos. Por ejemplo, una unidad dedisco. El SO debe evitar los conflictos que puedan plantearse.

o Dispositivos virtuales: Comparte dispositivos en principio asignables (como una impresora) para optimizar el rendimiento del sistema.

o Programar las operaciones de E/S con independencia del dispositivo, haciendo que sean transparentes a las características particulares del hardware que se utiliza.

GESTIGESTIÓÓN DE E/SN DE E/S

Page 47: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

47474747474747474747

MODELO DE CAPASMODELO DE CAPAS

Programa de usuario

Software de E/S independiente del dispositivo

Organización física

Controladores software de los dispositivos hardware

Dispositivos hardware

Peticiones de interrupción

Peticiones satisfechas

Peticiones satisfechas

Peticiones satisfechasLlamadas al sistema

Peticiones de E/S

Peticiones de E/S

Instrucciones al controlador

Page 48: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

48484848484848484848

La gestión de E/S se puede considerar como un modelo formado por las siguientes capas:

o Programa de usuario: Su objetivo es situar los parámetros de E/S en la zona de memoria adecuada y hacer llamadas al sistema.En el caso de impresoras compartidas y otros periféricos lentos actúa el sistema de operación simultánea de periféricos fuera de línea (Spool). Con este sistema cuando, por ejemplo, se desea imprimir un archivo se realiza una copia temporal del mismo en una zona de memoria denominada Spool y se ejecuta un proceso (demonio) que es el único que puede leer este directorio.

o Software de E/S independiente del dispositivo: Este nivel incluye funciones de E/S comunes o genéricas a todos los dispositivos, tales como abrir, cerrar, leer y escribir.

MODELO DE CAPASMODELO DE CAPAS

Page 49: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

49494949494949494949

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.

MODELO DE CAPASMODELO DE CAPAS

Page 50: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

505050505050

oGestión del procesador

oGestión de la memoria

oGestión de las entradas y salidas

oGestión de los archivos

TAREAS DE GESTITAREAS DE GESTIÓÓN DE UN SON DE UN SO

Page 51: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

515151515151515151

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.

GESTIGESTIÓÓN DE LOS ARCHIVOSN DE LOS ARCHIVOS

Page 52: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

525252525252525252

Las formas más comunes para almacenar un archivo son:

o Lista de enlaces: Cada disco dispone de una tabla con tantos elementos como bloques físicos. Cada elemento de la tabla corresponde con un bloque y éstos contienen un puntero al lugar donde se encuentra el siguiente bloque del archivo.Cuando se abre un archivo, el sistema de archivos carga en memoria principal la lista de enlaces, obteniendo información de los bloques que ocupa el archivo.Como inconveniente, si el disco es muy grande, la lista de enlaces ocupa una capacidad excesiva en memoria principal.Los SO MS-DOS y Windows utilizan las listas de enlaces denominadas FAT16 y FAT32.

SISTEMAS DE ARCHIVOSSISTEMAS DE ARCHIVOS

Page 53: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

535353535353535353

o Fichero de índices o i-nodos: Es la forma de gestionar los archivos por el sistema operativo UNIX.Cada archivo tiene asociado un nudo de información o i-nodo que es una pequeña tabla de tamaño fijo que contiene los atributos del archivo y, según la versión de UNIX, 13 direcciones de 3 bytes. Las 10 primeras indican directamente las posiciones de las 10 primeras unidades de asignación donde se encuentra el archivo. La posición 11 apunta a una tabla de direccionamiento indirecto de primer nivel, la posición 12 a una tabla de direccionamiento indirecto de segundo nivel y la 13 a una tabla de direccionamiento indirecto de tercer nivel.

SISTEMAS DE ARCHIVOSSISTEMAS DE ARCHIVOS

Page 54: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

545454545454545454

SISTEMAS DE ARCHIVOSSISTEMAS DE ARCHIVOS

o Fichero de índices o i-nodos:

Page 55: Introducción a los sistemas operativosarantxa.ii.uam.es/~ig/teoria/temas/IG_tema-8-2008-2009.pdf · procesos. TAREAS DEL SISTEMA OPERATIVO. 5 o El sistema operativo junto con el

555555555555555555

o Sistema de archivos NTFS: Utilizado por Windows NT, XP o Vista.El elemento fundamental es la tabla maestra de archivos que tiene un elemento de longitud variable por archivo o carpeta.Esta tabla contiene:

o Información de los atributos del sistema.o Nombre del fichero.o Información sobre seguridad.o Datos: Si el archivo es pequeño su contenido se encuentra en el

propio registro de la tabla, si no, contiene punteros a las unidades de asignación donde realmente se encuentran los datos.

SISTEMAS DE ARCHIVOSSISTEMAS DE ARCHIVOS