Sistemas operativos modernos
Dispositivo donde està el archivo Número de nodo-i (cuál archivo en el dispositivo) Modo del archivo (incluye información de protección) Número de enlaces al archivo Identidad del dueño del archivo Grupo al que pertenece el archivo Tamaño del archivo (en bytes) Hora de creación Hora de último acceso Hora de última modificación Figura 10-29. Campos devueltos por la llamada al sistema stat. mación solicitada. Los campos de la estructura se muestran en la figura 10-29. La llamada fstat es igual que stat, excepto que opera con un archivo abierto (cuyo nombre tal vez no se conozca), no con un nombre de ruta. La llamada al sistema pipe sirve para crear canalizaciones de shell. La llamada crea una especie de seudoarchivo, que actúa como búfer para los datos entre los componentes de la canalización y devuelve descriptores de archivo tanto para leer como para escribir en el búfer. En una canalización como sort <in I head-30 el shell configuraría el descriptor de archivo 1 (salida estándar) en el proceso que ejecuta sort de modo que se escriba en la canalización, y el descriptor de archivo O(entrada estándar) en el pro ceso que ejecuta head se configuraría de modo que lea de la canalización. Así, sort tan sólo lee del descriptor de archivo O(asignado al archivo in) y escribe en el descriptor de archivo 1 (asig nado a la canalización) sin darse cuenta que ha habido redirección. Si no hubiera habido redirec ción, sort habría leído de manera automática del teclado y habría escrito en la pantalla (los dispositivos predeterminados). De forma similar, cuando head lee del descriptor de archivo O, lee los datos que sort puso en el búfer de la canalización sin siquiera saber que se está usando una canalización. Este es un ejemplo claro de un caso en el que un concepto sencillo (redirección) con una implementación sencilla (los descriptores de archivo Oy 1) produce una herramienta poten te (conectar programas de maneras arbitrarias sin tener que modificarlos en absoluto). La úlfima llamada al sistema de la figura 10-28 es fcnti, que sirve para bloquear y desblo quear archivos y realizar algunas otras operaciones con archivos específicos. Examinemos ahora algunas llamadas al sistema relacionadas con directorios o con el sis tema de archivos en general, más que con archivos específicos. Las más comunes se presentan en la figura 10-30. Los directorios se crean y destruyen empleando mkdir y rmdir, respectiva mente. Un directorio sólo puede destruirse si está vacío. Como vimos en la figura 10-25, el enlace de un archivo crea una nueva entrada de direc torio que apunta a un archivo existente. La llamada al sistema link crea el enlace. Los paráme-
RkJQdWJsaXNoZXIy MjI4NDcx