Sistemas operativos modernos

estrategia general consiste en efectuar todo el trabajo la primera vez y luego guardar el resul­ tado en un caché. En los siguientes intentos, primero se verifica el caché. Si el resultado está ahí, se usa; si no, se vuelve a realizar otra vez todo el trabajo. Ya vimos el uso de cachés dentro del sistema de archivos para retener cierto número de bloques de disco recién usados, ahorrando así una lectura de disco en cada acierto. Sin embar­ go, también pueden usarse cachés para muchos otros fines. Por ejemplo, el análisis de nombres de ruta es inusitadamente costoso. Consideremos otra vez el ejemplo de la figura 6-39, toma­ do de UNIX. La localización de /usr/ast/correo requiere los siguientes accesos a disco: 1. Leer el nodo-i del directorio raíz (nodo-i 1). 2. Leer el directorio raíz (bloque 1). 3. Leer el nodo-i de /usr (nodo-i 6 ). 4. Leer el directorio/« 5 r (bloque 132). 5. Leer el nodo-i de /usr/ast (nodo-i 26). 6 . Leer el directorio /usr/ast (bloque 406). Se requieren al menos seis accesos a disco nada más para descubrir el número de nodo-i del archivo. Luego debe leerse el nodo-i mismo para descubrir los números de bloques de disco. Si el archivo ocupa menos de un bloque de disco (por ejemplo, 1024 bytes), se requieren ocho accesos a disco para leer los datos. Algunos sistemas opfimizan el análisis de nombres de ruta, colocando combinaciones (ru­ ta, nodo-i) en caché. En el ejemplo de la figura 6-39, el caché contendrá por supuesto las tres primeras entradas de la figura 12-8 después de m&Wzdj /usr/ast/correo. Las úlfimas tres entra­ das están ahí por el análisis de otras rutas. Ruta Número de nodo-i /usr 6 /usr/ast 26 /usr/ast/correo 60 /usr/ast/libros 92 /usr/bal 45 /usr/bal/trab.ps 85 Figura 12-8. Parte del caché de nodos-i de la figura 6-39. Cuando hay que determinar una ruta, el analizador de nombres primero consulta el caché y busca ahí la subcadena más larga de la ruta que esté presente. Por ejemplo, si se presenta la

RkJQdWJsaXNoZXIy MjI4NDcx