Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema V – Parte 1
Sistemas Operativos I
Sistema de archivos
Concepto de archivo/fichero
Métodos de acceso
Directorios
Protección
5
Concepto de archivo
Definiciones
Un archivo es un almacén persistente (permanente) de información
accesible mediante un nombre
Es una abstracción cómoda del almacenamiento secundario (tipo
abstracto de datos):
Oculta la realidad física del almacenamiento (cintas, discos, etc...)
Sirve para organizar la información como lo hacemos las personas
OPERACIONES TIPICAS:
Creación / Destrucción
Lectura / Escritura
Situarse dentro del archivo (por posición o por clave)
Cambiar atributos
8
Operaciones sobre archivos
ACCESO SECUENCIAL
Se basa en un modelo de archivo de cinta
ACCESO INDEXADO
Requiere de estructuras adicionales: tablas de indices
11
Directorios
Problemas:
Conflictos de nombres (al aumentar el numero de ficheros)
Mala organización en sistemas multiusuario
El tiempo de búsqueda tiende a aumentar
16
Directorio de dos niveles
Desventaja principal de la estructura de nivel único
confusión de nombres entre diferentes usuarios
Solución natural un directorio por usuario
17
Directorio de dos niveles
Se resuelve el problema de conflictos de nombres
(entre diferentes usuarios)
Problema: compartir información (algunos sistemas
impiden el acceso a los directorios de otros usuarios)
Aparece el concepto de ruta (path)
Archivos de sistema usuario especial
18
Directorio con estructura de árbol
Directorio de dos niveles árbol de dos niveles
Generalización árbol de altura arbitraria
(subdirectorios)
19
Directorio con estructura de árbol
Se reducen al mínimo los conflictos de nombres
Directorio archivo que se trata de manera especial
Los nombres de los archivos son rutas sobre el árbol
de directorios: rutas absolutas o relativas
Aparece el concepto de “directorio de trabajo” (HOME)
Política a seguir para la eliminación de directorios
“Caminos de búsqueda ” (facilita el hecho de que
varios usuarios quieran compartir ficheros)
20
Directorios en grafo acíclico
La estructura de árbol dificulta compartir archivos o
directorios
Se puede generalizar el esquema de directorio con
estructura de árbol permitiendo a los directorios tener
subdirectorios y archivos compartidos, sin ciclos
21
Directorios en grafo acíclico
¿Cómo se puede implementar?
Duplicar la información (complica la consistencia)
Nueva entrada de directorio: ENLACE o LINK (es un puntero a
otro archivo o directorio)
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
Datos por este.
La tabla de símbolos es un elemento opcional que sirve al debug de un proceso. Contiene el listado
Tabla de Símbolos de 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
De su utilización se derivan los conceptos de: local/
share/
-Directorio Raíz: aquel que contiene al resto del sistema de archivos. En
linux es explicito (/), en windows está escondido detrás de las unidades home/
lógicas (\??\) jmakuc/
proceso, como por ejemplo el interprete de comandos. Este se simboliza Las entradas X: se
denominan unidades y
con un punto (.). representan a
\??\ particiones de los
-Ruta absoluta: ubicación de un archivo o directorio indicando su discos
posición explicitando todos los directorios desde el directorio raíz al
Estilo Windows
elemento. Ej: /usr/local/nachos/code/build.linux/nachos.
C:\ D:\
-Ruta relativa: ubicación de un archivo o directorio indicando su
posición respecto al directorio de trabajo actual. Documents And Settings Videos
Windows Películas
-Directorio Padre: aquel en el cual es contenido un directorio. Se
simboliza con punto doble (..).
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.
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.
Caras: Un disco duro puede tener varios. Un diskette puede tener una o dos caras
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 de direccionamiento
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, cabeza, 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 (cabeza) 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 (cabezas)/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)