Está en la página 1de 119

UNIDAD 2:

SISTEMAS OPERATIVOS.
ELEMENTOS, ESTRUCTURA Y
FUNCIONES GENERALES

Sistemas Operativos Monopuesto


Curso 2012/2013
U.T.2: SISTEMAS OPERATIVOS. ELEMENTOS,
ESTRUCTURA Y FUNCIONES GENERALES
 1. Introducción
 2. Evolución Histórica

Sistemas Operativos Monopuesto.


 3. Tipos de Sistemas Operativos
 4. Estructura de un Sistema Operativo
 5. Funciones de un Sistema Operativo
 5.1. Gestión de Procesos
 5.2. Gestión de Memoria
 5.3. Gestión de E/S
 5.4. Gestión de Archivos
2
 6. Ejercicios
1. INTRODUCCIÓN

 Definición de Sistema Operativo

Sistemas Operativos Monopuesto.


“Conjunto de programas y funciones, relacionados entre
sí, que gestionan y coordinan el funcionamiento del
hardware y del software del sistema, permitiendo hacer
un uso del ordenador de una forma eficiente y
apropiada”

3
1. INTRODUCCIÓN

 Objetivos del Sistema Operativo:

Sistemas Operativos Monopuesto.


 Incrementar la productividad (fundamental)
 Seguridad de la información, los usuarios y el
propio sistema
 Abstracción: se enmascaran los recursos

4
1. INTRODUCCIÓN

 Funciones del Sistema Operativo:


 Comunicación con el usuario

Sistemas Operativos Monopuesto.


 Control y gestión de elementos físicos
 Utilización por varios usuarios
 Ejecución de varios programas
 Compartición de Información
 Compartición de Periféricos
 Comunicación entre sistemas
5
2. EVOLUCIÓN HISTÓRICA

 Sistemas operativos monolíticos

Sistemas Operativos Monopuesto.


 Evolución del sistema operativo paralela a la evolución
hardware
 Charles Baggage:
 Primera computadora
 Secuencia Entrada-Proceso-Salida
 George Boole
 Teoría de la lógica matemática
 Álgebra de Boole
6
2. EVOLUCIÓN HISTÓRICA

 Primera generación (1943 a 1959)

Sistemas Operativos Monopuesto.


 Segunda generación (1960 a 1965)
 Tercera generación (1966 a 1971)
 Cuarta generación (1971 a 1981)
 Quinta generación (1981 hasta la actualidad)

7
3. TIPOS DE SISTEMA OPERATIVO

 Distintas clasificaciones:

Sistemas Operativos Monopuesto.


 Según el tiempo de respuesta
 Según el número de usuarios
 Según el número de procesos
 Según el número de procesadores
 Trabajo en Red
8
3. TIPOS DE SISTEMA OPERATIVO

 Tiempo de Respuesta

Sistemas Operativos Monopuesto.


 Tiempo que tarda el usuario del sistema en obtener
los resultados después de iniciar la ejecución de un
programa

9
3. TIPOS DE SISTEMA OPERATIVO

 Tiempo de Respuesta

Sistemas Operativos Monopuesto.


 Procesamiento por lotes
 Disponibilidad de la CPU total para cada proceso, se ejecutan
uno tras otro
 Tiempo real
 La respuesta es inmediata (o casi inmediata) después de
iniciar el proceso
 Tiempo compartido
 Cada proceso utilizará ciclos de la CPU hasta que
finalice 10
3. TIPOS DE SISTEMA OPERATIVO

 Número de usuarios

Sistemas Operativos Monopuesto.


 Monousuario
 Sólo un usuario trabaja con un
ordenador
 Todos los dispositivos de hardware están
a disposición de ese usuario y no pueden
ser utilizados por otros hasta que éste
no finalice su uso 11
3. TIPOS DE SISTEMA OPERATIVO

 Número de usuarios

Sistemas Operativos Monopuesto.


 Multiusuario
 Varios usuarios pueden utilizar los recursos del
sistema simultáneamente
 Pueden compartir los dispositivos externos de
almacenamiento, los periféricos de salida , el
acceso a una misma base de datos instalada en
el ordenador principal

12
3. TIPOS DE SISTEMA OPERATIVO

 Número de procesos: es independiente el número de


procesadores

Sistemas Operativos Monopuesto.


 Monoprogramación o monotarea
 Sólo puede ejecutar un programa o proceso por vez
 Los recursos del sistema estarán dedicados al
programa hasta que finalice su ejecución

13
3. TIPOS DE SISTEMA OPERATIVO

 Número de procesos

Sistemas Operativos Monopuesto.


 Multiprogramación o multitarea
 Varios programas o procesos de forma concurrente
o simultánea.
 La CPU comparte el tiempo de uso del procesador
entre los diferentes programas que se desean
ejecutar
 Todos los procesos tardarán individualmente más
tiempo en ejecutarse, pero, comparándolo con la
monotarea, el tiempo medio de espera será mucho
14
menor
3. TIPOS DE SISTEMA OPERATIVO

 Número de procesadores

Sistemas Operativos Monopuesto.


 Monoproceso
 El ordenador sólo tiene un procesador
 Todos los trabajos a realizar pasarán por él

15
3. TIPOS DE SISTEMA OPERATIVO

 Número de procesadores

Sistemas Operativos Monopuesto.


 Multiproceso
 El ordenador cuenta con dos o más procesadores
 Determinados SO pueden aprovechar las ventajas de
este tipo de hardware
 Todos los sistemas operativos multiusuario actuales
son multitarea
 A excepción de Windows 9X y ME, en desuso
 Ejemplos: Windows NT 4.0, Windows 2000, Windows
16
XP, Windows Vista, Linux, Unix, etc
3. TIPOS DE SISTEMA OPERATIVO

 Número de procesadores

Sistemas Operativos Monopuesto.


 La forma de utilizar los diferentes procesadores por
