Tema 46 – Sistemas Operativos.

Tema 46 – Sistemas Operativos.

Interfaces de usuario. Utilidades para la gestión de discos y equipos periféricos. Instalación. Gestión de programas y archivos. Gestión de impresión.

GUIÓN – ÍNDICE

1. INTRODUCCIÓN

2. SISTEMAS OPERATIVOS: INTERFACES DE USUARIOS

3. UTILIDADES PARA LA GESTIÓN DE DISCOS Y PERIFÉRICOS

3.1. Principios hardware de la gestión de dispositivos periféricos

3.2. Principios software de la gestión de dispositivos periféricos

3.3. Gestión de discos

4. INSTALACIÓN

5. GESTIÓN DE ARCHIVOS

5.1. Atributos de un archivo

5.2. Almacenamiento físico de los archivos

5.3. Implementación del sistema de archivos

5.4. Métodos de acceso en los sistemas de archivos

5.5. Operaciones soportadas por el sistema de archivos

5.6. Facilidades de los sistemas de archivos

5.7. Tipos de sistemas de archivos

5.8. Tendencias actuales

5.9. Sistemas de archivos en sistemas distribuidos

6. GESTIÓN DE impresión

1. INTRODUCCIÓN

El crecimiento de los ecosistemas de la información y la computación, está relacionado con un cambio fundamental en la sociedad, caracterizado por un cambio de una industria hasta ahora tradicional de manejo de bienes, hacia la de una industria del conoci­miento y de la economía de servicios de información.

La producción, distribución y administración de información se han trans­formado ya en las actividades principales de las sociedades modernas basadas en el manejo del conocimiento. En este sentido, la internase entre el ser humano y los sistemas informáticos (ya sean de acceso local o remotos) debe ser mejorada continuamente para lograr una optimi­zación ideal en la comunicación humana a nivel global.

Por tanto los interfaces actúan de intermediarios entre el usuario (hombre) y la máquina, mostrando a los usuarios una cara más amigable del sistema.

Una vez que tenemos una idea de lo que es una interface, es muy sencillo concluir que un sistema operativo, herramientas de gestión de archivos, herramientas de ges­tión de discos ó herramientas de gestión de impresoras actúan de interfaces entre el usuario y la máquina sobre la que actúan.

Todo este conjunto de interfaces, actúan en diferentes niveles y sobre dife­rentes recursos ofreciendo una gama completa de soluciones al alcance de los usuarios.

2. SISTEMAS OPERATIVOS: INTERFACES DE USUARIOS

La mayoría de los usuarios de ordenadores, tienen experiencia con siste­mas operativos, pero tienen problema en definirlo. Esto es porque un sistema operativo cumple dos funciones básicas y no están relacionadas. A saber:

– Sistema Operativo como máquina extendida: la arquitectura de ins­trucciones, organización de memoria, E/S y estructura del bus de un orde­nador es compleja por lo que el tener que hacer operaciones a nivel interno, es decir ejecutando una serie de instrucciones de un lenguaje ensamblador para realizar por ejemplo una lectura genera para el usual usuario bas­tante complejidad que haría desistir de utilizar estas máquinas. Es por ello, por lo que la función del usuario es presentar al usuario el equivalente de una máquina extendida ó virtual con la cual sea sencillo el trabajar.

