Sistemas operativos modernos

no necesita que se sigan al pie de la letra estas convenciones, pero algunos compiladores y otros programas las esperan. Las extensiones pueden tener cualquier longitud y los archivos podrían te­ ner múltiples extensiones, como en prog.java.Z, que tal vez es un programa comprimido de Java. Los archivos pueden agruparse en directorios por comodidad. Los directorios se almace­ nan como archivos, y en gran medida pueden tratarse como archivos. Los directorios pueden contener subdirectorios, lo que lleva a un sistema de archivos jerárquico. El directorio raíz se llama / y por lo regular contiene varios subdirectorios. El carácter / también se usa para sepa­ rar los nombres de directorio, de modo que el nombre /usr/ast/x denota al archivo x que está en el directorio ast, el cual a su vez está en el directorio /usr. En la figura 10-24 se muestran algunos de los principales directorios cercanos a la parte más alta del árbol. Directorio Contenido bin Programas binarios (eiecutables) dev Archivos especiales para dispositivos de E/S etc Archivos de sistema diversos lib Bibliotecas usr Directorios de usuarios Figura 10-24. Algunos directorios importantes que están presentes en casi todos los sistemas UNIX. Hay dos formas de especificar nombres de archivo en UNIX, tanto en el shell como al abrir un archivo desde dentro de un programa. La primera es usar una ru ta absoluta, lo que impli­ ca indicar cómo llegar al archivo partiendo del directorio raíz. Un ejemplo de ruta absoluta es /usr/ast/libros/som2/cap-I0. Esto le dice al sistema que busque en el directorio raíz un directo­ rio llamado usr, luego busque allí otro directorio, ast. A su vez, este directorio contiene un di­ rectorio libros, que contiene el directorio som2, que contiene el archivo cap-IO. Los nombres de ruta absoluta suelen ser largos e inconvenientes. Por ello, UNIX permite a los usuarios y procesos designar como directorio de trabajo al directorio en el que están tra­ bajando en ese momento. Los nombres de ruta también pueden especificarse con relación al di­ rectorio de trabajo. Un nombre de ruta especificado con relación al directorio de trabajo es una ru ta relativa. Por ejemplo, si /usr/astñibros/som2 es el directorio de trabajo, el comando de shell cp cap-10 respaldol tiene exactamente el mismo efecto que el comando más largo cp /usr/ast/libros/som2/cap-10 /usr/ast/libros/som2/respaldo1 Muchas veces sucede que un usuario necesita referirse a un archivo que pertenece a otro usua­ rio, o que por lo menos está situado en otro lugar del árbol de archivos. Por ejemplo, si dos usuarios están compartiendo un archivo, éste se colocará en un directorio perteneciente a uno de

RkJQdWJsaXNoZXIy MjI4NDcx