Title: t
1título
Unidad 3 software del sistema operativo!
2- El sistema operativo desempeña un papel vital que
permite que los usuarios interactúen con un
sistema computacional, tales como administrar
dispositivos, administrar memoria, compartir
recursos y controlar los procesos.
3Las Capas de Software
- Los sistemas de software están compuestos de
múltiples capas. - En la ciencia de la computación, los principios
subyacentes a dichos beneficios se conocen como
encapsulación y abstracción.
4Encapsulación y Abstracción
- La Encapsulación significa que cada capa necesita
una cantidad limitada de conocimiento para hacer
su tarea, y ninguna otra capa tiene acceso a esa
información.
5- En el mundo del software, la encapsulación
significa que el programa de procesador de
palabras no necesita saber cómo controlar las
unidades de disco para abrir o guardar los
archivos hay capas de software por debajo que
manejan esos detalles.
6- Al existir abstracciones bien definidas en cada
capa, una implementación puede ser reemplazada
por otra sin afectar las capas superiores e
inferiores.
7Capas de Software
8El Hardware,
- Es la capa más baja de la computadora los
componentes físicos que lo constituyen. En
realidad hay varias capas dentro del hardware, ya
que la computadora está hecha de tableros de
circuitos, los tableros contienen múltiples
chips, los chips están compuestos de varios
circuitos, y los circuitos están compuestos de
transistores?
9El BIOS,
- Basic Input/Output System (Sistema Básico de
Entrada/Salida), es la capa más fundamental del
software. Esta capa trabaja directamente con las
señales que controlan los componentes del
hardware. La mayor parte de su trabajo se lleva a
cabo cuando se prende la computadora.?
10Controladores de los Dispositivos
- (Drivers) Son los programas que ayudan al sistema
operativo a comunicarse con los dispositivos de
modelos específicos. Para agregar un dispositivo
nuevo al hardware es necesario que esté instalado
el controlador del dispositivo en el disco duro
11- El controlador del dispositivo de un disco duro,
por ejemplo, sabe cuantas pistas tiene el disco y
los comandos que debe enviar a la unidad de disco
para que el brazo se mueva a una pista específica
para escribir o leer datos..
12El núcleo
- Es el corazón del sistema operativo y desempeña
las funciones cruciales para que todo se mantenga
operando. Administra la memoria, programa la
secuencia de las tareas, y maneja los diferentes
tipos de interrupciones que pueden ocurrir.
13El núcleo
- El núcleo debe permanecer siempre en la memoria
RAM y debido a su naturaleza, debe correr sin
algunos de los mecanismos que protegen contra
instrucciones erróneas o accesos ilegales de
memoria
14Sistema operativo
- La capa restante del sistema operativo es mucho
más grande que el núcleo. Esta capa lleva a cabo
todas las demás funciones que un sistema
operativo debe realizar. Por ejemplo, incluye un
sistema de archivos para administrar las carpetas
(folders) y los archivos en un
15La Interfaz del Programa de Aplicación, o API
- Es la capa mediante la cual los programas del
usuario (aplicaciones) se comunican con el
sistema operativo. El sistema operativo es
responsable de estar al tanto de qué programas
están usando qué partes de memoria en un momento
dado.
16La Interfaz del Programa de Aplicación, o API
- Para la administración de la memoria, el sistema
operativo define una abstracción conocida como
llamada API. El diseñador de la aplicación tiene
que saber cual llamada API usar para pedir
memoria adicional
17Las Bibliotecas de Ejecución
- (Run-time) son colecciones de rutinas de software
de las que dependen los programas de aplicación.
En un programación C para abrir un archivo y leer
datos, puedes hacer uso de las funciones
integradas fopen y fscanf. Las funciones son
llamadas de una biblioteca de rutinas de entrada
y salida llamadas stdio.
18La capa de Interfaz del Usuario
- La capa de Interfaz del Usuario es responsable de
la comunicación entre la aplicación y el usuario.
Típicamente es una interfaz de usuario gráfico
(GUI) compuesta de botones y menús desplegables.
19scripts o macros
- Muchas aplicaciones permiten a los usuarios crear
scripts o macros. Estas son rutinas que utilizan
el conjunto de comandos de la aplicación para
realizar una tarea determinada. Los scripts y
macros permiten a los usuarios automatizar las
secuencias de acciones que llevan a cabo con
frecuencia
20scripts o macros
- Los scripts están localizados en la capa superior
a la de la jerarquía de aplicación ya que están
construidos por comandos de la capa de la
aplicación.
21Bios
- El sistema BIOS desempeña tres grandes funciones
inicializa el equipo de cómputo cuando se prende
la computadora, carga el sistema operativo y
provee el soporte básico para los dispositivos
como el teclado, el ratón y los puertos seriales
22Bios
- El sistema BIOS siempre está presente, pero solo
es visible cuando se prende la computadora.
Después del inicio, el sistema operativo toma el
control.
23- Al prender la computadora no hay sistema
operativo en la memoria. La memoria RAM está
vacía. El sistema BIOS debe residir en otro tipo
de memoria para llevar a cabo su función. El BIOS
reside en un chip del la memoria ROM (memoria de
sólo lectura) en la tarjeta principal
24- Al encender la computadora, el procesador
automáticamente ejecuta las instrucciones del
ROM. Lo primero que hace el BIOS es copiarse del
ROM al RAM. A partir de ese momento, le dice al
procesador que tome todas sus instrucciones de la
RAM.
25- Otro tipo de memoria que el BIOS utiliza es la
memoria CMOS. El CMOS Semiconductor de Óxido de
Metal Complementario) es una tecnología de chip
que utiliza muy poca energía. En la tarjeta
principal se incluye una cantidad pequeña de
memoria CMOS, por lo general 64 bytes, para
almacenar los parámetros de configuración de BIOS
que controlan el equipo de cómputo.
26- Ahora puedes ver lo importante que es que el CMOS
consuma poca energía. El mayor inconveniente de
la tecnología CMOS es que es más lento que el
DRAM regular. Sin embargo, esto no es tan
importante si la memoria CMOS solamente almacena
la configuración de parámetros BIOS, ya que el
contenido sólo se utiliza en el arranque de la
computadora.
27- Al encender la computadora, el BIOS inicia su
ejecución con el examen POST ("Power-On Self
Test" o Examen de Encendido). Primero, el BIOS
habilita la tarjeta de video (la pantalla brilla)
y se despliega información básica así como el
tipo de tarjeta de video instalada, el nombre del
fabricante del BIOS y la versión del BIOS.
28- Después determina la cantidad de DRAM instalado
en el sistema y puede hacer un examen de memoria.
Este examen depende de un parámetro en la
configuración del BIOS. (En los sistemas de mucha
memoria, se puede desactivar el examen de memoria
para producir un encendido más rápido.
29- La configuración de la memoria y los resultados
de los exámenes se desplegarán en la pantalla. El
BIOS verifica cuales tarjetas de expansión y
adaptadores están presentes y los inicializa.
30- Para concluir la secuencia POST, el BIOS
despliega la información de la configuración del
sistema, así como el tipo de procesador
instalado, la información de la memoria caché,
los tipos de unidades de disco, las direcciones
de los puertos seriales y paralelos y la lista de
otras tarjetas de expansión detectadas.
31- Una vez que se finaliza la secuencia POST, el
siguiente trabajo del BIOS es cargar el programa
que a su vez cargará al sistema operativo. Para
hacer esto es necesario que BIOS conozca
suficiente sobre las unidades de disco para poder
leer un grupo de datos llamados Registro de
Inicio Maestro (Master Boot Register), o MBR.
32- De manera convencional el MBR se encuentra en la
primera pista del disco. El programa MBR carga al
sistema operativo y lo empieza a operar
33- Para encontrar el sistema operativo, el BIOS
sigue un orden de búsqueda. Empieza buscando en
la unidad A, si el disco no contiene el MBR,
busca en la unidad de disco B. Si no tiene éxito,
busca el MBR en la unidad de disco C, la cual
normalmente es el disco duro principal. Y así
continua hasta encontrarlo.
34Modificando la Configuración del BIOS
- Para modificar la configuración del BIOS, es
necesario entrar al programa de instalación del
BIOS durante la secuencia de inicio. Esto se hace
oprimiendo una tecla o una combinación de teclas,
tal como F2 o ALTCTRLESC.
35Modificando la Configuración del BIOS
- La nueva configuración se almacena en la memoria
CMOS para que esté disponible la siguiente vez
que se prenda la máquina. Al modificar la
configuración del BIOS se debe hacer con mucho
cuidado ya que una configuración incorrecta puede
causar que la computadora ya no funcione.
36Control de Proceso
- Otra tarea del sistema operativo es estar al
tanto de todos los procesos que tratan de
ejecutarse en un momento dado, asegurando de que
cada proceso tenga oportunidad de ejecutarse
continuamente. Un proceso es una instancia de un
programa que se está ejecutando.
37Control de Proceso
- El proceso incluye un conjunto de páginas de
memoria, un conjunto de descriptores de archivos
abiertos (si es el caso de que el proceso haga
entradas/salidas), un identificador de proceso y
algunas cosas más. El núcleo del sistema
operativo mantiene una lista de cada proceso que
se está ejecutando en el sistema.
38Control de Proceso
- Esto incluye todos los programas que el usuario
está ejecutando, aparte de varios programas que
implementan partes del sistema operativo fuera
del núcleo, tal como el soporte a impresoras y a
la red.
39Control de Proceso
- Cada proceso se puede encontrar en cualquiera de
los siguientes estados ejecutando, ejecutable o
bloqueado. Solamente se puede ejecutar un proceso
a la vez muchos pueden ser ejecutables. Un
proceso bloqueado es un proceso que se encuentra
esperando a que ocurra algún evento.
40Control de Proceso
- Por ejemplo, la cola de impresión está bloqueada
la mayor parte del tiempo solo se convierte en
ejecutable cuando un usuario selecciona el
comando Imprimir, el cual activa el proceso.
41Control de Proceso
- En una computadora con sistema operativo Windows
puedes ver la lista de tareas y procesos que se
están ejecutando al invocar al Administrador de
Tareas (Task Manager). (En Windows, una tarea es
una aplicación que el usuario ejecuta y aparece
en la barra de tareas. Una tarea se lleva a cabo
por medio de uno o más procesos.).
42Control de Proceso
- En una computadora con sistema operativo UNIX,
los comandos ps y top despliegan la información
sobre los procesos. - El núcleo del sistema operativo mantiene una cola
(queue), también conocida como cola de ejecución,
o lista de espera de procesos ejecutables. Para
dar la impresión de que todos los procesos corren
simultáneamente, utiliza multitarea prioritaria
43Control de Proceso
- Las interrupciones del reloj le permiten al
núcleo la oportunidad de revisar la cola y ver si
se le debe dar oportunidad de ejecutar algún otro
proceso. En caso que sí, el estado del proceso
que corría en ese momento se baja del estado
ejecutando a ejecutable se anota el progreso de
su ejecución y los contenidos de sus registros se
almacenan para que se pueda continuar en un
futuro.
44Control de Proceso
- Los procesos bloqueados también generan este tipo
de interrupciones, pero la respuesta a la
pregunta anterior siempre es un sí. Después, otro
proceso de la cola se selecciona para ejecutarse.
Si el núcleo cambia de procesos con suficiente
frecuencia, ante los ojos del usuario parece como
que todos los procesos se están ejecutando al
mismo tiempo
45Control de Proceso
- El hecho de cambiar entre un proceso y otro
requiere de un intercambio de contexto (context
switch), el cual toma tiempo. Para llevar a cabo
un intercambio de contexto, el procesador debe
limpiar la secuencia de instrucciones que está
ejecutando, almacenar sus contenidos, cargar una
nueva tabla de página, etc
46Control de Proceso
- Los sistemas operativos modernos ejecutan
procesos ligeros, llamados hilos (threads), que
tienen el mismo espacio para la dirección y
comparten las mismas descripciones de archivos
473.2 Administración y Configuración de
Dispositivos
- Otra función del sistema operativo es administrar
los dispositivos de entrada y salida que están
instalados en la computadora. Para tener control
del equipo de cómputo a este nivel se requiere de
la interacción entre el núcleo del sistema
operativo, los controladores de los dispositivos
y el BIOS
48Interrupciones
- El manejo de las interrupciones es una de las
tareas más importantes del núcleo (kernel) del
sistema operativo. Una interrupción le señala al
procesador que un evento ha ocurrido y que
requiere de atención inmediata. A menudo las
interrupciones están asociadas con una operación
de entrada/salida.
49Interrupciones
- El núcleo identifica lo que causó la interrupción
y responde de manera apropiada. Debe actuar con
rapidez. Debe administrar cada interrupción en
menos de una milésima de segundo para evitar la
pérdida de información debido a la siguiente
interrupción.
50- A continuación se explica cómo responde a una
interrupción de teclado lo cual ocurre cada vez
que oprimes una tecla. Antes de que oprimas una
tecla el procesador está ocupado ejecutando algún
otro programa.
51- En ese momento, teclas "http". Al oprimir la
letra "h", el teclado le trasmite un byte de
datos a la interfaz PS/2 del teclado en la
tarjeta principal. La interfaz interrumpe al
procesador para pasarle el byte de datos al
controlador del dispositivo. Esto se debe hacer
rápidamente antes de que oprimas la letra "t"
para que no se pierda la información de la
siguiente letra que se teclea.
52- La interfaz del teclado le manda al procesador
una señal llamada IRQ (interrupt request) o
petición de interrupción. Cuando el procesador
recibe la señal, detiene la ejecución del
programa de aplicación (en nuestro caso un editor
de página de Web), y toma nota de la dirección de
la última instrucción que se ejecutó.
53- Enseguida, se va a la dirección del administrador
de interrupciones del teclado, y comienza la
ejecución de las instrucciones que encuentra
allí. Debido a que el registro del procesador
contiene los datos del programa que el usuario
estaba manipulando antes, el administrador de las
interrupciones debe almacenar los contenidos de
ese registro antes de poder usarlo.
54- Una vez que se almacenaron los registros, está
libre para examinar el estado de la interfaz del
teclado y aceptar el byte de datos de entrada.
Coloca el byte en un área de almacenamiento que
el controlador de teclado revisará en su
siguiente corrida, probablemente en el siguiente
milisegundo
55- Luego, el administrador de interrupciones
restituye el contenido de los registros
previamente almacenados y le transfiere el
control a la tarea que se estaba ejecutando
anteriormente (en este caso la aplicación de
edición de página de Web), y continúa su
ejecución partiendo del lugar en el que se quedó
al ocurrir la interrupción.
56Prioridad de Interrupciones e Interrupciones
Anidadas
- El procesador asigna prioridades a los
diferentes tipos de interrupciones. Los
dispositivos de baja velocidad, como el teclado,
tienen baja prioridad. Los dispositivos de alta
velocidad como el disco SCSI tienen prioridad
alta ya que para funcionar de manera óptima
requieren de una respuesta rápida.
57- El administrador de interrupciones solo permite
que una interrupción sea interrumpida por una de
mayor prioridad.
58Trampas y Fallas
- Una trampa (trap) es un evento similar a una
interrupción. La diferencia es que la trampa es
provocada por la ejecución de instrucciones del
procesador mientras que la interrupción la
provoca una señal externa.
59Trampas y Fallas
- Un ejemplo es la división entre cero. Si un
programa de usuario trata de dividir un número
entre cero, los resultados no tienen sentido y la
ejecución no puede continuar de manera segura. De
manera similar al manejo de la interrupción, el
procesador se "traba.
60Trampas y Fallas
- El administrador de trampas puede imprimir un
mensaje de error y terminar el programa del
usuario, o puede responder de otra manera, tal
como forzar a que el resultado de la instrucción
de la división sea 0 permitiendo que el programa
continúe ejecutándose
61- Un tercer tipo de evento se conoce como falla
(fault). Una falla ocurre cuando se le pide al
equipo de cómputo que haga algo que no puede
hacer, tal como acceder una localización de
memoria inexistente. (Los programadores del
lenguaje C que utilizan apuntadores probablemente
vean este tipo de falla de "memoria inexistente"
al depurar su código.).
623.2.2 Atributos del Hardware
- Cada dispositivo debe tener su controlador en el
sistema operativo para administrar los comandos,
la transferencia de datos, y las condiciones de
error que ocurren. Cada sistema operativo
especifica la interfaz que debe utilizar el
controlador de un dispositivo. Esto significa que
cada dispositivo particular debe tener un
controlador para el sistema operativo en el que
se va a utilizar, para que funcione
adecuadamente.
63- Los controladores pueden estar incluidos en los
archivos de distribución del sistema operativo o
pueden ser incluidos por el fabricante del
dispositivo. Cuando sale al mercado un sistema
operativo como Windows, se prueban e incluyen
muchos de los dispositivos (impresoras, módems,
escáneres) populares
64- Es una buena idea consultar en el sitio de
Internet de la compañía para verificar si existe
una versión actualizada del controlador.
65Memoria Virtual
- Una de las tareas más importantes del núcleo
(kernel) del sistema operativo es la
administración de la memoria del sistema. - Los sistemas operativos modernos, así como
Windows y Linux, manejan la memoria virtual, la
cual aumenta la flexibilidad de los programas.
66- En los sistemas operativos antiguos, todos los
programas se ejecutaban en espacio de direcciones
reales, ya que no había espacio de direcciones
virtuales. - Relocalización de la memoria.
67Memoria Virtual
- En un sistema de memoria virtual, cada programa
se ejecuta en su propio espacio de dirección. De
ese modo, cuando un programa se carga en memoria,
no es necesario relocalizar. Un espacio de
dirección virtual puede ser más grande o más
pequeño que la memoria física del procesador.
68Memoria Virtual
- Para que funcione este esquema, se requiere del
soporte del equipo de cómputo para la memoria
virtual. Primero, la memoria se divide en partes
llamadas páginas. Una página es la unidad más
pequeña de memoria que se le puede asignar a un
programa.
69Memoria Virtual
- En las plataformas de Pentium, una página es de
4KB. En segundo lugar, el procesador debe tener
la habilidad de convertir una dirección virtual
en una real
70- Los procesadores que soportan memoria virtual,
tal como Pentium, pueden ejecutarse en dos
diferentes modos. En modo real, las direcciones
hacen referencia a las posiciones físicas de la
RAM. Solamente el núcleo puede correr en modo
real.
71- En el modo virtual, cada dirección se convierte a
una posición física de memoria por medio de una
tabla de páginas. La tabla de páginas le asigna
su dirección real en RAM a cada página en el
espacio de dirección virtual.
72- Cuando el programa del usuario está en modo
virtual, siempre se hace la traducción de
direcciones. Toda referencia de memoria se
traduce. Esto sucede muy rápidamente debido a que
la traducción tiene lugar en el chip del
procesador.
73- Usando el esquema de memoria virtual, cada
programa tiene su tabla de páginas y el núcleo lo
maneja. Además, la memoria física asignada al
programa no tiene que ser contigua.
74- Con un poco de ayuda del hardware, podemos llevar
este esquema un paso más adelante y separar por
completo a la memoria virtual de la RAM. Digamos
que no deseamos cargar el programa entero al RAM
al mismo tiempo, y cargamos solo unas cuantas
páginas.
75- Los circuitos de traducción revisan la tabla de
página y se encuentran con un marcador "no está
en RAM" y se genera una falla de página (page
fault). Esta es un tipo de interrupción. El
procesador detiene la ejecución del programa del
usuario y le pasa el control al núcleo del
sistema operativo.
76- Cada vez que el proceso hace referencia a una
página que se encuentra en disco, la página se
mueve a la memoria RAM. Cuando el proceso no ha
hecho referencia a una página por algún tiempo,
esta se puede pasar al disco.
77- Una desventaja de utilizar disco duro para la
memoria virtual, es que mantiene al disco duro
tan ocupado que se puede retrasar el acceso a
otros archivos.
78Compartir Archivos e Impresoras
- En una red, los archivos también se pueden
compartir entre usuarios. Algunos archivos deben
de ser privados sin acceso para los demás
usuarios. - Las impresoras se comparten entre los programas
de aplicación, entre usuarios y entre
computadoras.
79- Cuando se va a imprimir un archivo, se manda a la
parte del sistema operativo que mantiene la cola
de las peticiones de impresión llamada servidor
de impresión. El servidor procesa las peticiones
una por una.
80- Al llegar la petición, se almacena en el disco.
El proceso es conocido como gestión de la cola de
impresión (spooling). "Spool" por Operación
Simultánea de Periférico en Línea, Simultaneous
Peripheral Operation Online, en inglés.
81Organización de Archivos
- Uno de los principales usos de las computadoras
es para almacenar y obtener información. La
información está almacenada en uno o más
"archivos", los cuales a su vez están organizados
en "carpetas".
82Organización de Archivos
- El sistema de archivos de Microsoft Windows
utiliza cuatro clases de entidades archivos,
carpetas, unidades de disco (drives), y accesos
directos (shortcuts).
83Organización de archivos en el sistema operativo
Windows
84Archivos
- Cada archivo contiene datos. A un archivo
asociado con una aplicación en particular, tal
como Microsoft Word, Excel o PowerPoint, se le
denomina documento. Cada archivo tiene un nombre.
En Windows, los nombres de archivos pueden
extenderse hasta 255 caracteres y pueden contener
letras, números y caracteres especiales
incluyendo espacios
85Archivos
- Aunque Windows permite el uso de letras
mayúsculas y minúsculas en el nombre de un
archivo, la distinción se ignora por el sistema
de documentos. Entonces, si creas un archivo
llamado Amigos, podrás accederlo como amigos o
AMIGOS o AmIgOs. Otros sistemas operativos, como
Unix/Linux, son sensibles a las letras
mayúsculas.
86- Cada archivo tiene un conjunto de propiedades
asociadas. el tipo de archivo, el cual indica a
Windows qué aplicación debe usarse para abrirlo.
el tamaño del archivo, el día y hora en que se
creó, y la fecha y hora de la última
modificación.
87- Puedes ver las propiedades de un archivo haciendo
clic con el botón derecho del ratón sobre el
icono del archivo y seleccionar Propiedades del
menú que aparece.
88Carpetas
- Los documentos se almacenan en carpetas. Las
carpetas tienen nombre y propiedades y se
encuentran dentro de otra carpeta llamada
directorio padre. Esto proporciona al sistema de
archivos una estructura jerárquica, como un árbol
genealógico. De esto proviene el término "padre.
El más alto en la jerarquía de carpetas se llama
carpeta raíz.
89Unidades de Disco (Drives)
- Los archivos se encuentran almacenados en una
unidad de disco (drive) de la computadora. Una
computadora puede tener muchas unidades de disco
unidad A, unidad C, unidad D, unidad E, etc
90Rutas de Acceso (Paths)
- Una ruta de acceso contiene el nombre de una
unidad de disco y una secuencia de nombres de
carpetas, separadas por diagonales inversas
seguido por, si nos referimos a un documento, el
nombre del documento mismo.
C\Dave\1998\ventas.xls.
91- La ruta de acceso hacia el directorio raíz en
esta unidad se escribe como C\.
92Accesos Directos (Shortcuts)
- Un acceso directo (shortcut) representa otra
forma de llegar a un archivo. Los accesos
directos tienen nombre y se ubican dentro de
carpetas, igual que los archivos. Pero un acceso
directo no contiene datos. En lugar de ello, la
característica del acceso directo es que
especifica la ruta de acceso hacia un documento.
93- A este archivo se le llama destino (target) del
acceso directo. El destino puede estar en
cualquier parte, aún en una unidad de disco
diferente al acceso directo. Un acceso directo
sólo refiere hacia el destino no es una copia de
éste. Así, cuando abres un acceso directo y
editas su contenido, estarás editando el "archivo
destino".
94Nombres y Tipos de Archivos
95- Tabla de Asignación de Archivos (FAT) y el
Sistema de Archivos NT
96- Los discos están divididos en pistas (tracks) y
sectores.
97- Los sectores están compuestos por una cantidad
fija de bytes, generalmente 512 bytes. Para
almacenar un archivo, se le asignan uno o más
sectores del disco. Si el archivo solamente tiene
una línea o dos de texto, el archivo cabe en una
fracción del sector. En dicho caso, el resto del
sector se queda sin usar
98- A la parte del sector que no se utiliza la
llamaremos espacio vacío (slack space). Un
archivo demasiado grande, con millones de bytes,
probablemente no pueda ser almacenado en una sola
pista. Tal archivo requerirá miles de sectores en
varias pistas (no se requiere que sean pistas
contiguas)
99- Debido a que por lo general existen cientos o
miles de archivos en un disco y cada uno de ellos
tiene asignado uno o más sectores, es necesario
llevar una organización de archivos.
100- Debido a que los sectores son pequeños, los
sistemas computacionales modernos los agrupan en
clusters y hacen lectura y escritura a un cluster
entero a la vez. Un cluster es la cantidad más
pequeña de espacio que cualquier archivo puede
ocupar en un disco
101- Un cluster contiene 4, 8, 16, 32 o 64 sectores
adyacentes (el número debe ser una potencia de
2). El tamaño de cluster depende de la capacidad
del disco, mientras más grande sea el disco, más
grande será el tamaño del cluster.
102- Se reserva una pequeña parte del disco a la Tabla
de Asignación de Archivos (File Allocation Table
-FAT), la cual contiene un registro para cada
cluster del disco. Por lo tanto, el FAT es el
mapa del disco. A cada cluster que forma parte
de un archivo se le asigna el número del
siguiente cluster de dicho archivo.
103- Esta asignación se la proporciona la tabla FAT.
De esta manera, todos los clusters que integran
un archivo están encadenados. Si se conoce la
dirección del primer cluster del archivo, se
pueden encontrar todos los clusters siguientes de
la cadena. La tabla FAT le asigna un carácter
especial al último cluster indicando que es el
último en la cadena.
104FAT16
- La tabla FAT del sistema operativo MS-DOS y de
las primeras versiones de Windows usaba 16 bits
para cada registro, lo cual permitía 2 16 ó
65,536 clusters. Este esquema se conoce como
FAT16.
105FAT16
- Al crecer la capacidad de los discos duros,
surgió el siguiente problema la tabla FAT se
hizo muy pequeña como para acomodar a todos los
clusters disponibles y solo permitía particiones
de máximo 2 GB en disco duro.
106FAT16
- El siguiente cálculo muestra cómo el límite de la
partición de 2GB se deriva 512 (29) bytes por
sector 64 (26) sectores por cluster 216
clusters en una FAT 16 partición 231 bytes
2GB).
107FAT16
- Además, se desperdiciaba mucho espacio en disco
con los archivos pequeños que tienen más espacio
vacío.
108- Para solucionar el problema de los discos duros
con capacidad mayor a 2GB que utilizan la tabla
FAT16 se puede dividir el disco en unidades de
disco lógicos tales como C, D, y E, cada uno con
su propia tabla FAT.
109- Esta solución funciona, pero el usuario se ve
forzado a almacenar sus archivos en diferentes
unidades de disco lógicos. Otra cosa, si una
unidad de disco se satura, ningún archivo de
dicha unidad puede crecer, aún cuando exista
espacio libre en otra partición del disco.
110FAT32
- Para resolver los problemas mencionados
anteriormente, Windows 9x/2000/XP utiliza un
sistema de archivos FAT32. En este sistema, se
usan 32 bits (4 bytes) por entrada, pero los
primeros 4 bits están reservados. Por lo tanto,
tiene un total de 2(32-4) 228 268435456
clusters.
111FAT32
- En un sistema de archivos FAT32, se pueden usar
clusters más pequeños que los usados en los
clusters FAT16. Esto permite una asignación de
espacios más eficiente en el drive FAT32. FAT32
tiene capacidad para soportar un disco duro de 2
terabytes.
112Sistema de Archivos NT
- Una mejora a los sistemas de archivo FAT es el
Sistema de Archivos NTFS (New Technology File
System) utilizado en Windows 2000/NT/XP. En el
NTFS, el tamaño del cluster es variable,
dependiendo del tamaño de los discos lógicos.
113Sistema de Archivos NT
- El tamaño del cluster se determina
automáticamente por la utilería de Formato NTFS,
por lo tanto, ofrece cierto nivel de
flexibilidad. Esta flexibilidad no está
disponible en el FAT16 ni en el FAT32. Estas
características permiten una mejor asignación de
espacio en disco.
114- El NTFS mantiene la consistencia de datos usando
journaling, manteniendo un registro de cada
operación de E/S que modifique un sistema de
archivos dentro de un disco lógico. Si el sistema
falla, la estructura del directorio de archivos
puede recuperarse, basada en la historia de las
operaciones de E/S desarrolladas en el sistema de
archivos
115- Otra característica del NTFS sobre Windows
2000/XP es el Sistema de Archivos Cifrados
(Encrypted Files System -EFS). El EFS permite que
los datos sean cifrados (encrypted) conforme se
vayan guardando en el disco.
116- El NTFS también soporta el control de acceso de
datos y privilegios de propiedad, para restringir
el acceso sin autorización a los datos, en un
ambiente multiusuario.
117(No Transcript)
118(No Transcript)