• Sistema operativo como controlador de recursos: el punto de vista anterior presenta al sistema operativo como una interfaz conveniente de abajo (HW) a arriba (usuario. Un punto de vista alternativo, es decir de arri­ba abajo, en la que se presenta el sistema operativo como una capa capaz de controlar todas las piezas de un complejo sistema. Desde este punto de vista, el sistema operativo debe proporcionar una asignación ordenada y controlada de los procesadores, memorias y dispositivos de E/S para los varios programas que compiten por ellos.

3. UTILIDADES PARA LA GESTIÓN DISCOS Y PERIFÉRI­COS

Una de las funciones principales de los SO es el control sobre los dispositi­vos de entrada y salida del sistema. El sistema operativo deba enviar comandos a los dispositi­vos, detectar las interrupciones y controlar los errores. También debe proporcionar una interfaz entre el dispositivo y el resto del sistema, sencilla y fácil de usar. En la medida de los posible el interfaz debe ser la misma para todos los dispositivos (independencia de dispositivos).

Todas las funciones/elementos que a continuación se detallan quedan en­globadas como utilidades, aprovechadas directamente por el sistema operativo y también de forma indirecta por el usuario.

3.1. PRINCIPIOS HARDWARE DE DISPOSITIVOS PERIFÉRICOS

Los dispositivos de E/S ó periféricos se pueden dividir de manera general en dos cate­gorías dispositivos de bloque y dispositivos de carácter.

Un dispositivo de bloque es aquél que almacena la información en bloques de tama­ño fijo, cada uno con su propia dirección. La propiedad esencial de los dispositivos de bloque es la posibilidad de leer ó escribir en un bloque de forma independiente a los demás. Un ejem­plo común de este tipo de dispositivos son los discos duros del ordenador, en el que siempre es posible localizar un bloque sin más que esperar que la cabeza del disco llegue al bloque solicitado.

Por su Darte un dispositivo de carácter, envía o recibe un flujo de caracteres sin estar sujeto a ningún bloque. Un ejemplo sería las impresoras de línea, cintas de papel, etc.

También tenemos el sistema de archivos, e1 cual trabaja con dispositivos de bloque abstractos, y se encarga la parte que depende del dispositivo a un software de más bajo nivel llamado manejador o controlador de dispositivo.

Las unidades de E/S ó periféricos constan por 1o general de un componente mecánico y otro electrónico. El componente electrónico se llama controlador de dispositivo ó adaptador. Este componente suele tomar forma de tarjeta insertada en el ordenador, mientras que la parte mecánica es el propio dispositivo.

La tarjeta controladora tiene por lo general un conector donde se enchufa el cable del dispositivo en cuestión.

En la actualidad se trabaja con interfaces entre el controlador y e1 dispositivo, estándar de forma que cualquier fabricante de dispositivos que la interfaz estándar, tendrá asegurada la conexión.

La distinción entre controlador y dispositivo se hace necesaria, debido a que el sistema operativo solo trabaja con el controlador y no con el dispositivo.

En el caso de ordenadores personales y estaciones de trabajo la forma de comunicarse la CPU con los controladores de dispositivos es a través de un bus de comunicación, mientras que en mainframes se cuenta con canales de E/S especializados, que reparten la carga de E/S a las distintas CPU en función de una serie de algoritmos equitativos de carga.

De forma general se puede decir que la función del controlador es convertir el flujo de bits en serie de un bloque de bytes (por ejemplo de disco) y llevar a cabo una labor de correc­ción caso de que fuera necesario. Lo normal es que el bloque de bytes se ensamble bit a bit en un buffer del controlador, para que después libre de errores se lleve a memoria principal.

El sistema operativo realiza la E/S al escribir comandos en los registros del controlador, algunos de estos pueden ser SEEK, READ, WRITE,… normalmente estos reciben algún pará­metro.

3.2. PRINCIPIOS SOFTWARE DE DISPOSITIVOS PERIFÉRICOS

La idea básica es organizar el software en una serie de capas, en donde las capas infe­riores se encarguen de ocultar a las capas superiores cuales son las características del hard­ware, de forma que las capas superiores se centren en la interface con los usuarios.

Un concepto básico en el diseño del software de E/S es lo que se conoce como inde­pendencia de dispositivo. Es decir, debe ser posible escribir programas que se puedan utili­zar con cualquier tipo de dispositivo, sin tener que tener un programa especial para cada tipo de dispositivo. Entonces el sistema operativo es el que tiene la labor de hacer iguales a todos los dispositivos aunque realmente no lo sean, empezando por la asignación de cada uno de los dispositivos de nombres uniformes, de forma que la forma de identificación de un dispositivo no dependa de las características del mismo.

Otro aspecto importante del software de E/S es el manejo de errores. En general los errores deben manejarse lo más cerca posible del hardware. Si el controlador descubre un error de lectura, debe tratar de corregirlo en la medida de lo posible. Si no puede corregirlo en­tonces el manejador del dispositivo debería solucionarlo. Solo en el caso de que los errores no sean solucionados por los niveles inferiores, se informará a los niveles superiores. En la mayo­ría de los casos la recuperación del error se puede realizar en las capas inferiores no llegando a conocimientos del usuario.

Por último un tema importante que concierne al software de E/S de un sistema es el que se refiere a los dispositivos de uso exclusivo y a los dispositivos de uso compartido.

Por ejemplo, los discos de un ordenador se pueden utilizar por varios usuarios al mis­mo tiempo, ya que por ejemplo no ocurre ningún problema por que existan varios usuarios con ficheros abiertos del mismo disco. Pero por otra parte por ejemplo una impresora, solo se pue­de asignar a un usuario, siendo esta de uso exclusivo.

Por lo tanto entra dentro de las labores del sistema operativo el realizar una administra­ción de los dispositivos tanto de uso exclusivo como de uso compartido.

Esta labor la logra rea­lizar el sistema operativo gracias a la estructuración del software de E/S en capas, concreta­mente en cuatro capas:

1. Manejadores de interrupciones. 2. Directivas de dispositivos.

3. Software de sistema operativo independiente de los dispositivos. 4. software a nivel de usuario.

3.3. GESTIÓN DE DISCOS

Todos los discos están organizados mediante cilindros, cada uno de los cuales contie­ne pistas y cabezas apiladas en forma vertical. Las pistas se dividen en sectores, y todos estos contienen un mismo número de bytes.

Una característica de estos dispositivos es que los manejadores permiten a los con­troladores realizar búsquedas en una ó más unidades de disco al mismo tiempo. Esto se cono­ce como búsquedas traslapadas. Esta capacidad de búsqueda al mismo tiempo sobre uno ó varios dispositivos puede reducir el tiempo promedio de acceso de forma considerable, cosa que no ocurre en la mayoría de los dispositivos de E/S.

Gracias a la estructuración en capas, podemos usar el mismo sistema de archivos en cualquier dispositivo de bloques con un driver adecuado, que implemente la interfaz para el software independiente del dispositivo. Por ejemplo, en los primeros ordenadores personales, que tenían sólo una disquetera como medio de almacenamiento, era habitual crear un disco RAM, es decir reservar un trozo de la memoria para usarlo como un disco virtual, para almace­nar archivos

Los discos, en cuanto dispositivos mecánicos, son propensos a fallos. A veces el fallo es transitorio: el controlador no puede leer un sector debido a que se interpuso una partícula de polvo entre el cabezal y la superficie del disco.

En los casos en que el sector está permanentemente dañado, el error se informa al dri­ver ó manejador, y este informará al sistema de archivos, quien registra el bloque como daña­do, para no volver a usarlo en ninguna operación de E/S.

Algunos controladores inteligentes reservan de antemano algunas pistas de disco de forma que no sean visibles para el manejador, y no sean usados en las operaciones de E/S. De esta forma cuando se daña un sector el propio controlador lo reemplaza por uno de los que había reservado, haciendo que la operación de E/S se comporte de la misma manera como si estuviera correcto.

4. INSTALACIÓN

Los cambios en diseños de un sistema informático, referidos a dispositivos periféricos y/o discos, tienden a ser evolutivos en lugar de Revolucionarios.

Los pasos que se realizan la instalación de dispositivos periféricos ó discos, a nivel físicos, son muy parecidos ya que:

1. Se desconecta el dispositivo antiguo ó estropeado.

2. Se conecta el nuevo dispositivo, mediante la “fajá’ (bus de comunicación con la placa del ordenador) al ordenador.

3. Se conecta la alimentación al nuevo dispositivo, bien a la fuente de ali­mentación del ordenador si el dispositivo es interno, ó a una fuente de ali­mentación (red eléctrica) exterior si es dispositivo periférico es exterior.

En los actuales ordenadores, al reiniciar el equipo después de la instala­ción, debido a la tecnología Plug&Play, el sistema detectará el nuevo dispositivo, guiándote el propio sistema operativo para la instalación, ya a nivel software, correcta. En este proceso normalmente el sistema operativo solicita drivers/controladores del dispositivo de forma que se pueda entender con él cuando el usuario del sistema solicite una operación, sobre el nuevo dispositivo.

Siempre que se realice la instalación de un dispositivo periférico ó disco, bien nuevo ó por sustitución se deben tener en cuenta una serie de premisas, para que la ins­talación de este nuevo soporte, produzca el beneficio esperado de él.

• Cómo se realiza en estos momentos el trabajo diario.

• Con qué volúmenes de información se cuenta en el sistema.

• Con qué cantidad de información se trabaja a diario.

• Cuáles son los procedimientos de operación más comunes.

• Dónde se encuentra la información con la que 3e trabaja.

• Cuál es el número de usuarios actual.

• Cuál es el número de usuarios potencial a medio plazo.

• Qué se espera conseguir con la instalación de este nuevo dispositivo.

Como se puede observar muchos de estos factores hacen referencia al he­cho de contar con una instalación previa. Cuando se produce esto, se debe hacer un estudio muy minucioso para decidir si lo conveniente es modificación del sistema, ampliación del sis­tema existente.

Por lo tanto cuando se parte de una instalación existente, habrá que reali­zar dos pasos antes de la implantación:

– Estudio de la tecnología existente, cal características de los equipos, características de las estaciones clientes, tipos de servicios a ofrecer, característi­cas de éstos,…

– Estudio de las tecnologías emergentes de la actualidad para ofrecer la mejor solución a las necesidades presentadas.

En la instalación de un dispositivo hay que tener en cuenta tanto el soft­ware, como el hardware, ya que a veces que hay tecnologías que no compatibles entre sí.

5. GESTIÓN DE PROGRAMAS Y DE ARCHIVOS

Emplearemos programa como conjunto de archivos, que se relacionan en­tre sí para satisfacer una necesidad del usuario, ó más bajo aún, del sistema operativo. Por lo tanto el desarrollo de este apartado se realizará en función del mas bajo nivel, es decir a nivel de archivos.

Un sistema de archivos ( file system ) es una estructura de directorios con algún tipo de organización el cual nos permite almacenar, crear y borrar archivos en diferentes formatos. En esta sección se revisarán conceptos importantes relacionados a los sistemas de archivos.

5.1. ATRIBUTOS DE UN ARCHIVO

Desde el punto de vista del usuario, un archivo suele tener los siguientes atributos:

• Nombre: Más que nada, para ayudar a los humanos. Las reglas para nombrar archi­vos varían de un sistema a otro (cuántos caracteres, qué caracteres, mayúsculas y mi­núsculas diferentes, extensión, etc.).

• Tipo: Si es de texto, si es una imagen, si es un ejecutable, si es una librería de enla­ce dinámico,…

• Contenido: Para el SO, el contenido es una mera secuencia de bytes; el usuario lo interpreta a su manera, otorgándole alguna estructura adicional.

• Tamaño: Actua! y máximo.

• Fecha y hora: De creación, de la última modificación, del último acceso.

• Usuarios: Identificador del creador y del propietario actual.

• Atributos de protección: Quién tiene derecho a hacer qué con el archivo.

• Otros atributos: Oculto, sistema, respaldado, etc.

5.2. ALMACENAMIENTO FÍSICOS DE LOS ARCHIVOS

En un sistema de cómputo es evidente que existe la necesidad por parte de los usuarios y aplicaciones de almacenar datos en algún medio, a veces por periodos largos y a veces por instantes. Cada aplicación y cada usuario deben tener ciertos derechos con sus datos, co­mo son el poder crearlos y borrarlos, o cambiarlos de lugar; así como tener privacidad contra otros usuarios o aplicaciones.

El sistema de archivos del sistema operativo se debe encargar de estos detalles, ade­más de establecer el formato físico en el cual almacenará los datos en discos duros, CD-ROM, cintas, discos flexibles ó unidades lomega ZIP.

Debe ser conocido por todos que tradicionalmente la información en los sistemas mo­dernos se almacena en discos duros, flexibles y unidades de disco óptico, y en todos ellos se comparten algunos esquemas básicos para darles formato físico: las superficies de almacena­miento son divididas en círculos concéntricos llamados “pistas” y cada pista se divide en “sec­tores”.

A la unión lógica de varias pistas a través de varias superficies “paralelas” de almace­namiento se les llama “cilindros”, los cuales son inspeccionados al momento de lectura o es­critura de datos por las respectivas unidades físicas llamadas “cabezas”. Las superficies de almacenamiento reciben e1 nombre de “platos” y generalmente están en movimiento rotatorio para que las cabezas accedan a las pistas que los componen. Los datos se escriben a través de los sectores en las pistas y cilindros modificando las superficies por medio de las cabezas.

El tiempo que una cabeza se tarda en ir de una pista a otra se le llama “tiempo de búsqueda” y dependerá de la distancia entre la posición actual y la distancia a la pista busca­da. El tiempo que tarda una cabeza en ir del sector actual al sector deseado se le llama tiempo de latencia y depende de la distancia entre sectores y la velocidad de rotación del disco.

El impacto que tiene las lecturas y escrituras sobre el sistema está determinado por la tecnología usada en los platos y cabezas y por la forma de resolver las peticiones de lectura y escritura, es decir, los algoritmos de planificación.

5.3. IMPLEMENTACIÓN DEL SISTEMA DE ARCHIVOS

Podemos modelar el disco duro como una secuencia de bloques, de 0 a N-1, de tama­ño fijo (usualmente, de 512 bytes), a los cuales tenemos acceso directo, pero, por el movi­miento del brazo es más caro leer des bloques separados que dos bloques contiguos.

El primer problema consiste en determinar cómo a almacenar los archivos en el disco.

• Asignación contigua

Este método requiere que cada archivo se almacene en un conjunto contiguo de bloques.

Ventajas

Por una parte es simple, porque para saber qué bloques ocupa un archivo, basta con registrar el primero. También es muy simple implementar acceso directo. Por otra parte, tiene muy buen rendimiento cuando los archivos se leen enteros, en forma secuencial, pues el movimiento del brazo del disco es el mínimo posible.

Desventajas

¿Qué hacer si un archivo crece? Se debería reservar espacio suficiente, pero no nece­sariamente se conoce de antemano el tamaño máximo.

Además, la situación es análoga a la de asignación de particiones de memoria de ta­maño variable, y por lo mismo, hay fragmentación externa.

Podríamos pensar en compactación, pero, tratándose de disco, no es muy aconsejable hacerlo (salvo de noche, cuando el sistema no esté en uso).

• Lista ligada

El segundo método para almacenar archivos consiste en mantener cada uno como una lista ligada de bloques. Los primeros bytes de cada bloque se usan como puntero al siguiente; el resto para los datos.

Ventajas

Se resuelven los problemas del método anterior: no hay fragmentación externa (aunque sí un poco de fragmentación interna). El directorio sólo debe registrar el primer bloque de cada archivo. No es necesario declarar el máximo tamaño que puede llegar a tener un archivo, puesto que puede crecer sin problemas (mientras queden bloques libres).

Desventajas

Acceso secuencial es simple, pero no tan eficiente como con asignación contigua. Ac­ceso aleatorio es extremadamente lento Punteros espacio, y además hacen que la información útil de cada bloque deje de ser potencia de 2. Para reducir impacto en espacio, se pueden agrupar varios bloques físicos en uno sólo lógico, llamado uni­dad de asignación (o cluster).

• Tabla de asignación de archivos (FAT)

Para eliminar algunas desventajas del método anterior, en vez de tener esparcidos los punteros en cada bloque, se pueden agrupar y poner todos juntos en una tabla o FAT. Es lo que hace MS-DOS, reservando un pedazo al comienzo del disco para la FAT.

Ventajas

Las mismas del anterior, y además: Si mantenemos la FAT en memoria, acceso aleato­rio se agiliza enormemente. Información en cada bloque vuelve a ser potencia de 2.

Desventajas

Se sigue perdiendo espacio para los punteros (ahora en forma de FAT). FAT puede ser grande (y hay que mantenerla en memoria). MS-DOS impone un límite de 216 entradas en la FAT, lo que obliga a usar clusters demasiado grandes en discos de alta capaci­dad, lo que se traduce en una alta fragmentación interna.

• Nodos-1

El último método consiste en mantener juntos los punteros de cada archivo, en una ta­bla, asociada al archivo, y que se guarda en un bloque como cualquiera (esta tabla es análoga a la tabla de páginas).

Además, en ese bloque se puede guardar información de los otros atributos del archi­vo. El directorio sólo contiene un puntero al bloque que contiene la tabla.

Problema: ¿y si el archivo es grande y su tabla no cabe en un solo bloque? Soluciones: lista ligada de bloques, índice multinivel (como en las tablas de páginas), o un esquema combi­nado, que es lo que se usa en Unix:

Ventajas

Prácticamente lo único que hay que registrar en el directorio es un puntero al nodo-I. Acceso aleatorio rápido para archivos pequeños. bajo sobrecosto fijo (no hay FAT, en­tradas en directorios pequeñas).

Desventajas

Relativamente complejo. Mayor sobrecosto variable: cada archivo, por pequeño que sea, necesita al menos dos bloques. Acceso aleatorio más complicado para archivos grandes (en todo caso, los bloques con índices pueden guardarse en memoria para agilizar el acceso).

En general, se usan métodos mucho más complejos que los que hemos visto. La enorme disparidad en velocidad entre la CPU y el disco justifica usar algoritmos com­plejos ‘incluso inteligencia artificial), que utilicen mucha CPU para ahorrar un par de movimientos del brazo.