parte del SO puede ser de dos tipos:
 Multiproceso simétrico
 El sistema operativo utilizará los procesadores
por igual
 Alternará el uso de los procesadores con los que
cuenta el sistema de forma simultánea

17
3. TIPOS DE SISTEMA OPERATIVO

 Número de procesadores

Sistemas Operativos Monopuesto.


 Multiproceso asimétrico
 El SO reparte las tareas que está realizando a los
procesadores
 Determinados procesos los ejecutará siempre un
procesador
 El otro procesador sólo se utilizará para realizar procesos
o programas de usuario
 Es posible que un procesador esté siempre trabajando y el
otro, en ocasiones, sin actividad
18
3. TIPOS DE SISTEMA OPERATIVO

 Número de procesadores

Sistemas Operativos Monopuesto.


 Multiproceso simétrico y asimétrico

 Mediante estas dos técnicas se consigue es que el


tiempo de respuesta de la ejecución de varios
programas en un mismo ordenador sea similar para
todos

19
3. TIPOS DE SISTEMA OPERATIVO

 Trabajo en Red

Sistemas Operativos Monopuesto.


 Centralizados

 En Red

 Distribuidos

20
4. ESTRUCTURA DE UN S.O.

 Sistemas operativos monolíticos

Sistemas Operativos Monopuesto.


 Sistemas operativos modernos
 Se organizan en capas o niveles

 Cada capa o nivel se comunica con su nivel superior e


inferior

 Cada capa se coordina para que el S.O. cumpla con sus


funciones
21
4. ESTRUCTURA DE UN S.O.
Nivel Descripción
Usuario
4 Se encarga de controlar los procesos a nivel usuario, es decir, muestra

Sistemas Operativos Monopuesto.


al usuario el proceso que está ejecutando o que quiere ejecutar
Supervisor
Se encarga de realizar la comunicación de cada proceso entre el
3 sistema y el usuario. Controla y coordina la gestión de entrada/salida
de los diferentes procesos hacia los periféricos y los dispositivos de
almacenamiento externo
Ejecutivo
Sobre este nivel se realiza la administración y la gestión de la memoria.
2
Se encarga de almacenar los procesos en páginas (segmentación,
paginación, buffering, etc.), tanto en memoria principal como en disco
Núcleo
Es el que se encarga de controlar la UCP. Gestiona qué procesos llegan
1 al ordenador para ser ejecutados. Son sistemas operativos
multiusuario. Este nivel se encarga de realizar tareas básicas del 22
sistema, comunicación con hardware, planificación de procesos, etc
5. FUNCIÓN DEL S.O.

 ¿Qué es un Recurso?

Sistemas Operativos Monopuesto.


 Tipos fundamentales de recursos:
 Procesador
 Memoria principal
 Periféricos E/S
 Información

23
5. FUNCIONES DE UN S.O.

 Distinta gestión según componentes:


 Realizada por el planificador de procesos:

Sistemas Operativos Monopuesto.


 Proceso o tarea: programa en ejecución
 Para ejecutar un proceso ha de residir en
memoria y tener asignados los recursos que
necesite
 Cada proceso está protegido del resto de
procesos
 Procesos propios del s.o.: modo kernel o
privilegiado
 Procesos propios de usuario: modo usuario (con 24

restricciones de acceso a los recursos hardware)


5. FUNCIONES DE UN S.O.

 Distinta gestión según componentes:

Sistemas Operativos Monopuesto.


 Memoria: gestionado por el administrador de
memoria
 Lleva un registro de las partes de la memoria que se están
utilizando y las que no
 Reserva espacio de memoria para nuevos procesos y
libera espacio de los procesos finalizados
 Protege las zonas de memoria ocupadas de otros
procesos
 Gestiona el intercambio de datos entre memoria y disco
25
 Importante en sistemas operativos multiproceso
5. FUNCIONES DE UN SISTEMAS
OPERATIVOS
 Distinta gestión según componentes:

Sistemas Operativos Monopuesto.


 Periféricos:
 Alimentación eléctrica regida y coordinada por la UCP
 Buses de comunicación
 Permiten a la UCP comunicarse con los elementos de dicho
ordenador
 Comunicación a través del gestor de entrada/salida (chipset)
ubicado en la placa base del ordenador
 Interfaces como medio de comunicación entre hardware
y software:
 Interfaz tipo texto
26
 Interfaz tipo gráfico
5. FUNCIONES DE UN SISTEMAS
OPERATIVOS

Sistemas Operativos Monopuesto.


27
5.1. GESTIÓN DE PROCESOS

 Necesita que el S.O. les suministre una serie de

Sistemas Operativos Monopuesto


recursos
 Sincronización y asignación de procesos
 UCP

 Un programa se convierte en un proceso:


 Se está ejecutando
 Se ubican en memoria las instrucciones que lo componen
y sus datos asociados
 Se le asocia una estructura de datos: BCP
28
5.1. GESTIÓN DE PROCESOS

 BCP:

Sistemas Operativos Monopuesto


 Estructura de datos única para cada proceso
 Código de identificador de proceso (PID)
 Estado actual del proceso
 Prioridad del proceso
 Ubicación en memoria de las instrucciones y datos
 Recursos utilizados

29
5.1. GESTIÓN DE PROCESOS
 Proceso clásico:

Sistemas Operativos Monopuesto


 Sólo posee un hilo
 Proceso multihilo
 Más de un hilo
 Comparten parte de la memoria Comunicación entre
hebras mucho más rápida y eficiente

30
5.1. GESTIÓN DE PROCESOS
 Existen diferentes estados en los que pueden estar
los procesos:

Sistemas Operativos Monopuesto


 En ejecución
 Preparado, en espera o activo
 Bloqueado

31
5.1. GESTIÓN DE PROCESOS

 Cambio de contexto

