Curso para programadores de Unix - Organización y Estructura del sistema de archivos (File System)
Curso gratis creado por Álvaro Reyes. Extraido de: http://www.publispain.com
22 de Agosto de 2005
Unix
4 - Organización y Estructura del sistema de archivos (File System)
Puede considerarse al sistema operativo UNIX en un modelo de capas donde cada capa interactua con la capa superior.
El nucleo residente del sistema operativo se denomina KERNEL. Este está permanentemente residente en memoria mientras el sistema está activo y provee toda la interface entre el hardware y el usuario o sus programas de aplicación. En otras palabras, provee las rutinas y funciones que el usuario dispone a traves de un lenguaje de programación o a traves de los interpretes de comandos. El kernel cumple las funciones de la administración y supervisión general de todo el sistema, es decir que administra los procesos de los usuarios, calculando sus propiedades, proporcionandoles la memoria requerida, asignandoles los tiempos de ejecución y conmutando los recursos de la CPU de tarea en tarea.
Utilizando los recursos del Kernel que son los servicios generales del sistema operativo en bajo nivel, tenemos otras partes que son no residentes, es decir que no necesariamente están en memoria mientras el UNIX está activo. Entre estas partes podemos citar distintos comandos o programas del usuario como los comandos who, date, wc, grep, ed, vi, ld, comp, cpp, etc., y cabe destacar el interprete de comandos denominado shell (sh). Este último intérprete de comandos es la interface interactiva con el usuario, que le permite ejecutar sus programas o ejecutar comandos del sistema que en definitiva no son más que programas ya provistos con el UNIX que le permiten manejar archivos, copiarlos, crearlos, borrarlos, procesarlos, editarlos, etc. El shell también le permite al usuario controlar la ejecución de sus programas e inclusive conectar programas entre si.
Existen varios tipos de Shell dentro del UNIX y el más conocido de ellos es el denominado Bourne Shell, que toma el nombre de su diseñador, el cual será explicado en este mismo manual más adelante.
El Shell es el programa con el cual nos relacionamos cuando estamos trabajando en forma interactiva dentro del UNIX. En las capas periféricas de la estructura podemos ubicar otros programas ya sean provistos con el UNIX (como el compilador C denominado cc) o escritos por el usuario mismo, como pueden ser programas de cálculo o un sistema de contabilidad realizados en cualquier otro lenguaje.
Es decir que el modelo de capas, la capa más interna (Kernel) provee los servicios y recursos para ser utilizados por las capas más externas. Las capas más externas son los altos niveles de trabajo mientras que las capas más internas son los niveles de trabajo de bajo nivel o más cercanos al hardware.
Puesto que toda la interface con el hardware se hace a traves del Kernel, los programas del sistema y los programas de aplicación resultan independientes del hardware y son portables entre distintas instalaciones de UNIX.
El UNIX mantiene los archivos en el disco organizados bajo una forma jerárquica denominada file?system o sistema de archivos. Podemos representar a esta estructura mediante un árbol cuya raiz es un directorio principal denominado root. El directorio raiz se simboliza con el símbolo "/" y es el punto de arranque de todo el sistema de archivos. Dentro del mismo encontraremos rachivos y otros directorios. Por ejemplo, tendremos los directorios bin, etc, usr, tmp, mnt y otros. Cada directorio puede contener a su vez otros directorios y archivos, y así podemos continuar la estructura abriendo directorios dentro de otros directorios tantos niveles como querramos.
Obviamente, en la profundidad del árbol existe un límite dado por la practicidad. Las hojas del árbol son archivos y las ramas o nudos son directorios.
Los siguientes directorios principales dependen del directorio raiz:
root --+-- /bin Comandos más comunes del UNIX.
|
|-- /dev Dispositivos especiales.
|
|-- /etc Programas adicionales y archivos de datos default.
|
|-- /usr Rutinas de servicio del usuario.
|
|-- /lib Librerías de programas en C y otros programas.
|
|-- /mnt Reservado para montar otros filesystems.
|
|-- /tcb Archivos del sistem pertenecientes al TCB (seguridad del sistema).
|
|-- /tmp Archivos temporarios del sistema.
|
|-- /lost+found Archivos recuperados luego del FSCK (FileSystem Check).
|
|-- /usr1 Filesystem montado (no /mnt). El nombre es libremente elegible por el
Administrador, en este cado es usr1 (puede ser también /u).
Contenido del directorio /dev.
dev --+-- /console Consola del sistema.
|
|-- /fd* Diskettes (dispositivos tipo bloque).
|
|-- /hd* Discos rígidos (dispositivos tipo bloque).
|
|-- /lp* Impresoras en paralelo.
|
|-- /rfd* Diskettes (dispositivos tipo caracter).
|
|-- /rhd* Discos rígidos (dispositivos tipo caracter).
|
|-- /root Filesystem raiz.
|
|-- /tty* Líneas serie (terminales e impresoras serie).
|
|-- /u Filesystem 'u'.
|
|-- /clock Reloj del sistema.
|
|-- /null Dispositivo nulo.
Contenido del directorio /etc
/etc --+-- /rc* Scripts para llevar al sistema a modo multiusuario.
|
|-- /default --+-- /boot Default para booteo.
| |
| |-- /auths Default p/creación de usuarios.
| |
| |-- /format Default formateo diskette UNIX.
| |
| |-- /tar Default para comando tar.
| |
| |-- /cleantmp Directorios temporarios a borrar.
| |
| |-- /login Default para login.
| |
| |-- /lpd Default para impresión.
| |
| |-- /msdos Dispositivos para comandos DOS.
| |
| |-- /passwd Default para configuración de passwords.
| |
| |-- /filesys Tabla de filesystems a montar.
/etc --|
|
|-- /init Script final inicialización del Kernel.
|
|-- /inittab Tabla utilizada por init.
|
|-- /profile Script ambiental (.profile) default p/ creación de usuarios con Bourne Shell.
|
|-- /cshrc Idem /profile para C-Shell (.cshrc).
|
|-- /groups Información sobre los grupos.
|
|-- /passwd Información sobre los usuarios.
|
|-- /gettydefs Usado por comando getty para fijar la línea serie (terminal).
|
|-- /termcap Características de las terminales.
|
|-- /systemid Identificación del sistema.
|
|-- /mnttab Tabla de dispositivos montados por comando mount.
|
|-- /conf/cf.d --+-- /configure Cambio de parametros del Kernel.
| |
| |-- /link_unix Re-linkea el Kernel.
| |
| |-- /init.base Mantiene cambios efectuados en inittab.
| |
| |-- /mtune Información sobre parametros del sistema.
| |
| |-- /stune Seteo parametros del sistema.
| |
| |-- /mdevice Descripción de los drivers.
/etc/conf/cf.d: Directorio de configuración del Kernel.
/etc/default: Información por defecto paa algunos comandos.
El nucleo residente del sistema operativo se denomina KERNEL. Este está permanentemente residente en memoria mientras el sistema está activo y provee toda la interface entre el hardware y el usuario o sus programas de aplicación. En otras palabras, provee las rutinas y funciones que el usuario dispone a traves de un lenguaje de programación o a traves de los interpretes de comandos. El kernel cumple las funciones de la administración y supervisión general de todo el sistema, es decir que administra los procesos de los usuarios, calculando sus propiedades, proporcionandoles la memoria requerida, asignandoles los tiempos de ejecución y conmutando los recursos de la CPU de tarea en tarea.
Utilizando los recursos del Kernel que son los servicios generales del sistema operativo en bajo nivel, tenemos otras partes que son no residentes, es decir que no necesariamente están en memoria mientras el UNIX está activo. Entre estas partes podemos citar distintos comandos o programas del usuario como los comandos who, date, wc, grep, ed, vi, ld, comp, cpp, etc., y cabe destacar el interprete de comandos denominado shell (sh). Este último intérprete de comandos es la interface interactiva con el usuario, que le permite ejecutar sus programas o ejecutar comandos del sistema que en definitiva no son más que programas ya provistos con el UNIX que le permiten manejar archivos, copiarlos, crearlos, borrarlos, procesarlos, editarlos, etc. El shell también le permite al usuario controlar la ejecución de sus programas e inclusive conectar programas entre si.
Existen varios tipos de Shell dentro del UNIX y el más conocido de ellos es el denominado Bourne Shell, que toma el nombre de su diseñador, el cual será explicado en este mismo manual más adelante.
El Shell es el programa con el cual nos relacionamos cuando estamos trabajando en forma interactiva dentro del UNIX. En las capas periféricas de la estructura podemos ubicar otros programas ya sean provistos con el UNIX (como el compilador C denominado cc) o escritos por el usuario mismo, como pueden ser programas de cálculo o un sistema de contabilidad realizados en cualquier otro lenguaje.
Es decir que el modelo de capas, la capa más interna (Kernel) provee los servicios y recursos para ser utilizados por las capas más externas. Las capas más externas son los altos niveles de trabajo mientras que las capas más internas son los niveles de trabajo de bajo nivel o más cercanos al hardware.
Puesto que toda la interface con el hardware se hace a traves del Kernel, los programas del sistema y los programas de aplicación resultan independientes del hardware y son portables entre distintas instalaciones de UNIX.
El UNIX mantiene los archivos en el disco organizados bajo una forma jerárquica denominada file?system o sistema de archivos. Podemos representar a esta estructura mediante un árbol cuya raiz es un directorio principal denominado root. El directorio raiz se simboliza con el símbolo "/" y es el punto de arranque de todo el sistema de archivos. Dentro del mismo encontraremos rachivos y otros directorios. Por ejemplo, tendremos los directorios bin, etc, usr, tmp, mnt y otros. Cada directorio puede contener a su vez otros directorios y archivos, y así podemos continuar la estructura abriendo directorios dentro de otros directorios tantos niveles como querramos.
Obviamente, en la profundidad del árbol existe un límite dado por la practicidad. Las hojas del árbol son archivos y las ramas o nudos son directorios.
Los siguientes directorios principales dependen del directorio raiz:
root --+-- /bin Comandos más comunes del UNIX.
|
|-- /dev Dispositivos especiales.
|
|-- /etc Programas adicionales y archivos de datos default.
|
|-- /usr Rutinas de servicio del usuario.
|
|-- /lib Librerías de programas en C y otros programas.
|
|-- /mnt Reservado para montar otros filesystems.
|
|-- /tcb Archivos del sistem pertenecientes al TCB (seguridad del sistema).
|
|-- /tmp Archivos temporarios del sistema.
|
|-- /lost+found Archivos recuperados luego del FSCK (FileSystem Check).
|
|-- /usr1 Filesystem montado (no /mnt). El nombre es libremente elegible por el
Administrador, en este cado es usr1 (puede ser también /u).
Contenido del directorio /dev.
dev --+-- /console Consola del sistema.
|
|-- /fd* Diskettes (dispositivos tipo bloque).
|
|-- /hd* Discos rígidos (dispositivos tipo bloque).
|
|-- /lp* Impresoras en paralelo.
|
|-- /rfd* Diskettes (dispositivos tipo caracter).
|
|-- /rhd* Discos rígidos (dispositivos tipo caracter).
|
|-- /root Filesystem raiz.
|
|-- /tty* Líneas serie (terminales e impresoras serie).
|
|-- /u Filesystem 'u'.
|
|-- /clock Reloj del sistema.
|
|-- /null Dispositivo nulo.
Contenido del directorio /etc
/etc --+-- /rc* Scripts para llevar al sistema a modo multiusuario.
|
|-- /default --+-- /boot Default para booteo.
| |
| |-- /auths Default p/creación de usuarios.
| |
| |-- /format Default formateo diskette UNIX.
| |
| |-- /tar Default para comando tar.
| |
| |-- /cleantmp Directorios temporarios a borrar.
| |
| |-- /login Default para login.
| |
| |-- /lpd Default para impresión.
| |
| |-- /msdos Dispositivos para comandos DOS.
| |
| |-- /passwd Default para configuración de passwords.
| |
| |-- /filesys Tabla de filesystems a montar.
/etc --|
|
|-- /init Script final inicialización del Kernel.
|
|-- /inittab Tabla utilizada por init.
|
|-- /profile Script ambiental (.profile) default p/ creación de usuarios con Bourne Shell.
|
|-- /cshrc Idem /profile para C-Shell (.cshrc).
|
|-- /groups Información sobre los grupos.
|
|-- /passwd Información sobre los usuarios.
|
|-- /gettydefs Usado por comando getty para fijar la línea serie (terminal).
|
|-- /termcap Características de las terminales.
|
|-- /systemid Identificación del sistema.
|
|-- /mnttab Tabla de dispositivos montados por comando mount.
|
|-- /conf/cf.d --+-- /configure Cambio de parametros del Kernel.
| |
| |-- /link_unix Re-linkea el Kernel.
| |
| |-- /init.base Mantiene cambios efectuados en inittab.
| |
| |-- /mtune Información sobre parametros del sistema.
| |
| |-- /stune Seteo parametros del sistema.
| |
| |-- /mdevice Descripción de los drivers.
/etc/conf/cf.d: Directorio de configuración del Kernel.
/etc/default: Información por defecto paa algunos comandos.
Valora este capítulo:
Autor y licencia de 'Curso para programadores de Unix - Organización y Estructura del sistema de archivos (File System)'
|
Opiniona sobre 'Curso para programadores de Unix - Organización y Estructura del sistema de archivos (File System)' (2)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este curso gratis |
Wikis relacionados con 'Curso para programadores de Unix - Organización y Estructura del sistema de archivos (File System)'
Es muy fácil crear archivos en el sistema operativo UNIX. Por lo tanto, los usuarios...
Más »
Ken Thompson y Dennis Ritchie decidieron esbozar un sistema operativo que supliera las necesidades de...
Más »
Este documento describe cómo compilar, instalar y configurar CFS, el Cryptographical File System.
A lo largo de este trabajo se va a intentar hacer un repaso de los...
Más »
El objetivo de este curso es aprender a programar en el lenguaje Ada, desde sus...
Más »