Windows NT administra el contenido del disco a través de una base de datos relacio­nal, y utiliza el modelo de transacciones para asegurarse que las modificaciones son atómicas y no se produzcan inconsistencias.

5.4. MÉTODOS DE ACCESO EN LOS SISTEMAS DE ARCHIVOS

Los métodos de acceso se refiere a las capacidades que el subsistema de archivos provee para acceder datos dentro de los directorios y medios de almacenamiento en general.

Se ubican tres formas generales: acceso secuencial, acceso directo y acceso directo indexado.

• Acceso secuencial: Es el método más lento y consiste en recorrer los componentes de un archivo uno en uno hasta llegar al registro deseado. Se necesita que el orden ló­gico de los registros sea igual al orden físico en el medio de almacenamiento. Este tipo de acceso se usa comúnmente en cintas y cartuchos.

• Acceso directo: Permite acceder cualquier sector o registro inmediatamente, por medio de llamadas al sistema como la de seek. Este tipo de acceso es rápido y se usa comúnmente en discos duros y discos o archivos manejados en memoria de acceso aleatorio.

• Acceso directo indexado: Este tipo de acceso es Útil para grandes volúmenes de información o datos.

Consiste en que cada archivo tiene una tabla de apuntadores, donde cada apuntador va a la dirección de un bloque de índices, lo cual permite que el archivo se expanda a