Sistemas Operativos Monopuesto


 Un proceso pasa de un estado a otro
 Necesidadde planificación para realizar el
cambio de contexto:
 Planificador
 Algoritmos de planificación:
 Expropiativo
 No expropiativo

32
5.1. GESTIÓN DE PROCESOS
 Durante su ejecución, un proceso compite con el resto de los
procesos del sistema por el uso de los recursos

Sistemas Operativos Monopuesto


 El reparto de estos entre los procesos y su ejecución
concurrente se denomina multiprogramación
 Toda la información de un proceso que el S.O. necesita para
controlar se mantiene en el bloque de control de proceso o
BCP
 En sistemas operativos multiproceso, el S.O. mantiene listas
de bloques de control de procesos para cada uno de los
estados del sistema
 Se denomina planificador a aquella parte del S.O. que se
encarga de asignar los recursos del sistema de manera que se 33
consigan los objetivos de comportamiento especificados
5.1. GESTIÓN DE PROCESOS
 Procesos se deben ejecutar en el orden adecuado y sin
interferencias entre ellos

Sistemas Operativos Monopuesto


 Control del uso de recursos
 No se pueden utilizar por más de un proceso en el mismo
instante de tiempo
 Los procesos cargados en un sistema cooperan
 Espacios comunes de memoria, recursos, hardware, etc.
 Deben ejecutarse en el orden adecuado, el espacio de
memoria adecuado y sin alterar los otros procesos
 El S.O. para o lanza un proceso utilizando técnicas de
bloqueo específicas, como los semáforos 34
5.1. GESTIÓN DE PROCESOS. ALGORITMOS DE
PLANIFICACIÓN
 Cómo y cuando debe ejecutarse un proceso
Deben ser imparciales, equitativos, eficientes y tener buen

Sistemas Operativos Monopuesto



tiempo de respuesta y rendimiento
 Entre los diferentes criterios que existen para comparar
los algoritmos tenemos:
 Eficacia
 Productividad
 Tiempo de Retorno
 Tiempo de Espera
 Tiempo de Respuesta
 El mejor algoritmo será el que maximiza el uso del 35

procesador y la productividad y minimiza los tres tiempos


5.1. GESTIÓN DE PROCESOS. ALGORITMOS DE
PLANIFICACIÓN
 Algoritmos de Planificación:

Sistemas Operativos Monopuesto


 Algoritmo FIFO

 Algoritmo SJF

 Algoritmo SRT

 Planificación por prioridades

 Round Robin

 Colas Multinivel
36
5.1.1. PLANIFICACIÓN FIFO

 El más sencillo

Sistemas Operativos Monopuesto


 El primero que pide la CPU es el primero al que se le
asigna
 Inconveniente: tiempo medio de espera largo
 Tiempo medio de espera dependiente del orden de
llegada

37
5.1.1. PLANIFICACIÓN FIFO

 Ejemplo:

Sistemas Operativos Monopuesto


 Cinco procesos A, B, C, D y E
 Los procesos llegan en los tiempos 0, 1, 4, 5 y 8
respectivamente
 Cada uno de ellos necesita respectivamente un
tiempo de ejecución de 3, 5, 2, 6 y 4 unidades de
tiempo
 Obtener tiempo de respuesta tf, tiempo de retorno
T, tiempo de espera E e índice de servicio I
38
5.1.1. PLANIFICACIÓN FIFO

 Ejemplo:

Sistemas Operativos Monopuesto


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A
B
C
D
E

39
5.1.1. PLANIFICACIÓN FIFO

 Ejemplo:

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3 3 3 0 1.00

B 1 5 8 7 2 0.71

C 4 2 10 6 4 0.33

D 5 6 16 11 5 0.54

E 8 4 20 12 8 0.33
40
5.1.2. PLANIFICACIÓN SJF(SHORTEST JOB
FIRST)

Los procesos se eligen en función del tiempo

Sistemas Operativos Monopuesto



estimado en que terminarán (su duración total)
 Si dos procesos tienen el mismo hay que desempatar,
usando FCFS
 Es óptimo en minimizar tiempo de espera
 Problema: averiguar la duración del uso de CPU de
cada proceso

41
5.1.2. PLANIFICACIÓN SJF(SHORTEST JOB
FIRST)

 Ejemplo:

Sistemas Operativos Monopuesto


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A
B
C
D
E

42
5.1.2. PLANIFICACIÓN SJF(SHORTEST JOB
FIRST)

 Ejemplo:

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3 3 3 0 1.00

B 1 5 8 7 2 0.71

C 4 2 10 6 4 0.33

D 5 6 20 15 9 0.40

E 8 4 14 6 2 0.67
43
5.1.3. PLANIFICACIÓN SRT (SHORTEST
REMAINING TIME)
 Asigna la CPU al proceso al que menos tiempo le resta

Sistemas Operativos Monopuesto


para concluir
 Si dos procesos tienen el mismo, FCFS
 Si durante la ejecución de un proceso llega otro al
que le quede menos tiempo para acabar, se le cede la
CPU (expropiación)
 Es óptimo en minimizar tiempo de espera
 Problema: averiguar la duración del siguiente uso de
CPU de cada proceso
44
5.1.3. PLANIFICACIÓN SRT (SHORTEST
REMAINING TIME)
 Ejemplo:

Sistemas Operativos Monopuesto


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A
B
C
D
E

45
5.1.3. PLANIFICACIÓN SRT (SHORTEST
REMAINING TIME)
 Ejemplo:

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3 3 3 0 1.00

B 1 5 10 9 4 0.55

C 4 2 6 2 0 1.00

D 5 6 20 15 9 0.40

E 8 4 14 6 2 0.67
46
5.1.4. PLANIFICACIÓN POR PRIORIDADES

 A cada proceso se le asigna una prioridad

