Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema V – Parte 2
Sistemas Operativos I
Sistemas Operativos: Sistema de Archivos
El número mágico permite al S.O determinar si el ejecutable es válido, comparándolo con el o los valores que
Número Mágico tiene el sistema como válido. En NachOS por ejemplo es el binario 0xbadfad.
Tamaño de datos Tamaño en bytes que mide el segmento de datos embedidos en el ejecutable
Tamaño de BSS Tamaño en bytes que mide el segmento de variables no inicializadas (Ej: int a[1000] )
Punto de ingreso Posición del Program Counter al inicio (punto de inicio del programa)
Segmento de código. Contiene las instrucciones que son ejecutadas por la CPU.
Código
Segmento de datos. Contiene datos que están embedidos en el archivo ejecutable que son utilizados por este.
Datos
La tabla de símbolos es un elemento opcional que sirve al debug de un proceso. Contiene el listado de
Tabla de Símbolos identificadores del programa (variables, procesos), los cuales permiten depurar un programa en ejecución.
Sistemas Operativos: Sistema de Archivos
Los sistemas de archivos guardan, además del nombre del archivo y sus datos, información como fecha,
hora, usuario, permisos, etc; los cuales se denominan atributos.
Temporal Bit que indica si eliminar el archivo al terminar el proceso que lo creo.
Indicadores de Bloqueo Permiten establecer protecciones sobre parte o todo el archivo para que
modificaciones concurrentes de varios procesos se hagan de forma
adecuada.
Longitud del registro En archivos con registros, indica el largo de cada registro
Directorios ://
Estilo Unix
local/
share/
-Directorio Raíz: aquel que contiene al resto del sistema de
archivos. En linux es explicito (/), en windows está escondido detrás home/
de las unidades lógicas (\??\)
jmakuc/
-Directorio de trabajo: directorio en el cual se esta ejecutando un
cmolina/
proceso, como por ejemplo el interprete de comandos. Este se
simboliza con un punto (.). Las entradas X: se
denominan unidades y
-Ruta absoluta: ubicación de un archivo o directorio indicando su representan a
\??\ particiones de los discos
posición explicitando todos los directorios desde el directorio raíz al
elemento. Ej: /usr/local/nachos/code/build.linux/nachos.
Estilo Windows
-Ruta relativa: ubicación de un archivo o directorio indicando su
C:\ D:\
posición respecto al directorio de trabajo actual.
Ej: ../build.linux/nachos
Documents And Settings Videos
-Directorio Padre: aquel en el cual es contenido un directorio. Se
Temp mp3
simboliza con punto doble (..).
Windows Películas
Sistemas Operativos: Sistema de Archivos
Tabla de particiones
MBR: Master Boot Record o Registro Maestro de Arranque. Es leído y ejecutado por la
BIOS al encenderse el computador.
Cilindro: disco físico. Ej: 1 diskette tiene 1 cilindro, mientras que un disco duro puede tener varios.
Pistas: divisiones concéntricas del disco. Un disco removible de 3.5” tiene en formato simple 18 pistas.
Sectores: unidad atómica en la que se divide un disco para acceder a él en múltiplos de esta. Ej: 512b
Bloques: agrupación de sectores que realiza el sistema operativo, denominado cluster en sistemas Windows. El acceso al disco
que realiza el S.O. se hace en esta unidad.
Sistemas Operativos: Sistema de Archivos
En sistemas de archivos de discos, estos deben considerar la estructura básica: particiones o volúmenes.
Disco entero
Tabla de particiones
Cada partición debe contener la información de todos los archivos (y directorios si corresponde) que
alberga. Esta información es almacenada en sectores al inicio del volúmen, cuya estructura varía
considerablemente entre sistemas de archivos, aunque conceptualmente se puede graficar como
sigue.
Por ejemplo, un disco duro con las siguientes características: cilindros = 6.253,
cabezas = 16 y sectores = 63.
El número total de sectores será 6.253 * 16 * 63 = 6.303.024 sectores.
Si cada sector almacena 512 bytes de información, la capacidad máxima de
este disco duro será de 6.303.024 sectores * 512 bytes/sector = 3.227.148.228
bytes ~ 3 GB.
Traducción de direcciones
La dirección física de un sector está constituida por una terna (cilindro, pista, sector).
El SO trata el disco como una tabla de bloques de disco unidimensional, donde cada
bloque es un sector.
La traducción de un número de bloque en una dirección física depende de la numeración
del disco
Empezar desde el cilindro exterior, superficie superior y un sector al azar marcándolo como (0, 0,
1)
Completar los sectores de la pista actual hasta (0, 0, s)
Pasar a la siguiente superficie con (0, 1, 0)
Repetir para todas las pistas del cilindro hasta (0, p, s)
Pasar al siguiente cilindro, superficie superior (1, 0, 1)
Completar con los cilindros interiores (c, p, s)
Traducción de direcciones
En un disco con P pistas/cilindro y S sectores/pista:
Para calcular el número de bloque de una dirección física (i, j, k):
b = i*P*S + j*S + k
Para obtener la dirección física de un bloque b:
i = int(b/PS) r = mod(b/PS)
j = int(r/S)
k = mod(r/S)
El BIOS del PC
GPT no es más que otro estilo distinto de tabla de particiones, la cual fue
implementada para los modernos sistemas EFI o Extensible Firmware
Interface, que ha sustituido al antiguo sistema BIOS de los ordenadores.
Entonces, mientras que BIOS utiliza MBR para gestionar el disco duro y el
arranque del sistema, GPT está orientado a ser el sistema propio para UEFI.
El nombre que recibe de GUID o GPT proviene de que el sistema le asocia un
identificador global único a cada partición (Global Unique Identifier). La extensión del
nombre de GUID es tan larga que podríamos poner nombre a todas las particiones que
hay en el mundo con un identificador único distinto, por lo que las limitaciones no
existen para este estilo de partición más allá que las del propio disco duro y sistema
operativo. Por ejemplo, Windows tiene un límite de 128 particiones primarias GPT.
Al igual que una partición MBR, un disco duro con una tabla de particiones GPT
comienza el disco con una entrada MBR como meros propósitos de compatibilidad
con los antiguos sistemas BIOS para PC. Pero realmente se basa en las capacidades de la
propia EFI para realizar los procesos de gestión y arranque del contenido del disco
Esto significa que GPT cambia por ejemplo el sistema de direccionamiento de
nuestro disco duro. Mientras que el MBR utiliza el tradicional sistema CHS o
Cilindro-Cabeza-Sector para enviar las direcciones de datos al dispositivo, GPT lo
hace mediante LBA o dirección de bloque lógica para referirse a la región en donde se
encuentran los datos físicamente almacenados en nuestra unidad de almacenamiento.
Otra de las grandes diferencias entre MBR y GPT es la limitación de particiones y su
tamaño: con MBR podremos solamente crear cuatro particiones primarias y no de
un tamaño mayor a 2 TB cada una. Por ejemplo, en un disco duro de 16 TB ya
tendríamos patente esta limitación en sus dos aspectos. En GPT no hay prácticamente
ningún tipo de limitación salvo la del sistema operativo y el disco duro.
Las siglas GUID se refieren al Globally Unique Identifier (en castellano, identificador
único global). Se trata de un número exclusivo de 128 bits (16 bytes) que se asigna a
cada archivo o documento y que, en el caso de los discos duros, también permite
identificar a los medios de almacenamiento y tipos de particiones de forma inequívoca.
ventajas y características de la partición GPT
Particiones primarias ilimitadas: aunque, en teoría, la tabla de particiones admite un número
ilimitado de particiones primarias, en la práctica, los sistemas operativos establecen un límite. Por
ejemplo, el valor de Windows asciende a 128, lo que resulta más que suficiente.
Protección mediante sumas de verificación CRC32: las sumas de verificación garantizan la
integridad de la cabecera GPT, ya que permiten detectar los sectores defectuosos.
Identificación clara de particiones y medios de almacenamiento: como ya hemos mencionado,
con la tecnología GUID, todas las particiones y medios de almacenamiento obtienen un número
de identificación único.
Copia de seguridad de la cabecera: la cabecera de la tabla de particiones GUID no solo queda
respaldada por la suma de verificación que hemos descrito, sino también por una copia de
seguridad idéntica,
Compatibilidad con sistemas anteriores: el llamado Protective Master Boot Record (MBR
protector) del sector 0, el primer bloque de datos de un disco duro GPT, asegura que casi todos los
sistemas operativos, servicios y herramientas diseñados para la partición MBR funcionen también
con la GPT.
Relación entre LBA y CHS
Tiempo de acceso
Tiempo de acceso: tiempo transcurrido desde que la unidad de control
proporciona a la unidad de disco una dirección de un sector, hasta que dicho
sector es transferido a la memoria.
Latencia Promedio : Es el promedio de tiempo para que el disco una vez en la pista correcta
encuentre el sector deseado, es decir el tiempo que tarda el disco en dar media vuelta.
Velocidad de transferencia : velocidad a la que los datos (bits) pueden transferirse desde el disco a
la unidad central. Depende esencialmente de dos factores : la velocidad de rotación y la densidad de
almacenamiento de los datos en una pista
Los discos duros actuales pueden presentar un tiempo de búsqueda
de alrededor de unos 9 ms, dispositivos móviles unos 12 ms, y
servidores de gama alta alrededor de 4 ms de tiempo de búsqueda
promedio.
Los discos duros de estado sólido (SSD)presentan un tiempo de
búsqueda entre los 0.08 y 0.16 ms.
Gestión del Almacenamiento Secundario
Algoritmos de ubicación:
Asignación Contigua
Se entrega espacio continuo en el disco a los archivos.
Su ventaja es la implementación simple y el buen desempeño en lectura.
La desventaja es la fragmentación excesiva y compleja dado que se DEBE
escribir cada archivo como un todo cada vez.
Si se elimina un archivo se requiere otro de igual tamaño para no
desperdiciar lugar, o reubicar los archivos para hacer espacio a un archivo
más grande.
Dirección del bloque 1 Esta estructura contiene las direcciones de los bloques
en disco que componen al archivo.
Dirección del bloque 2
Se utiliza una lista enlazada de bloques de disco que contienen 123 3 987
números de bloques libres.
Se almacenan tantos números como se pueda en cada bloque. 32 54 976
Para agilizar el proceso de búsqueda de un bloque libre, se
33 55 765
mantiene uno o más bloques en memoria, dejando el resto en
disco. 433 56 433
La desventaja es que cuando el bloque esta por llenarse puede
766 57 654
provocar muchas operaciones de I/O al buscar otro bloque,
producto de una seguidilla de creaciones y eliminaciones de 7 77 543
archivos y directorios.
56 9 21
Mapas de bits
0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1
Se crea un mapa donde se representa a cada bloque
0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0
disponible con 1 bit.
0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0
0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1
Es muy eficiente en espacio dado que utiliza 1 bit en
lugar de 1 palabra, excepto cuando el disco esta lleno,
0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0
caso en el cual la lista es más pequeña.
0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1
Fue diseñado desde cero, pensado para reemplazar a la familia de FAT eliminando
todas las limitaciones de este, y pensando en poder extenderlo fácilmente en el
futuro.
Utiliza bitmaps para determinar los bloques (clusters) libres en el disco, e indexa
los directorios a través de árboles B+.
Tamaño máximo de volumen 16EiB (Exbibyte – 260)
Archivos de Sistema
Contienen la información sobre los datos y operaciones que se realizan sobre el sistema de archivos:
espacio libre, log de transaccionalidad, etc.
Área de archivos
Donde realmente se almacenan los datos del usuario.
Sistemas Operativos: Sistema de Archivos
Fuente: http://dbserver.kaist.ac.kr/~yjlee/Courses/CS230/ntfs/NTFS-3.html