Sistemas operativos modernos

Aunque el uso de cachés en el cliente mejora sobremanera el desempeño, también intro­ duce algunos problemas espinosos. Supongamos que dos clientes tienen en caché el mismo bloque de archivo y uno de ellos lo modifica. Cuando el otro lea el bloque, obtendrá el valor anfiguo (que ya no es válido). El caché no es coherente. En vista de la posible severidad de este problema, la implementación de NFS hace varias cosas por mingarla. Por ejemplo, cada bloque de caché está asociado con un temporizador. Cuando el temporizador expira, el contenido del bloque se desecha. Por lo general, el tempo­ rizador dura tres segundos si el bloque es de datos, y 30 segundos si es de directorio. Esto re­ duce un poco el riesgo. Además, cada vez que se abre un archivo que está en caché, se envía un mensaje al servidor para que averigüe cuándo se modificó por úlfima vez el archivo. Si la úlfima modificación se efectuó después de colocarse en caché la copia local, esa copia se de­ secha y se obfiene la nueva del servidor. Por último, cada 30 segundos expira un temporizador de caché y todos los bloques modificados del caché se envían al servidor. Aunque estos par­ ches no son perfectos, hacen que el sistema resulte prácfico en casi todas las circunstancias. 10.7 SEGURIDAD EN UNIX A pesar de su nombre, UNIX ha sido un sistema multiusuario casi desde el principio. Estos an­ tecedentes implican que la seguridad y el control de la información se incorporaron en una etapa inicial. En las secciones que siguen examinaremos algunos aspectos de seguridad de UNIX. 10.7.1 Conceptos fundamentales La comunidad de usuarios de un sistema UNIX consiste en cierto número de usuarios registra­ dos, cada uno de los cuales tiene un identificador de usuario (UID) único. Un UID es un en­ tero entre Oy 65,535. Los archivos (y también los procesos, así como otros recursos) se marcan con el UID de su dueño. De manera predeterminada, el dueño de un archivo es la persona que lo creó, aunque existe un mecanismo para transferir la propiedad. Los usuarios pueden organizarse en grupos, que también se numeran con enteros de 16 bits llamados identifícadores de grupo (GID). La asignación de usuarios a grupos es realizada por el administrador del sistema en forma manual, y consiste en insertar entradas en una base de datos del sistema que indican cuál usuario está en cuál grupo. En un principio, un usuario só­ lo podía estar en un grupo, pero algunas versiones de UNIX ya permiten que un usuario perte­ nezca a más de un grupo al mismo tiempo. Por sencillez, no hablaremos más de esta característica. El mecanismo de seguridad básico de UNIX es sencillo. Cada proceso lleva el UID o GID de su dueño. Cuando se crea un archivo, obtiene el UID y el GID del proceso que lo creó. El archivo también recibe un conjunto de permisos determinados por el proceso que lo creó. Es­ tos permisos especifican el acceso que el dueño, los demás miembros del grupo del dueño y el resto de los usuarios, tienen para el archivo. Para cada una de estas tres categorías, los posibles accesos son de lectura, escritura y ejecución, y se designan con las letras r , w y x , respectiva-

RkJQdWJsaXNoZXIy MjI4NDcx