Sistemas Operativos Monopuesto


 La CPU se asigna al proceso más prioritario
 Con o sin expropiación
 SJF es un caso particular
 La prioridad es un número en cierto rango
 Favorece a los procesos más prioritarios
 Convenio: prioridad más alta = número más pequeño
 Ejemplo: 1 es la mayor prioridad 47
5.1.4. PLANIFICACIÓN POR PRIORIDADES

 Criterios para definir prioridades:

Sistemas Operativos Monopuesto


 Internamente (por el S.O.): tiempo de CPU (SJF),
uso de memoria, relación entre período de CPU y
de E/S, etc.

 Externamente: importancia del proceso,


importancia del usuario en la organización, dinero
pagado por el usuario

48
5.1.4. PLANIFICACIÓN POR PRIORIDADES
 Las prioridades asignadas pueden ser:
Estáticas

Sistemas Operativos Monopuesto



 Dinámicas
 El algoritmo de planificación por prioridades puede ser:
 Expropiativo
 No expropiativo

 Problema de Inanición:
 Un proceso con baja prioridad en un sistema muy cargado
puede no ejecutarse nunca
 Una solución: incrementar la prioridad de un proceso según
el tiempo de espera 49
5.1.4. PLANIFICACIÓN POR PRIORIDADES NO
EXPROPIATIVO

 Ejemplo:

Sistemas Operativos Monopuesto


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A(2)
B(1)
C(2)
D(0)
E(1)

50
5.1.4. PLANIFICACIÓN POR PRIORIDADES NO
EXPROPIATIVO

 Ejemplo:

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3 3 3 0 1

B 1 5 8 7 2 0.71

C 4 2 20 16 14 0.13

D 5 6 14 9 3 0.66

E 8 4 18 10 6 0.40
51
5.1.4. PLANIFICACIÓN POR PRIORIDADES
EXPROPIATIVO

 Ejemplo:

Sistemas Operativos Monopuesto


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A(2)
B(1)
C(2)
D(0)
E(1)

52
5.1.4. PLANIFICACIÓN POR PRIORIDADES
EXPROPIATIVO

 Ejemplo:

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3 18 18 15 0.17

B 1 5 12 11 6 0.45

C 4 2 20 16 14 0.13

D 5 6 11 6 0 1.00

E 8 4 16 8 4 0.50
53
5.1.5. PLANIFICACIÓN ROUND ROBIN

 A cada proceso se le asigna el uso de la CPU una

Sistemas Operativos Monopuesto


cantidad fija de tiempo llamada Quantum
 Si q es grande, entonces como FCFS
 Si q es pequeño, como si cada proceso tuviese un
procesador n veces más lento
 Cola circular: el orden de los procesos según su
llegada a la cola de preparados, no al sistema
 Utiliza expropiación para rotar el proceso que se está
ejecutando.
54
 Utiliza un temporizador
5.1.5. PLANIFICACIÓN ROUND ROBIN

 Ejemplo (quantum = 1):

Sistemas Operativos Monopuesto


Nota: El proceso que sale se sitúa al final de la cola.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A
B
C
D
E

55
5.1.5. PLANIFICACIÓN ROUND ROBIN

 Ejemplo (quantum = 1):

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3 5 5 2 0.60

B 1 5 13 12 7 0.42

C 4 2 9 5 3 0.40

D 5 6 20 15 9 0.40

E 8 4 18 10 6 0.40
56
5.1.5. PLANIFICACIÓN ROUND ROBIN

 Ejemplo (quantum = 3):

Sistemas Operativos Monopuesto


Nota: El proceso que sale se sitúa al final de la cola.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A
B
C
D
E

57
5.1.5. PLANIFICACIÓN ROUND ROBIN

 Ejemplo (quantum = 3):

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3 3 3 0 1.00

B 1 5 13 12 7 0.42

C 4 2 8 4 2 0.50

D 5 6 19 14 8 0.43

E 8 4 20 12 8 0.33
58
5.1.6. MULTICOLAS

 Cada cola: un algoritmo de planificación

Sistemas Operativos Monopuesto


 Algoritmo entre colas:
 Realimentadas
 Sin realimentación

59
5.1.6. MULTICOLAS
 Ejemplo:

Sistemas Operativos Monopuesto


 Obtener tiempo de respuesta tf, tiempo de retorno T, tiempo
de espera E e índice de servicio I, y tiempos medios de T y E
 El paso de un proceso de una cola a otra se produce cuando
éste se ha ejecutado durante 1 Quantum de tiempo en la
cola correspondiente
 Un nuevo proceso se coloca al final de la cola (delante del
proceso que acaba de hacer uso de la CPU) 60
Sistemas Operativos Monopuesto
61
5.1.6. MULTICOLAS

 Ejemplo:
5.1.6. MULTICOLAS
 Ejemplo:

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 4 9 9 5 0,44

B 1 4 16 15 11 0,27

C 2 4 18 16 12 0,25

D 7 1 8 1 0 1

E 8 3 12 4 1 0,75

F 12 2 14 2 0 1
62
5.1.6. MULTICOLAS
 Ejemplo (Desempate FIFO):

Sistemas Operativos Monopuesto


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

A
B
C
D
E
F

63
5.2. GESTIÓN DE MEMORIA

 Parapoder ejecutar un programa en un ordenador,

Sistemas Operativos Monopuesto


es necesario que esté cargado en memoria principal
 En los primeros sistemas informáticos:
 Toda la memoria se dedicaba al único proceso en
ejecución (sin contar la parte reservada para el S.O.)
 SSOO actuales:
 Realizan una gestión de la memoria eficiente
 No es necesario tener en memoria todas las instrucciones
de un proceso
64
5.2.1. MEMORIA RAM Y MEMORIA VIRTUAL

 La memoria es limitada -> esto produce problemas


Para solucionarlo:

Sistemas Operativos Monopuesto.




 Dividir el programa en partes denominadas capas: las


