Sei sulla pagina 1di 55

Tema 8:

Introducción a los
Sistemas Operativos

Escuela Politécnica Superior


Ingeniería Informática
Universidad Autónoma de Madrid

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.

o Sus principales tareas son permitir:


• Control de recursos
• Facilidad de uso
• Eficiencia de uso.

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

oSistemas operativos de Microsoft

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

Windows 95 (1995) Windows 2000 (2000)


•Versión completa en 32 bits •Basado en kernel de NT
•Multitarea real •Orientado a redes y a servidores
•Nueva interfaz
•Api Win32 (32 bits) Windows XP (2001)
•Núcleo basado en DOS •Fusión entre Windows 98 y 2000
Windows 98 (1998) •Basado en kernel de 2000
•Mejoras en interfaz •Compatibilidad con todas las
•Nuevos dispositivos versiones anteriores
•Soporte para juegos y multimedia 10
UNIX: CARACTERÍSTICAS

o Se puede considerar como un conjunto de


familias de SO que comparten ciertos
criterios de diseño e interoperabilidad.
o Sistema operativo multiusuario.
o Sistema operativo multiproceso.
o “Case sensitive” (Mayúsculas y minúsculas).
o Diferentes interfaces (bash).

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

o Sistema operativo de Macintosh.

o Desarrollado a mediados de los 80.

o Es el precursor de los sistemas operativos


con interfaz gráfica.

15
TAREAS DE GESTIÓN DE UN SO

o De 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.

16
TAREAS DE GESTIÓN DE UN SO

o Gestión del procesador

o Gestión de la memoria

o Gestión de las entradas y salidas

o Gestión de los archivos

17
GESTIÓN DEL PROCESADOR

o La gestión por parte del SO se centra en el


concepto de proceso.
o Un proceso es un programa en el que se ha
iniciado su ejecución.
o Por lo tanto un programa es un ente pasivo
mientras que un proceso es un ente activo.
o Se pueden dividir en:
• Monoprogramación
• Multiprogramación.
18
MONOPROGRAMACIÓN
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.

19
MONOPROGRAMACIÓN

20
MONOPROGRAMACIÓN

o Se desaprovecha la memoria principal: ésta


sólo se ocupa parcialmente.
o Se desaprovecha el procesador: siempre que
hay una operación de E/S, éste no se utiliza.
o Los periféricos están infrautilizados: el
programa en ejecución en un instante dado
sólo puede utilizar uno de los recursos
hardware.

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

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

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

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.

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:

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

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

o Multiusuario: Sistema multiprogramación que prevé el uso


concurrente de distintos usuarios, identificados y autenticados.
o Tiempo compartido: Sistema multiprogramación y multiusiario
que 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.

33
TAREAS DE GESTIÓN DE UN SO

o Gestión del procesador

o Gestión de la memoria

o Gestión de las entradas y salidas

o Gestión de los archivos

34
GESTIÓN DE LA MEMORIA

o Un programa máquina es una secuencia de


instrucciones en código máquina que ocupan
n palabras de memoria.
o En el momento de ejecutarse, las palabras
de memoria pueden numerarse
correlativamente de la 0 a la n-1.
o Las direcciones de cada una de estas
palabras se denominan direcciones virtuales
(dv).
35
GESTIÓN DE LA MEMORIA

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 dB
má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.

36
GESTIÓN DE LA MEMORIA

La asignación de memoria para distintos procesos


que se ejecutan concurrentemente se realiza
dependiendo del SO de la siguiente forma:
o Particiones estáticas
o Particiones dinámicas
o Segmentación
o Paginación
o Memoria virtual.

37
PARTICIONES ESTÁTICAS

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.

38
PARTICIONES DINÁMICAS

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.

39
SEGMENTACIÓN

o Los programas se consideran divididos en


segmentos.
o El SO mantiene una tabla de segmentos,
indicando la ubicación en memoria de cada
uno de ellos y su tamaño.
o La segmentación permite que ciertos
procesos puedan compartir código (rutinas,
etc.) o datos comunes sin necesidad de
estar duplicados en memoria principal.
40
PAGINACIÓN

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

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 del procesador

o Gestión de la memoria

o Gestión de las entradas y salidas

o Gestión de los archivos

45
GESTIÓN DE E/S
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 de
disco. 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.

46
MODELO DE CAPAS

Programa de usuario
Llamadas al sistema Peticiones satisfechas

Software de E/S independiente del dispositivo


Peticiones de E/S Peticiones satisfechas

Organización física
Peticiones de E/S Peticiones satisfechas

Controladores software de los dispositivos hardware


Instrucciones al controlador Peticiones de interrupción

Dispositivos hardware

47
MODELO DE CAPAS
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.

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 del procesador

o Gestión de la memoria

o Gestión de las entradas y salidas

o Gestión de los archivos

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

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.

52
SISTEMAS DE ARCHIVOS

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.

53
SISTEMAS DE ARCHIVOS

o Fichero de índices o i-nodos:

54
SISTEMAS DE ARCHIVOS

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.

55