través de un espacio enorme. Consume una cantidad importante de recursos en las ta­blas de índices pero es muy rápido.

5.5. OPERACIONES SOPORTADAS POR EL SISTEMA DE ARCHIVOS

Independientemente de los algoritmos de asignación de espacio, de los métodos de acceso y de la forma de resolver las peticiones de lectura y escritura, el sistema de archivos debe proveer un conjunto de llamadas al sistema para operar con los datos y de proveer me­canismos de protección y seguridad. Las operaciones básicas que la mayoría de los sistemas de archivos soportan son:

• Crear: Permite crear un archivo sin datos, con el propósito de indicar que ese nombre ya está usado y se deben crear las estructuras básicas para soportarlo.

• Borrar: eliminar el archivo y liberar los bloques para su uso posterior.

• Abrir: Antes de usar un archivo se debe abrir para que el sistema conozca sus atri­butos, tales como el dueño, la fecha de modificación, etc.

• Cerrar; Después de realizar todas las operaciones deseadas, el archivo debe cerrar­se para asegurar su integridad y para liberar recursos de su control en la memoria.

• Leer o Escribir: Añadir información al archivo o leer el carácter o una cadena de ca­racteres a partir de la posición actual.

• Concatenar: Es una forma restringida de la llamada `write’, en la cual sólo se permite añadir información al final del archivo.

• Localizar: Para los archivos de acceso directo se permite posicionar el apuntador de lectura o escritura en un registro aleatorio, a veces a partir del inicio o final del archivo.

• Leer atributos: Permite obtener una estructura con todos los atributos del archivo especificado, tales como permisos de escritura, de borrado; ejecución, etc.

• Poner atributos: Permite cambiar los atributos de de un archivo, por ejemplo en unix donde todos los dispositivos se manejan como si fueran archivos, es posible cambiar el comportamiento de una terminal con una de estas llamadas.

• Renombrar: Permite cambiarle el nombre e incluso a veces la posición en la organi­zación de directorios del archivo especificado. Los sistemas de archivos también pro­veen un conjunto de llamadas para operar sobre directorios, las más comunes son crear, borrar, abrir, cerrar, renombrar y leer.

Sus funcionalidades son obvias, pero existen también otras dos operaciones no tan comunes que son la de `crear link (enlace simbólico)’ y la de `eliminar link’.

La operación de “crear link” sirve para que desde diferentes puntos de la organización de directorios se pueda acceder un mismo directorio sin necesidad de copiarlo o dupli­carlo. La llamada a “eliminar link” lo que hace es eliminar esas referencias, siendo su efecto la de eliminar el acceso y no el directorio real.

5.6. FACILIDADES DE LOS SISTEMAS DE ARCHVOS

Algunos sistemas de archivos proveen herramientas al administrador del sistema para facilitarle su trabajo. Las más notables es la facilidad de compartir archivos y los sistemas de `cotas’ (quotas).