capas se iban ejecutando según fuera necesario
 En primer lugar, se pasa del disco duro (o soporte
de almacenamiento) a memoria la capa 0
 Cuando sea necesario utilizar otra parte del
programa que no este en la memoria principal se
accede de nuevo al disco para cargar la siguiente
capa
65
Sistemas Operativos Monopuesto.
5.2.1. MEMORIA
RAM Y MEMORIA
VIRTUAL

66
5.2.1. MEMORIA RAM Y MEMORIA VIRTUAL

 Memoria virtual:
 El programa que se vaya a ubicar en memoria puede

Sistemas Operativos Monopuesto.


ser excesivamente grande para el tamaño de ésta
 Permanece en memoria la parte del programa que se
este ejecutando
 El resto estará en el disco
 Esta técnica se aplica en la mayoría de los sistemas
operativos actuales
 Considera el espacio en disco libre como si se tratase
de memoria RAM 67
5.2.2. INTERCAMBIO
 Gestión de memoria inicial:
 S.O. monotarea:

Sistemas Operativos Monopuesto.


 Memorias de poca capacidad
 Se reservaba una parte de ella para el sistema
operativo
 El resto era una zona para la ejecución de programas
de usuario. Al tratarse de un sistema operativo
monotarea, sólo podía haber un proceso en cada
momento
 En el caso del sistema operativo MS-DOS, además se
reservaba una tercera zona en la parte alta de la
memoria, para ubicar los controladores de dispositivos
68
5.2.2. INTERCAMBIO
 Gestión de memoria inicial:

Sistemas Operativos Monopuesto.


69
5.2.2. INTERCAMBIO
 Función del administrador de memoria

Sistemas Operativos Monopuesto.


 Llevar en un registro las partes de memoria que se
están utilizando y las que no
 Se reservará espacio de memoria para los nuevos
procesos
 Liberará el espacio de los procesos que han finalizado
 Se encarga de gestionar el intercambio de datos
entre memoria y disco
 Siempre y cuando los procesos sean tan grandes que
no quepan de una sola vez en memoria
70
5.2.2. INTERCAMBIO

 La gestión de memoria es complicada en los

Sistemas Operativos Monopuesto.


sistemas multitarea
 Se necesita disponer de varios procesos residentes
simultáneamente en memoria
 Intercambio:

 Los procesos en espera pueden ser llevados al disco y


dejar libre la parte de memoria que ocupan para que
otros procesos entren en ejecución
 Los procesos se pueden cargar siempre en la misma
posición de memoria o reubicarse en otra. La 71
reubicación puede ser estática o dinámica
5.2.2. INTERCAMBIO
 Primera opción:

Sistemas Operativos Monopuesto.


 Dividir la memoria en particiones fijas
 Cola de los procesos que solicitan entrar en
memoria
 El planificador tiene en cuenta los
requerimientos de memoria de cada uno de los
procesos y las particiones de memoria
disponibles
 Segunda opción:
 Cada partición tenga asociada una cola de tareas 72
Sistemas Operativos Monopuesto.
73
5.2.2. INTERCAMBIO
5.2.2. INTERCAMBIO
 Dificultad en el diseño con las particiones fijas
 Selección de los tamaños de las particiones

Sistemas Operativos Monopuesto.


 Desaprovechamiento o fragmentación de la memoria
 Esta fragmentación puede ser :
 Interna, que afecta a la parte de la memoria que no
se está usando pero que es interna a una partición
asignada a un proceso
 Externa, que ocurre cuando una partición disponible
no se emplea porque es muy pequeña para
cualquiera de los procesos que esperan
 Con un conjunto dinámico de procesos ejecutándose,
no es posible encontrar las particiones de memoria
74
adecuadas. La opción es disponer de particiones
variables
5.2.2. INTERCAMBIO
 Problema:
 Se necesita un registro con información de las particiones

Sistemas Operativos Monopuesto.


libres y ocupadas
 Se siguen presentando problemas de fragmentación
externa
 Solución:
 Permitir que los procesos puedan utilizar memoria no
contigua, lo que se consigue mediante técnicas de
paginación
 Hay un mecanismo de traducción de las direcciones
lógicas a las físicas mediante una tabla de páginas. Hay
75
que tener en cuenta: el tamaño de la tabla y el tiempo de
asignación
5.2.2. INTERCAMBIO
 Alternativa:
 En contraposición al concepto memoria como un

Sistemas Operativos Monopuesto.


array o lista unidimensional, se halla la segmentación
 El espacio de direcciones lógicas es un conjunto de
segmentos con diferentes nombres y tamaños, sin
ninguna ordenación entre ellos
 No se produce fragmentación interna, pero sí externa,
que ocurre cuando todos los bloques de memoria libres
son demasiado pequeños para acomodar a un trozo o
bloque de proceso
 Aunque la segmentación y la paginación son esquemas
diferentes de gestión de la memoria, se pueden 76

considerar estrategias combinadas


5.2.3. PAGINACIÓN
 Técnica que consiste en dividir la memoria interna o
RAM en zonas iguales, llamadas frames o marcos, y los

Sistemas Operativos Monopuesto.


programas en partes de idéntico tamaño, denominadas
páginas
 Para ubicar un programa en memoria, el sistema
operativo buscará en la memoria física los marcos que
tenga libres
 El tamaño de estos marcos se diseña mediante
hardware

77
5.2.3. PAGINACIÓN
 Si utilizamos un sistema de multiprogramación y sólo

Sistemas Operativos Monopuesto.


hay un trabajo, éste tendrá asignados todos los marcos
necesarios para él
 Mediante la tabla de páginas, la UCP asigna las
direcciones físicas de los marcos a las páginas en las que
se ha dividido el programa
 La asignación de los marcos no tiene que ser
necesariamente consecutiva

78
Sistemas Operativos Monopuesto.
79
5.2.3. PAGINACIÓN
5.2.3. PAGINACIÓN
 En resumen:

