Actualizado el 4 de Enero del 2019 (Publicado el 17 de Diciembre del 2018)
1.192 visualizaciones desde el 17 de Diciembre del 2018
7,9 MB
88 paginas
Creado hace 10a (09/02/2015)
SISTEMAS OPERATIVOS
E/S y SISTEMA de FICHEROS
Pedro de Miguel Anasagasti
Mª de los Santos Pérez Hernández
CONCEPTOS BÁSICOS DE E/S
ÍNDICE
DISPOSITIVO
© UPM 2015
Bus
Procesador
Memoria
CONTROLADOR
Registro de control
Registro de estado
Registro de datos
● Arquitectura con mapa de E/S propio IN y OUT (p.e. Intel)
● Arquitectura con mapa de E/S en memoria LOAD y STORE (p.e. Motorola)
El acceso a los dispositivos es:
● Complejo
• Detalles físicos de los dispositivos
• Dependiente de las direcciones físicas
● Sin protección
• Si el usuario accede a nivel físico no tiene restricciones. El controlador
del dispositivo no limita
3
CONCEPTOS BÁSICOS DE E/S
© UPM 2015
Hardware de E/S
● Dispositivos de E/S
• De bloques (discos, cintas, placas red)
• De caracteres (teclado, ratón)
• Acceso aleatorio
• Acceso secuencial
● Controladores de dispositivos
• E/S programada: No concurrencia E/S-procesador
• Interrupciones: Concurrencia E/S-procesador
• DMA: Máxima concurrencia E/S-procesador
Objetivos del SO en E/S
● Controlar el funcionamiento de los dispositivos de E/S
● Facilitar el manejo de los dispositivos de E/S a través de interfaces
● Proporcionar mecanismos de protección
● Explotar la concurrencia E/S-procesador
4
CONCEPTO DE SISTEMA DE FICHEROS
FICHERO Y SISTEMA DE FICHEROS
© UPM 2015
Fichero. Cónjunto de informaciones relacionadas que se almacenan en
almacenamiento secundario y que se identifica mediante un nombre.
Sistema de ficheros. Conjunto autónomo de informaciones incluidas en una
unidad de almacenamiento (partición o volumen) que permiten su
explotación. Se compone de:
● Información neta: Ficheros de usuario (programas y datos).
● Metainformación
• Estructura física de los ficheros.
• Información asociada a los ficheros.
• Directorios.
Boot
Boot
Dos copias
de la FAT
Directorio
Raíz
Ficheros de usuario y Directorios
Sist. fich. FAT
Super
Bloque
Mapas
de bits
nodos-i
Ficheros de usuario y Directorios
Sist. Fich. UNIX
Disco
Boot
FAT o nodos-i
Bloques asignados a los directorios
Bloques asignados a ficheros de usuario
6
SERVIDOR DE FICHEROS
© UPM 2015
Servidor de Ficheros: capa de software entre dispositivos y usuarios que:
● Suministra una visión lógica uniforme de los dispositivos, presentándolos
como ficheros
● Ofrece primitivas de acceso cómodas e independientes de los detalles
físicos
● Incorpora mecanismos de protección
El servidor de ficheros permite manejar los siguientes tipos de objetos:
● Ficheros de usuario (datos y programas)
● Ficheros especiales : Orientado a carácter (ej. terminal)
Orientado a bloque (ej. disco)
● Mecanismos de comunicación con y sin nombre
• Pipe, FIFO, socket UNIX
Servidor de ficheros
Term
Disco
Cinta
Pipe
FIFO
Socket
...
Otros
S.F.
Disco
7
FICHEROS
ESTRUCTURA LÓGICA Y FÍSICA DE UN FICHERO
© UPM 2015
● Estructura lógica del fichero. Secuencia ordenada de bytes con un
puntero que indica la posición a partir de la cual se lee o escribe.
• Sobre esta cadena de bytes se pueden montar otras estructuras: por
ejemplo, conjunto de registros.
● Estructura física del fichero. Secuencia ordenada de agrupaciones
Visión lógica
Bytes
Visión física
Agrupaciones:
Agrupaciones:
7
24
72
32
Posición
Bytes libres
Disco
9
VISIÓN FÍSICA DE UN FICHERO
© UPM 2015
- Única para cada sistema de ficheros y definible por el usuario
- El bloque se puede direccionar de manera independiente
Sector: Unidad mínima de transferencia que puede manejar el controlador de
disco (2m bytes, normalmente 29)
Bloque: Es un conjunto de sectores de disco y es la unidad de transferencia
mínima que usa el sistema de ficheros (bloque = 2n sectores)
Agrupación: Conjunto de bloques que se utilizan como una unidad lógica de
gestión de almacenamiento (agrupación = 2p bloques).
Al fichero se le asignan agrupaciones, pero se accede siempre en bloques
En algunos sistemas Bloque = Agrupación
- Reserva espacio
10
IDENTIFICADOR DE DESCRIPCIÓN FÍSICA DE FICHERO (IDFF)
© UPM 2015
IDFF. Estructura de información que recoge la descripción física del fichero
● Secuencia ordenada de agrupaciones + ATRIBUTOS
● Almacenada en el propio disco
● FAT en MS-DOS
● Registro MFT (Master File Table) de NTFS (New Technology File System)
Microsoft
● Nodo-i en UNIX
IDFF
Atributos
Agrupaciones
Tipo
UID,GID
Tamaño
rwx .....
7
24
72
32
Disco
11
CARACTERÍSTICAS DE LOS FICHEROS
© UPM 2015
Atributos de un fichero
● Identificador único del fichero
● Tipo de fichero
● Dueño y grupo
● Información de protección
● Tamaño real en bytes
● Hora y fecha de creación
● Hora y fecha del último acceso
● Hora y fecha de la última modificación
● Número de enlaces (número de nombres)
Tamaño máximo de un fichero
● Depende de las limitaciones establecidas por:
• La metainformación (Atributo tamaño real, direccionamiento de las
agrupaciones –tamaño direcciones y nº de direcciones–)
• Las agrupaciones de datos disponibles (agrupaciones existentes en
disco o cuotas establecidas por el administrador)
12
NODO_I
© UPM 2015
● Tamaño típico 128 B. Punteros de 4B.
Tipo de archivo y Protección
Enlaces (número de Nombres)
PID propietario
GID propietario
Tamaño en bytes
Instante de creación
Instante del último acceso
Instante de la última modificación
Puntero a Agrupación de datos 0
Puntero a Agrupación de datos 1
Nodo-i de UNIX
i
s
e
n
o
c
a
p
u
r
g
A
i
s
e
n
o
c
a
p
u
r
g
A
i
s
e
n
o
c
a
p
u
r
g
A
i
s
e
n
o
c
a
p
u
r
g
A
i
s
e
n
o
c
a
p
u
r
g
A
i
s
e
n
o
c
a
p
u
r
g
A
13
Puntero a Agrupación de datos 9
Puntero indirecto simple
Puntero indirecto doble
Puntero indirecto triple
FICHEROS
© UPM 2015
Asignación de espacio al fichero
● Se hace por agrupaciones.
● El fichero puede quedar disperso o fragmentado. Sus agrupaciones no
tienen por qué ser contiguas.
• Objetivo de la desfragmentación: mejorar el acceso secuencial.
• SSD no se desfragmentan.
Gestión del espacio libre
● Agrupaciones libres/ocupadas.
● IDFF (p.e. nodos-i) libres/ocupados.
14
DIRECTORIOS
DIRECTORIOS
Estructura lógica: Esquema jerárquico de nombres:
© UPM 2015
● Directorio raíz.
● Subdirectorios.
Directorio raíz
Prog
Doc
oeit
Roect
Identificador de directorio
Identificador de fichero
Eocir
Peoti Mite
Voit
outr
viut
Xeot Mmrot
Peur
Quit
Zeot
Huyt
Buit
Toiy
Jert
Cart
Cort
Autn
Wiot
Yuit
Voit
Toiy
● Ejemplo UNIX: /usr/include/stdio.h
● Ejemplo Windows: C:\DocenciaSO\sos2\transparencias\pipes.ppt
Directorio único versus directorio por dispositivo. Operación de montado
16
ESTRUCTURA LÓGICA DE LOS DIRECTORIOS
© UPM 2015
● Un directorio es una tabla con entradas que asocian nombres simbólicos
con identificadores de fichero (nº IDFF / nº nodo_i)
● Esquema jerárquico. La organización jerárquica de un directorio:
• Simplifica el nombrado de ficheros (nombres únicos)
• Proporciona una gestión de la distribución => agrupar ficheros de
forma lógica (mismo usuario, misma aplicación)
● Cuando se abre un fichero el SO busca el nombre en la estructura de
directorios y comprueba los privilegios. Es una operación larga y costosa
17
DIRECTORIO DE TRABAJO O ACTUAL
© UPM 2015
● El SO mantiene en el BCP el nombre del directorio actual o de trabajo
● El SO mantiene en memoria el nodo_i del directorio de trabajo
● Un proceso puede cambiar su directorio de trabajo
• El SO comprueba los permisos antes del cambio
● Nobre absoluto
• Es el nombre desde el directorio raíz
• Empieza por / en UNIX o por la unidad en Windows
● Nombre relativo
• Es el nombre a partir del directorio de trabajo
• Ahorro de accesos a disco
– Se parte del nodo_i del directorio de trabajo
– Se requieren menos accesos a disco para analizar el nombre relativo
que el nombre absoluto
18
NOMBRADO DE FICHEROS Y DIRECTORIOS
© UPM 2015
Nombres de fichero y directorio POSIX:
● Nombre completo (empieza por /)
/usr/include/stdio.h
● Nombre relativo al directorio actual o de trabajo (no empieza por /)
stdio.h asumiendo que /usr/include es el directorio actual.
● La entradas . (propio directorio) y .. (directorio padre) pueden utilizarse
para formar rutas de acceso
../include/stdio.h
./../include/stdio.h
/usr/./include/../include/stdio.h
Estos tres ficheros hacen referencia a stdio.h si /usr/include es el
directorio actual
● Árbol único (los dispositivos se montan en un punto del árbol)
Nombres de fichero y directorio Windows:
● En lugar de utilizar /, se utiliza \
● Entradas . (propio directorio) y .. (directorio padre)
● Varios árboles (uno por sistema de ficheros). NTFS permite montado
19
ESTRUCTURA FÍSICA DE LOS DIRECTORIOS
Estructura física: Tabla Nombre-IDFF. (En UNIX es tabla Nombre-nºNodo_i)
IDFF: identificador de descripción física de fichero. Permite obtener la tabla que
describe el fichero (en UNIX es el nodo-i).
Para alcanzar el IDFF (nodo_i en UNIX) de un fichero hay que recorrer el árbol.
© UPM 2015
IDFF raíz
Directorio raíz
Doc
34
567
oeit
48
Prog
120
Roect
Nombre IDFF
Directorio Doc
Mite
Peoti
Eocir
14
746
28
Directorio Prog
outr
viut
Voit
24
764
42
Directorio Mite
235
Peur
67
Quit
248
Zeot
145
Huyt
Directorio Voit
Buit
774
8
Toiy
25
Jert
Directorio Buit
Autn
333
548
Wiot
845
Yuit
Boot
Super
Bloque
Mapas
de bits
nodos-i
Ficheros de usuario y
Directorios
20
SERVICIOS DEL SERVIDOR DE FICHEROS
VIDA DEL FICHERO
● Se crea.
• Se abre → se obtiene un fd (descriptor de fichero).
– Se escribe y lee a través del fd.
• Se cierra.
● Se borra.
© UPM 2015
● Para trabajar con un fichero hay que definir una sesión con las llamadas
open y close.
● Las operaciones de lectura y escritura se hacen a partir del puntero de
posición, que queda modificado.
● Las escrituras pueden hacer crecer al fichero.
22
DESCRIP
Comentarios de: Sistemas Operativos E/S y Sistema de Ficheros (0)
No hay comentarios