La facilidad de compartir archivos se refiere a la posibilidad de que los permisos de los archivos o directorios dejen que un grupo de usuarios puedan acceder para diferentes ope­raciones leer, escribir, borrar, crear, etc.

El propietario verdadero es quien decide qué permisos se aplicarán al grupo e, incluso, a otros usuarios que no formen parte de su grupo.

La facilidad de cotas se refiere a que el sistema de archivos es capaz de llevar un con­trol para ira que cada usuario pueda usar un máximo de espacio en su dispositivo de almacena­miento. Cuando el usuario excede ese límite, el sistema le envía un mensaje y le niega el per­miso de seguir escribiendo, obligándolo a borrar algunos archivos si es que quiere almacenar otros o que crezcan.

En la actualidad la mayoría de los sistemas operativos multiusuario proporcionan esta facilidad.

5.7. TIPOS DE SISTEMAS DE ARCHIVOS

Sistemas de Archivos Aislados

Los sistemas de archivos aislados son aquellos que residen en una sola computadora y no existe la posibilidad de que, aún estando en una red, otros sistemas puedan usar sus direc­torios y archivos. –

Sistemas de Archivos Compartidos o de Red

Estos sistemas de archivos es factible acceder y usarlos desde otros nodos en una red. Generalmente existe un `servidor’ que es la computadora en donde reside el sistema de archi­vos físicamente, y por otro lado están los `clientes’, que se valen del servidor para ver sus ar­chivos y directorios de manera como si estuvieran localmente en el cliente. Algunos autores les llaman a estos sistemas de archivos ‘sistemas de archivos distribuidos.