Sistemas Operativos Monopuesto.


 La paginación es una técnica de reasignación o
redireccionamiento dinámico, con la consideración de que
la tabla de páginas se puede almacenar en registros
especiales destinados a tal efecto o en una parte de la
propia memoria
 La transformación de las direcciones lógicas en físicas la
realiza la unidad de administración de memoria
Management Memory United (MMU)

80
5.2.3. PAGINACIÓN

• Esquema de traducción de la paginación

Sistemas Operativos Monopuesto.


Dirección lógica (bus) Marco 0

Nº Página Desplazamiento Marco 1

Tabla de Páginas Página 0


de un proceso Página 1
Página 2

En un determinado instante
un Marco de Página contendrá
una página de memoria de
un proceso. El espacio virtual
asignado a un proceso es Marco n-1
contiguo pero no lo son los Página m-1
marcos de página que le Página m
pertenecen. Marco n
81
Mapa de memoria de un proceso
Memoria Principal. Marcos de Página
5.2.4. SEGMENTACIÓN

 Técnica similar a la paginación :

Sistemas Operativos Monopuesto.


 Permite definir los bloques de memoria, en este
caso, de tamaño variable
 Cada segmento puede variar desde 0 hasta un
máximo permitido
 Estos segmentos pueden tener longitudes
distintas
 La longitud de un segmento puede variar según
las necesidades del programa
82
Sistemas Operativos Monopuesto.
83
5.2.4. SEGMENTACIÓN
5.2.5. SWAPPING
 Técnica similar a la de memoria virtual

Sistemas Operativos Monopuesto.


 Cuando varios usuarios están ejecutando procesos en
un mismo ordenador, éste se ve obligado a cargarlos en
RAM
 Según el estado en el que se encuentre el proceso de
cada usuario, la memoria se irá liberando de su proceso,
y pasará a la zona de swap mediante la técnica llamada
swap-out
 Si el usuario vuelve a solicitar su proceso para seguir
ejecutándolo, se produce el denominado swap-in, que
consiste en pasar el programa de la zona de swap a la
84
memoria interna
Sistemas Operativos Monopuesto.
85
5.2.5. SWAPPING
5.2.5. SWAPPING

 Esta zona de swap se suele utilizar en sistemas

Sistemas Operativos Monopuesto.


operativos como UNIX y Linux
 Está formada por un espacio físico del disco en el
que tenemos el sistema operativo y las aplicaciones
que se van a ejecutar
 Los fabricantes de estos sistemas operativos
recomiendan que esta zona sea del 20%,
aproximadamente, del espacio en disco o el doble
de la capacidad de RAM del ordenador
86
5.2.6. PROGRAMAS REUBICABLES,
REENTRANTES, RESIDENTES Y
REUTILIZABLES
 Procesos reubicables

Sistemas Operativos Monopuesto.


 Procesos reentrantes
 Procesos residentes
 Procesos reutilizables

87
5.3. GESTIÓN DE E/S
 Una de las funciones principales de un sistema
operativo es el control de los periféricos de

Sistemas Operativos Monopuesto.


entrada/salida del ordenador.
 Periférico:
 Dispositivo electromecánico, electromagnético o
electrónico que permiten la comunicación directa con el
exterior, permitiendo la entrada y/o salida de datos hacia
o desde el mismo

88
5.3. GESTIÓN DE E/S

 Cada periférico está compuesto por un componente


mecánico y por otro u otros componentes electrónicos

Sistemas Operativos Monopuesto.


 El sistema operativo accede a la información de la
memoria principal, la extrae en forma de impulsos
eléctricos y la envía a los diferentes dispositivos
periféricos

89
5.3. GESTIÓN DE E/S

 Una vez instalado el periférico el SO se encarga de:

Sistemas Operativos Monopuesto.


 Eliminar los errores
 Determinar qué dispositivo requiere atención
 Enviar órdenes a los dispositivos
 Eliminar los posibles errores, por ejemplo, durante la
impresión de documentos, durante la escritura/lectura
desde CDs, pendrives, etc.
 Determinar qué dispositivo requiere atención
 El dispositivo envía una petición de interrupción (IRQ)
para solicitar la atención del SO. Al teclado según se
90
introducen los caracteres, al ratón al hacer clic…
5.3. GESTIÓN DE E/S. INTERRUPCIONES

 Interrupción: señal de llamada generada por un


dispositivo cuando necesita ser atendido por la CPU

Sistemas Operativos Monopuesto.


 Vector de interrupción: IRQ: Interrupt ReQuest
 Canal de comunicación única para hacer llegar las peticiones de
interrupción a la CPU
 Los PCs suelen contar con al menos 20 IRQs, que en principio
suponen 20 posibles vías diferentes de que la CPU reciba
interrupciones
 Tratar en profundidad el tema de las interrupciones resultaría
demasiado complejo, por lo que no nos adentraremos en su
estudio en este modulo. En cualquier caso puede encontrarse
más información de interés en diversas páginas de internet y en
91
la presentación Interrupcion.pps que se incluye en la unidad
5.3. GESTIÓN DE E/S. INTERRUPCIONES
 En los sistemas por interrupciones una vez iniciado el
tratamiento de una interrupción, la rutina de servicio

Sistemas Operativos Monopuesto.


suele ejecutarse hasta el final. Las rutinas de servicio
suelen ser cortas y provocando un retraso aceptable
para la mayoría de dispositivos
 A pesar de ello, en algunos sistemas es necesario que
los dispositivos de E/S se organicen en unos niveles de
prioridad
 De esta manera una interrupción con prioridad alta
podrá ser aceptada por la CPU, incluso cuando esté
atendiendo una de un dispositivo de menor prioridad
92
5.3. GESTIÓN DE E/S. DMA
 Acceso Directo a Memoria

