1. INSTITUTO POLITÉCNICO NACIONAL
Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y
Administrativas
TEMA: SISTEMA OPERATIVO UNIX
INTEGRANTES DEL EQUIPO:
De La Cruz Bautista Arturo
Loredo Mendoza Luis E.
Ortiz Aburto Omar
Pérez Gonzales Jonathan
Coordinador: De La Cruz Bautista Arturo
FECHA DE ENTREGA: 08/05/2013
2. Introducción
El presente trabajo se refiere al Sistema de Archivos (ficheros), los tipos de
archivos: Unix V-7 y Unix USF así como las operaciones con los archivos:
creación, modificación y eliminación así como el acceso a los diferentes archivos.
También se menciona toda la información relacionada sobre los
directorios(carpetas virtuales), en los cuales se guardan los archivos, las
operaciones de los directorios: creación, modificación y eliminación o borrado de
directorios, así como los tipos de directorios como lo pueden ser subdirectorios,
directorio raíz, etc.
Por último se hace mención a las novedades que ofrece este sistema de archivos
respecto a otros, sin dejar de ser objetivos debemos recordar que todos los
Sistemas de Archivos son bueno y el mejor rendimiento radica en la aplicación que
nosotros le demos.
3. Índice
El Sistema de Ficheros de UNIX V7...................................................................................................... 4
El Sistema de Ficheros de Unix USF .................................................................................................... 6
Permisos de los ficheros...................................................................................................................... 6
Ejemplo 1: % chmod 754 fichero .................................................................................................... 7
Ejemplo 2: % chmod o+r fichero..................................................................................................... 7
Conclusiones ....................................................................................................................................... 9
Bibliografía ........................................................................................................................................ 10
4. El Sistema de Ficheros de UNIX V7
Aún las primeras versiones de UNIX tenían un sistema de ficheros multiusuario
relativamente elaborado, pues se derivó de MULTICS. A continuación trataremos
el sistema de ficheros V7, utilizado en la PDP-11 y que hizo famoso a UNIX.
Examinaremos versiones modernas en el capítulo 10.
El sistema de ficheros tiene la forma de un árbol que nace en el directorio raíz, con
la adición de enlaces para formar un grafo acíclico dirigido (DAG). Los nombres de
fichero tienen hasta 14 caracteres y pueden contener cualquier carácter ASCII con
excepción de / (porque és es el separador de los componentes de un camino) y
NUL (porque sirve para rellenar los nombres de menos de 14 caracteres). NUL
tiene el valor numérico 0.
Una entrada de directorio UNIX contiene una entrada para cada fichero de ese
directorio. Las entradas son simples en extremo porque UNIX utiliza el esquema
de i-nodos como se muestra en la siguiente figura. Una entrada de directorio
contiene solamente dos campos: el nombre del fichero (14 bytes) y el número del
i-nodo correspondiente a ese fichero (2 bytes). Estos parámetros limitan el número
de ficheros por sistema de ficheros a 64K.
Los i-nodos de UNIX contienen algunos atributos. Éstos incluyen el tamaño del
fichero, la hora de creación, la del último acceso y la de la última modificación),
propietario, grupo, información de protección y un contador del número de
entradas de directorio que apuntan al i-nodo. Éste último campo es necesario para
los enlaces. Cada vez que se crea un enlace nuevo con un i-nodo, se incrementa
el contador en el i- nodo. Cuando se elimina un enlace, el contador se
decrementa. Cuando el contador llega a 0, el i-nodo se recicla y los bloques de
disco se colocan en la lista libre.
El control de los bloques de disco se lleva utilizando una generalización para
manejar ficheros muy grandes. Las primeras 10 direcciones de disco se
almacenan en el mismo i-nodo, así que en el caso de ficheros pequeños toda la
5. información necesaria está justo en el i-nodo, que pasa del disco a la memoria
principal cuando se abre el fichero. Si los ficheros son algo más grandes, una de
las direcciones que están en el i-nodo es la dirección de un bloque de disco
llamado bloque indirecto simple o bloque indirectoa secas. Este bloque contiene
más direcciones de disco. Si todavía no son suficientes, otra dirección en el i-
nodo, denominada bloque indirecto doble, contiene la dirección de un bloque que
contiene una lista de bloques indirectos. Si ni siquiera esto es suficiente, puede
utilizarse también un bloque indirecto triple.
Cuando se abre un fichero, el sistema de ficheros debe tomar el nombre del
fichero proporcionado y localizar sus bloques de disco. Consideremos cómo se
busca el nombre de camino /usr/ast/correo. Utilizaremos UNIX como ejemplo, pero
el algoritmo es básicamente el mismo en todos los sistemas de directorios
jerárquicos. Primero el sistema de ficheros localiza el directorio raíz. En UNIX, el i-
nodo del directorio raíz está en un lugar fijo del disco. A partir de este i-nodo, se
localiza el directorio raíz, que puede estar en cualquier lugar del disco, pero
digamos que en este caso está en el bloque 1.
Luego se busca el primer componente del camino, usr, en el directorio raíz para
hallar el número de i-nodo del fichero /usr. Localizar un i-nodo teniendo su número
es fácil, porque todos tienen una posición fija en el disco. A partir de ese i-nodo, el
sistema localiza el directorio de /usry busca en él el siguiente componente, ast. Al
encontrar la entrada de ast, tendrá el i- nodo del directorio /usr/ast. A partir de ese
i-nodo se encuentra el directorio en sí y se busca correo. Luego se lee el i-nodo de
ese fichero y se coloca en la memoria, donde se mantiene hasta que se cierre el
fichero.
Los nombres de camino relativos se buscan igual que los absolutos, sólo que
partiendo del directorio de trabajo en lugar del directorio raíz. Todo directorio tiene
entradas para .y .., que se colocan ahí cuando se crea el directorio. La entrada .
tiene el número de i-nodo del directorio actual, y la entrada .. tiene el número de i-
nodo del directorio padre. Así, un procedimiento que busca
../luis/prog.csimplemente consulta ..en el directorio de trabajo, halla el número de i-
nodo del directorio padre y busca luisen ese directorio. No se necesita ningún
mecanismo especial para manejar estos nombres. En lo que concierne al sistema
de directorios, son sólo cadenas ASCII ordinarias, como cualquier otro nombre.
Ventajas del Sistema de Archivos V7
Cada vez que se crea un enlace nuevo con un i-nodo, se incrementa el
contador en el i- nodo.
Cuando se elimina un enlace, el contador se decrementa.
Cuando el contador llega a 0, el i-nodo se recicla y los bloques de disco se
colocan en la lista libre.
6. El Sistema de Ficheros de Unix USF
Un sistema de ficheros proporciona un método conveniente para organizar
yalmacenar ficheros. Todos los ficheros en UNIX residen en un sistema de
ficheros, sin importar el tipo de los mismos.
El sistema de archivos de Unix; está basado en un modelo arborescente y
recursivo, en el cual los nodos pueden ser tanto archivos como directorios, y estos
últimos pueden contener a su vez directorios o subdirectorios. Debido a esta
filosofía, se maneja al sistema con muy pocas órdenes, que permiten una gran
gama de posibilidades. Todo archivo de Unix está controlado por múltiples niveles
de protección, que especifican los permisos de acceso al mismo. La diferencia que
existe entre un archivo de datos, un programa, un manejador de entrada/salida o
una instrucción ejecutable se refleja en estos parámetros, de modo que el sistema
operativo adquiere características de coherencia y elegancia que lo distinguen.
La raíz del sistema de archivos (conocida como root) se denota con el símbolo "/",
y de ahí se desprende un conjunto de directorios que contienen todos los archivos
del sistema de cómputo. Cada directorio, a su vez, funciona como la subraíz de un
nuevo árbol que depende de él y que también puede estar formado por directorios
o subdirectorios y archivos. Un archivo siempre ocupará el nivel más bajo dentro
del árbol, porque de un archivo no pueden depender otros; si así fuera, sería un
directorio. Es decir, los archivos son como las hojas del árbol.
Se define en forma unívoca el nombre de todo archivo (o directorio) mediante lo
que se conoce como su trayectoria (pathname): es decir, el conjunto completo de
directorios, a partir de root (/), por los que hay que pasar para poder llegar al
directorio o archivo deseado. Cada nombre se separa de los otros con el símbolo
/, aunque tan sólo el primero de ellos se refiere a la raíz.
Permisos de los ficheros
En UNIX todos los ficheros tienen un propietario y un grupo. El propietario es
quien lo creo y el grupo generalmente es el grupo al que pertenece el
propietario.Todos los ficheros tienen unos permisos que permiten a unos usuarios
u otros realizar ciertas operaciones con ellos. Los permisos están en tres
categorías:
• Permisos de propietario: Son los que se aplican al propietario del fichero.
• Permisos de grupo: Se aplican a todos los miembros de ese grupo que no
son el propietario.
• Permisos para el resto: Se aplican a todos los que no entran en ninguna
de las dos categorías anteriores.
7. En cada una de estas categorías hay tres permisos:
• Permiso de lectura: Permite leer el fichero.
• Permiso de escritura: Permite modificar el fichero.
• Permiso de ejecución: Permite ejecutarlo.
En el caso en que el fichero es un directorio el permiso de lectura permite listar su
contenido y el de ejecución permite mover el directorio de trabajo de un proceso a
ese directorio. Para eliminar un fichero hace falta permiso de escritura en el
directorio que lo contiene (se debe modificar la tabla de ese directorio). No es
necesario tener permiso de escritura en el fichero.
Los siguientes 3 caracteres representan los permisos del propietario, luego vienen
los del grupo y finalmente los del resto de usuarios. Los símbolos son los
siguientes:
r leer
w escribir
x ejecutar
La utilidad chmod sirve para cambiar los permisos de un fichero. Tiene
fundamentalmente dos modos de empleo:
Ejemplo 1: % chmod 754 fichero
Entiende una sintaxis numérica, a cada categoría le asigna un dígito octal, de tal
modo que 1 permite el acceso, y 0 no lo permite. El primer dígito representa los
permisos del propietario. 7 en binario es 111, lo cual corresponde a los tres
permisos activos (lectura, escritura, ejecución). El segundo dígito representa los
permisos del grupo. 5 en binario es 101, lo cual corresponde a lectura y ejecución
activado, escritura desactivado. El tercer dígito son los permisos para el resto del
mundo. 4 en binario es 100, solo permiso de lectura.
Ejemplo 2: % chmodo+r fichero
En este caso se especifica mediante una letra qué permisos se desea modificar:
- Clase: u : propietario
g : grupo
o : resto
a : todos
Después se especifica la operación que se desea realizar sobre el permiso:
8. - Operación: + : añade acceso
- : elimina acceso
= : pone permiso
Y a continuación sobre qué permiso se desea actuar:
- Permiso: r : lectura
w : escritura
x : ejecución
El ejemplo añadiría permiso de lectura al resto de usuarios.
Dentro de cada fichero existe un i-nodo el cual contiene:
Donde se almacenan los datos, es decir lista de bloques de datos en disco.
Esto son una serie de punteros o direcciones de bloques que indican bien
donde están los datos en disco, o bien donde están los bloques que tienen
más direcciones de bloques de datos (bloques indirectos).
Quien es el propietario de los datos, un número que lo identifica (UID o
UserIdentifier), y a qué grupo pertenece el fichero GID GroupIdentifier).
Tipo de fichero: regular, es decir un fichero que contiene información
habitual, datos o programas; dispositivo, un elemento destinado a
intercambiar datos con un periférico, enlace, un fichero que apunta a otro
fichero; pipe, un fichero que se utiliza para intercambiar información entre
procesos a nivel de núcleo. directorio, si el elemento no contiene datos sino
referencias a otros ficheros y directorios.
Permisos del fichero (quien puede leer(r), escribir(w) o ejecutar(x)). Estos
permisos se asignan a se asignan de forma diferenciada a tres elementos:
el propietario, el grupo (indicados con anterioridad) y al resto de los
usuarios del sistema.
Tamaño del fichero.
Número de enlaces del fichero. Es decir cuantos nombres distintos tiene
este fichero Hay que observar como el nombre de un fichero no forma parte
del i-nodo. El nombre de fichero se asocia a un i-nodo dentro de un fichero
especial denominado directorio. Esto le proporciona al sistema de ficheros
la posibilidad de que un mismo i-nodo pueda tener varios nombres si
aparece en varios directorios o con distintos nombres.
9. Conclusiones
Un sistema de ficheros es una colección de ficheros y directorios, además de
operaciones con ellos. Los ficheros pueden leerse y escribirse, los directorios
pueden crearse y destruirse, y los ficheros pueden cambiarse de un directorio a
otro. Casi todos los sistemas de ficheros modernos manejan un sistema de
directorios jerárquico en el que los directorios pueden tener subdirectorios y éstos
pueden tener subdirectorios.
Los diseñadores del sistema de ficheros tienen que decidir cómo se asigna el
espacio de almacenamiento y cómo se mantiene el sistema al tanto de qué bloque
corresponde a qué fichero. Entre las posibilidades están los ficheros contiguos, las
listas enlazadas, las tablas de asignación de ficheros y los i- nodos. Los distintos
sistemas tienen diferentes estructuras de directorio. Los atributos pueden
colocarse en los directorios o en otro lado (por ejemplo en un i-nodo). El espacio
de disco puede administrarse utilizando listas libres o mapas de bits. La fiabilidad
del sistema de ficheros aumenta si se realizan volcados incrementales y si se
utiliza un programa para reparar sistemas de ficheros dañados.
El rendimiento de los sistemas de ficheros es importante y hay varias formas de
mejorarlo, entre ellas la utilización de cachés, la lectura adelantada y la colocación
cuidadosa de los bloques de un fichero cercanos entre sí en el disco. Los sistemas
de ficheros con estructura de registro también mejoran el rendimiento porque
realizan las escrituras en unidades grandes.
10. Bibliografía
lrmdavid@exa.unne.edu.ar (2003). Sistemas Operativos en Red. Recuperado de:
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/AR
CHESUNIX99.htm
Daniel (2003). Introducción Básica al Sistema Operativo Unix. Recuperado
de:https://www.tlm.unavarra.es/~daniel/docencia/arq/arq1998-
1999/introduccion.pdf
Pedro P. (2001). El Sistema de Fichero Unix. Recuperado de:
http://dns.bdat.net/shell/node7.html