Los sistemas de archivos compartidos en red más populares son los provistos por Netware, el Remote Filke Sharing (RFS en UNIX ), Network File System (NFS de Sun Micros­ystems) y el Andrew File System (AFS). En general, lo que proveen los servidores es un medio de que los clientes, localmente, realicen peticiones de operaciones sobre archivos los cuales son gestionados por un `driver’ o un `módulo’ en el núcleo del sistema operativo, el cual se co­munica con el servidor a través de la red y la operación se ejecuta en el servidor.

5.8. TENDENCIAS ACTUALES

Con el gran auge de las redes de comunicaciones y su incremento en el ancho de ban­da, la proliferación de paquetes que ofrecen la compartición de archivos es común.

El esquema más solicitado en la industria es el poder acceder los grandes volúmenes de información que residen en grandes servidores desde los ordenadores personales y desde otros servidores también.

A veces se requieren soluciones más complejas con ambientes heterogéneos: diferen­tes sistemas operativos y diferentes arquitecturas. Uno de los sistemas de archivos más ex­pandidos en estaciones de de trabajo es el PI NFs

Es posible así que una gran cantidad de ordenadores personales accedan a grandes volúmenes de información.

Lo importante aquí es observar que el mundo se va moviendo poco a poco hacia solu­ciones distribuidas, y hacia la estandarización que, muchas veces, es `de facto’.

5.9. SISTEMA DE ARCHIVOS EN SISTEMAS DISTRIBUIDOS

Un componente fundamental de cualquier sistema distribuido es el sistema de archivos. Un Sistema de Archivos Distribuido es una implementación distribuida del clásico modelo de sistema. de archivos de tiempo compartido, donde varios usuarios comparten archivos y recur­sos de almacenamiento; la tarea del sistema de archivos es almacenar los programas y los datos y tenerlos disponibles cuando sea necesario.

Debemos distinguir entre los conceptos de servicio de archivos y el servidor de archi­vos. El servicio de archivos es la especificación de los servicios que el sistema de archivos ofrece a sus clientes. Para los clientes, el servicio de archivos define con precisión el servicio con que pueden contar, es decir especifica la interfaz d21 sistema de archivos con los clientes. Un servidor de archivos es un proceso que se ejecuta en alguna máquina y ayuda en la im­plantación del servicio de archivos. Un sistema puede tener uno o varios servidores de archi­vos, pero los clientes no deben ser conscientes de la forma de implantar el sistema de archi­vos. A diferencia de un sistema de archivos tradicional, un sistema distribuido debe ser transpa­rente, tolerante a fallos y descentralizado.

Transparente

El problema más importante que debemos sortear, es buscar el modo de que todos los ordenadores puedan acceder a todos los archivos del sistema. Para lograr esto es necesario que todas las máquinas tengan siempre y en todo momento una copia actualizada de la es­tructura de archivos y directorios. Si esta estructura oculta la localización física de los archivos entonces cumplimos con el criterio de transparencia.

Fallos del sistema

Que el sistema de archivos sea tolerante a fallos implica que el sistema debe guardar varias copias del mismo archivo en distintas computadoras, para garantizar la disponibilidad en caso de fallo del servidor original. Debemos escribir un algoritmo que nos permita mantener todas las copias actualizadas, o un método alternativo que solo nos permita acceder al archivo actualizado. Es recomendable el uso de memorias caché para agilizar el acceso a los archivos ya que reduce el tráfico en la red.

Modelos de Acceso

Debido a la complejidad del acceso a los archivos en un sistema distribuido, surgen dos modelos para el acceso­

• Modelo carga/descarga.

• Modelo de acceso remoto.

El primer modelo simplifica el acceso permitiendo únicamente las operaciones de carga descarga de un archivo. El acceso a cualquier parte del archivo significa solicitar y guardar una copia local del archivo completo. Este método es bastante ineficaz a la hora de realizar peque­ñas modificaciones en archivos muy grandes corno pueden ser las bases de datos.

El segundo modelo (acceso remoto) es mucho más complejo y permite todas las ope­raciones típicas de un sistema de archivos local.

GESTIÓN DE IMPRESIÓN

Esta parte del tema se enfocará en dos partes, una de ellas referida a la. gestión de impresión cuando se dispone de una impresora local, y una segunda parte cuando se dispone de una red con servidores de impresión compartidos y gestionados por el sistema operativo de red. –

Los distintos sistemas operativos tienen un conjunto de órdenes que per­miten volcar el contenido de ficheros, salidas u órdenes al dispositivos paralelo LPT1, que es donde normalmente se conectan las impresoras locales.

Las utilidades/programas que permiten adecuar las impresoras a las órde­nes están residentes en memoria y se llaman drivers ó controladores, que han sido descritos de forma general en los puntos anteriores.

En los sistemas operativos existen órdenes para la configuración del modo de trabajo de los puertos paralelos, que son los conectores que se utilizan para impresoras a distancias cortas, y para distancias largas se utilizan los puertos serie.

La BIOS proporciona múltiples servicios de impresión para gestionar los puertos del ordenador.

Algunos ejemplos pueden ser:

• Escribir carácter a puertos paralelo.

• Inicializar puerto paralelo.

• Obtener el estado de la impresora.

En esta segunda parte del apartado, tratamos los servidores de impresión.

Éstos permiten compartir las impresoras entre los nodos en la red. Sopor­tando tanto interfaces paralelo o serie (a veces ambos), un servidor de impresión acepta tra­bajos de impresión de cualquier nodo de la red usando cualquiera de los protocolos soportados y gestiona fa impresión de esos trabajos en la impresora apropiada.

Los primeros servidores de impresión eran dispositivos externos que so­portaban imprimir a través de los puertos paralelos o serie del dispositivo. Típicamente, sólo uno, a veces dos protocolos, eran soportados.

La última generación de servidores de impresión soporta múltiples proto­colos, tiene múltiples opciones de conexión paralelo y serie y, en algunos casos, es lo bastante pequeño como para encajar directamente en e1 puerto paralelo de la propia impresora.

Por norma, los servidores de impresión no tienen una gran cantidad de memoria. En lugar de almacenar cada trabajo de impresión en memoria, simplemente guardan la información sobre el servidor y el protocolo involucrado en una cola. Los trabajos de impre­sión se guardan o se organizan en un servidor de archivos o servidor de red. Cuando la impre­sora deseada esta disponible, entonces permite al servidor transmitir los datos a la impresora apropiada. El servidor de impresión puede simplemente gestionar una cola e imprimir cada tra­bajo en el orden en el que sé reciben las peticiones de impresión, independientemente del protocolo usado o él tamaño del trabajo.

Para conseguir un rendimiento elevado y equilibrado de los dispositivos de impresión, existen una serie de parámetros que deben estar bien configurados en el sistema operativo de red, de forma que la gestión de impresión sea adecuada, éstos son:

– Servidores de Impresión lógicos.

– Controladores de servicios de impresión­- Colas de impresión.

-Administrador de trabajos de espera

En la función de gestión de impresión se debe tener en cuenta:

• El servicio de impresión consume muchos recursos de CPU con lo cual las impresoras deberán ser asignadas a equipos con bastante potencia de proceso además de bastante memoria.

• Las impresoras de red deben estar distribuidas por toda la planta, edifi­cio,… con lo que deberá pensar muy bien la distribución de los equipos de impresión.

Además, en la gestión de impresión, se deberá de proveer a todos los usuarios de la red del debido permiso de acceso. Para ello deberá:

• Realizar la asignación de servicios de impresión lógicos a servidores de impresión físicos.

• Realizar la asignación de derechos de acceso para cada usuario ó grupo de usuarios de la red.

En la actualidad los sistemas operativos de red, disponen de herramientas de administración para facilitar estas tareas.

RESUMEN

El sistema operativo de un ordenador, ejerce de interfaz con el usuario, ofreciendo a estas dos visiones una ascendente, como máquina virtual, y otra descendente, como controlador de recursos.

El sistema operativo controla discos, impresoras, archivos,… y para que pueda llevar a cabo esta tarea es necesario que se pueda comunicar con ellos.

Para que se pueda realizar esta comunicación es necesario unos drivers/controlad ores que son los que se encargan de realizar las operaciones a mas bajo nivel con el dispositivo, y ofrecerle al sistema operativo una salida adecuada, de forma que la pueda interpretar y ele­varla a programa, usuario ó dispositivo que la haya solicitado.