Sistemas Operativos Monopuesto.


 Usado por ciertos periféricos que quieren transferir
una gran cantidad de información
 Se suprime el acceso mediante IRQ y direcciones de
E/S
 La transferencia se realiza a través de unas líneas
llamadas DRQ (DMA Request):
 Acceso a memoria más rápido
 Se deja libre el procesador para otras tareas
 Utilizado por HD, tarjetas gráficas y de sonido. 93
5.3. GESTIÓN DE E/S. DMA
 Error en un periférico al usar DMA:

Sistemas Operativos Monopuesto.


 S.O. o usuario desactivan DMA
 Activación de modo PIO:
 Funcionamiento del periférico más lento
 Modo Ultra-DMA:
 DMA de alta velocidad

94
5.3. GESTIÓN DE E/S. DMA
 Técnicas para mejorar el rendimiento del sistema:

Sistemas Operativos Monopuesto.


 Caching
 Buffering
 Spooling

95
5.4. GESTIÓN DE ARCHIVOS

 Datos:

Sistemas Operativos Monopuesto.


 programas, documentos, imágenes, etc. que se almacenan de
forma permanente en memoria secundaria
 Los datos se almacenan en unas estructuras llamadas
ficheros o archivos

96
5.4. GESTIÓN DE ARCHIVOS. FICHEROS
 Fichero: colección organizada de datos que se guarda de
forma permanente en dispositivos de almacenamiento

Sistemas Operativos Monopuesto.


secundario (discos duros, CDs,...)
 Los ficheros almacenan los datos en forma de registros
 Registro: agrupación lógica de datos
 Se compone de campos de información
 Ejemplo: Fichero alumno
Número de expediente campo1
Nombre campo2
97

Dirección campo3
5.4. GESTIÓN DE ARCHIVOS. FICHEROS

Sistemas Operativos Monopuesto.


98
5.4. GESTIÓN DE ARCHIVOS. FICHEROS

 Cuando hablamos de ficheros hay que tener claros

Sistemas Operativos Monopuesto.


varios conceptos:
 Registro físico
 cantidad de información que se transfiere físicamente
desde un soporte de almacenamiento externo a la
memoria interna de ordenador en una operación de
entrada o de salida
 Clave
 campo o conjunto de campos que identifican
unívocamente un registro dentro del fichero (en el
fichero alumnos, el número de expediente) 99
5.4. GESTIÓN DE ARCHIVOS. FICHEROS

 Cada SO nombra a los archivos a su manera:


 MS-DOS nombres de 8 caracteres como máximo.

Sistemas Operativos Monopuesto.


 Unix distingue entre mayúsculas y minúsculas: PEPE.DOC y
pepe.doc son ficheros diferentes.
 Windows no distingue entre mayúsculas y minúsculas:
PEPE.DOC y pepe.doc serían el mismo fichero.
 Además del nombre, la mayoría de los SSOO añade una
extensión al nombre, para indicar el tipo de contenido.
 Ejecutables (.exe, .out, .com...)
 Fuentes (.h, .c, .cpp, .ada,...)
 Objetos (.obj, .o)
100
 Datos (.txt, .doc, ...)
5.4. GESTIÓN DE ARCHIVOS. FICHEROS

 Desde el punto de vista del SO se distinguen los


siguientes tipos de ficheros:

Sistemas Operativos Monopuesto.


 Ordinarios
 Directorios
 Especiales o de dispositivos

101
5.4. GESTIÓN DE ARCHIVOS. FICHEROS

 El acceso a un fichero

Sistemas Operativos Monopuesto.


 Define el procedimiento a seguir para acceder a los
datos que almacenan
 Está condicionado por el tipo de soporte donde ésta
se almacena
 Existen distintos tipos de acceso:
 Secuencial
 Directo
 Indexado
102
5.4. GESTIÓN DE ARCHIVOS.. ACCESO
SECUENCIAL
• Para acceder a un registro, hay que pasar por todos los
demás:

Sistemas Operativos Monopuesto.


• Este tipo de ficheros se almacena en soportes
secuenciales (como las cintas de vídeo)

103
5.4. GESTIÓN DE ARCHIVOS. ACCESO
DIRECTO
 Se puede acceder a un registro directamente, sin pasar
por los demás.

Sistemas Operativos Monopuesto.


 Se accede al registro concreto a través de la posición
del registro dentro del fichero.
 El acceso es más rápido que en el modo secuencial.
 Este tipo de ficheros se almacena en soportes de
acceso directo, como los CDs, DVDs...

104
5.4. GESTIÓN DE ARCHIVOS. ACCESO
INDEXADO
 Para acceder a un registro, primero se consulta una
tabla de índices

Sistemas Operativos Monopuesto.


 La tabla de índices contiene por cada registro
dentro del fichero:
 clave que identifica al registro ( por ejemplo
NumExpediente, ...)
 dirección relativa
 Para realizar el acceso directo al registro buscado
bastará con buscar la clave en la tabla y a partir de
ahí se tiene la dirección donde se ubica
105
5.4. GESTIÓN DE ARCHIVOS. ACCESO
INDEXADO

Sistemas Operativos Monopuesto.


106
5.4. GESTIÓN DE ARCHIVOS. FICHEROS

 Atributos

Sistemas Operativos Monopuesto.


 Información adicional, además de la que ya contienen,
con la que cada archivo está caracterizado
 Indican el nombre, la hora y fecha de creación, longitud,
protección, contraseña de acceso, fecha de actualización,
etc.
 Atributos de protección: indican que tipo de operaciones
o qué tipo de usuarios pueden usar o no los archivos:
 Sólo lectura

 Modificable

 Oculto

 Sistema 107
5.4. GESTIÓN DE ARCHIVOS. SISTEMA DE
ARCHIVOS
 Sistema de archivos (file system)
 Técnica que determina cómo almacenar los datos de

Sistemas Operativos Monopuesto.


manera estructurada
 Tipos: cada sistema de archivos establece una gestión
diferente del espacio de almacenamiento:

Sistema de Archivos Sistema/s Operativo/s


FAT16 MS-DOS y todas las versiones de Windows
FAT32 Windows 98/ME/2000/XP/Vista/7
NTFS Windows NT/2000/XP/Vista/7
EXT2/EXT3 LINUX
ReiserFS LINUX
S5 UNIX
HTFS OS/2 (IBM) 108
5.4. GESTIÓN DE ARCHIVOS. SISTEMA DE
ARCHIVOS
 Los distintos sistemas de archivos no son siempre
compatibles entre sí:

Sistemas Operativos Monopuesto.


 Unix no tiene problemas con los sistemas FAT de Windows,
pero no pasa lo mismo al contrario.
 Windows NT es compatible con FAT16, pero no con FAT32.

109
5.4. GESTIÓN DE ARCHIVOS. SISTEMA DE
ARCHIVOS: FAT
 FAT (File Allocation Table) o Tabla de asignación de
archivos

Sistemas Operativos Monopuesto


 Permite organizar la información en forma de ficheros
 La FAT funciona como el índice de un libro, es decir,
almacena la información sobre:
 Dónde comienza cada fichero, qué posición del dispositivo de
almacenamiento está la primera parte de éste y cuánto ocupa
 La FAT ha ido evolucionando a medida que lo hacían los
SSOO que la utilizaban, como MS-DOS y Windows
 Formatos: FAT 16 y FAT 32
110
5.4. GESTIÓN DE ARCHIVOS. SISTEMA DE
ARCHIVOS: FAT16
 Limitación en cuanto al tamaño que es capaz de
gestionar

Sistemas Operativos Monopuesto.


 Los sectores libres se ocupan secuencialmente:
 el primer archivo ocupará los sectores libres contiguos,
que necesite en la zona de datos
 el siguiente archivo a continuación de los sectores
ocupados por el primer archivo y así sucesivamente
 Cuando se borra un fichero, el espacio libre debe poder
volver a utilizarse
 La FAT se encarga de indicar al SO qué clústeres ocupa
un fichero 111
5.4. GESTIÓN DE ARCHIVOS. SISTEMA DE
ARCHIVOS: FAT16
 Los archivos se nombran con caracteres ASCII:
 Como máximo 8 caracteres.

Sistemas Operativos Monopuesto


 Seguido de un separador (.) y Una extensión de hasta tres
caracteres
 El nombre no puede contener espacios en blanco.
 El nombre debe empezar con una letra o número y puede
contener cualquier carácter excepto:
."/\[]:;|=,
 Todos los caracteres se convertirán a mayúsculas
 Nombres reservados: CON, AUX, COM1, COM2, COM3, COM4,
LPT1, LPT2, LPT3, PRN, NUL 112
5.4. GESTIÓN DE ARCHIVOS. SISTEMA DE
ARCHIVOS: FAT32
Respuesta para superar el límite de tamaño de FAT16

Sistemas Operativos Monopuesto




 Aún se queda pequeño para aplicaciones de vídeo, que


trabajan con archivos muy grandes

113
5.4. GESTIÓN DE ARCHIVOS. SISTEMA DE
ARCHIVOS: NTFS
 NTFS (New Technology File System) ó Sistema de archivos de

Sistemas Operativos Monopuesto


nueva tecnología
 Nace con Windows NT, que al ser un sistema operativo en
red necesitaba más prestaciones que las que podía ofrecer
FAT
 NFTS no es aconsejable para discos con menos de 400 Mb
libres, ya que necesita mucha cantidad de disco duro para sí
mismo
 MTF (Master File Table): tabla maestra es la estructura
central de NTFS
 Lo utilizan los SO Windows NT, 2000, XP, 2008 Server, Vista, 7
 Es más seguro, rápido y da mayor calidad al aprovechar
mejor el espacio físico del disco que FAT 114

 Es compatible con cualquier formato FAT


6. EJERCICIOS
1. ¿Se puede explotar un sistema monoproceso por varios usuarios?
2. ¿De qué se encarga el nivel ejecutivo de un sistema operativo? ¿Y el
supervisor?

Sistemas Operativos Monopuesto.


3. Consulta información en Internet o en revistas de informática y
contesta a las siguientes preguntas:
a) ¿Cuáles son los cuatro sistemas operativos de mayor difusión y
aceptación?
b) ¿Cuáles son los precios actuales de esos sistemas operativos?
4. Comentar que sistema operativo es mejor dependiendo de las
siguientes situaciones:
a) Trabajar en casa con varios ordenadores conectados en red.
b) Trabajar en una empresa con datos a compartir por los usuarios de
la empresa.
c) Trabajar en una empresa solo conectado a Internet.
5. Realiza un esquema completo del tema.
115
6. EJERCICIOS

6. Completa la siguiente tabla:

Número de Número de Número de Tiempo de

Sistemas Operativos Monopuesto.


Sistema operativo
usuarios procesos procesadores respuesta
DOS
Windows NT
Windows 9X, ME
Windows 2000 Professional
Windows 2000 Server
Windows XP
Windows Vista
Windows 7
Windows Server 2003
Windows Server 2008
UNIX
116
Linux
6. EJERCICIOS
7. Ejercicios Hoja 1
8. Ejercicios Hoja 2
9. Ejercicios Hoja 3

Sistemas Operativos Monopuesto.


117
1.4.1. MODELO TABLA PLANIFICACIÓN

 Ejemplo:

Sistemas Operativos Monopuesto


Instante
Proceso Duración tf T E I
llegada

A 0 3

B 1 5

C 4 2

D 5 6

E 8 4
118
5.1.1. PLANIFICACIÓN

 Ejemplo:

Sistemas Operativos Monopuesto


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A
B
C
D
E

119

También podría gustarte