jueves, 20 de enero de 2011

UNIDAD V

ADMINISTRACION DE DISPOSITIVOS DE E/S
Es necesario proteger la información alojada en el sistema de archivos, efectuando los resguardos correspondientes. De esta manera se evitan las consecuencias generalmente catastróficas de la pérdida de los sistemas de archivos. Las pérdidas se pueden deber a problemas de hardware, software, hechos externos, etc.
Manejo de un bloque defectuoso:
Se utilizan soluciones por hardware y por software.
La solución en hardware:
Consiste en dedicar un sector del disco a la lista de bloques defectuosos. Al inicializar el controlador por primera vez: Lee la “lista de bloques defectuosos”. Elige un bloque (o pista) de reserva para reemplazar los defectuosos. Registra la asociación en la lista de bloques defectuosos. En lo sucesivo, las solicitudes del bloque defectuoso utilizarán el de repuesto. La solución en software: Requiere que el usuario o el sistema de archivos construyan un archivo con todos los bloques defectuosos. Se los elimina de la “lista de bloques libres”. Se crea un “archivo de bloques defectuosos”: Esta constituido por los bloques defectuosos. No debe ser leído ni escrito. No se debe intentar obtener copias de respaldo de este archivo. Respaldos (copias de seguridad o de back-up): Es muy importante respaldar los archivos con frecuencia.
Los respaldos pueden consistir en efectuar copias completas del contenido de los discos (flexibles o rígidos).
Una estrategia de respaldo consiste en dividir los discos en áreas de datos y áreas de respaldo, utilizándolas de a pares:
Se desperdicia la mitad del almacenamiento de datos en disco para respaldo. Cada noche (o en el momento que se establezca), la parte de datos de la unidad 0 se copia a la parte de respaldo de la unidad 1 y viceversa. Otra estrategia es el vaciado por incrementos o respaldo incremental: Se obtiene una copia de respaldo periódicamente (por ej.: una vez por mes o por semana), llamada copia total. Se obtiene una copia diaria solo de aquellos archivos modificados desde la última copia total; en estrategias mejoradas, se copian solo aquellos archivos modificados desde la última vez que dichos archivos fueron copiados. Se debe mantener en el disco información de control como una “lista de los tiempos de copiado” de cada archivo, la que debe ser actualizada cada vez que se obtienen copias de los archivos y cada vez que los archivos son modificados. Puede requerir una gran cantidad de cintas de respaldo dedicadas a los respaldos diarios entre respaldos completos. Consistencia del sistema de archivos: Muchos sistemas de archivos leen bloques, los modifican y escriben en ellos después.
Si el sistema falla antes de escribir en los bloques modificados, el sistema de archivos puede quedar en un “estado inconsistente”.
La inconsistencia es particularmente crítica si alguno de los bloques afectados son:
Bloques de nodos-i. Bloques de directorios. Bloques de la lista de bloques libres. La mayoría de los sistemas dispone de un programa utilitario que verifica la consistencia del sistema de archivos: Se pueden ejecutar al arrancar el sistema o a pedido. Pueden actuar sobre todos o algunos de los discos. Pueden efectuar verificaciones a nivel de bloques y a nivel de archivos. La consistencia del sistema de archivos no asegura la consistencia interna de cada archivo, respecto de su contenido. Generalmente pueden verificar también el sistema de directorios y / o de bibliotecas. Generalmente los utilitarios utilizan dos tablas: Tabla de bloques en uso. Tabla de bloques libres. Cada bloque debe estar referenciado en una de ellas. Si un bloque no aparece en ninguna de las tablas se trata de una falla llamada bloque faltante: No produce daños pero desperdicia espacio en disco. Se soluciona añadiendo el bloque a la tabla de bloques libres. También podría detectarse la situación de falla debida a un bloque referenciado dos veces en la tabla de bloques libres: Esta falla no se produce en los sistemas de archivos basados en mapas de bits, sí en los basados en tablas o listas.
La solución consiste en depurar la tabla de bloques libres. Una falla muy grave es que el mismo bloque de datos aparezca referenciado dos o más veces en la tabla de bloques en uso: Como parte del mismo o de distintos archivos. Si uno de los archivos se borra, el bloque aparecería en la tabla de bloques libres y también en la de bloques en uso. Una solución es que el verificador del sistema de archivos: Asigne un bloque libre. Copie en el bloque libre el contenido del bloque conflictivo. Actualice las tablas afectando el bloque copia a alguno de los archivos. Agregue el bloque conflictivo a la tabla de bloques libres.
Cada nodo-i tiene un modo, pero algunos modos son válidos aunque extraños: Ej.: Se prohíbe el acceso al propietario y todo su grupo, pero se permite a los extraños leer, escribir y ejecutar el archivo. La verificación debería detectar e informar de estas situaciones. Se debería informar como sospechosos aquellos directorios con excesivas entradas, por ej., más de mil. Inicio: Fin: Desempeño del Sistema de Archivos

El acceso al disco es mucho más lento que el acceso a la memoria:
Los tiempos se miden en milisegundos y en nanosegundos respectivamente. Se debe reducir el número de accesos a disco. La técnica más común para reducir los accesos a disco es el bloque caché o buffer caché: Se utiliza el término ocultamiento para esta técnica (del francés “cacher”: ocultar). Un caché es una colección de bloques que pertenecen desde el punto de vista lógico al disco, pero que se mantienen en memoria por razones de rendimiento. Uno de los algoritmos más comunes para la administración del caché es el siguiente: Verificar todas las solicitudes de lectura para saber si el bloque solicitado se encuentra en el caché.

El MPU usa 8 líneas de dirección para identificar dispositivos de I/O.
A este tipo de direccionamiento se le conoce como Peripherals-mapped I/O
El MPU puede identificar hasta 256 (28 = 256) dispositivos de entrada y 256 de salida
Los dispositivos de entrada y salida son diferenciados por las señales de control I/O Read e I/O Write

El rango de direcciones es de 00H a FFH es conocido como el mapa de I/O
Las direcciones son referidas como dirección del dispositivo o número de puerto de I/O
Para conectar dispositivos de I/O se deben resolver dos problemas:

·         Como asignarles una dirección
·         Como conectarlos al bus de datos

En una arquitectura de bus, los dispositivos no pueden conectarse directamente al bus de datos o direcciones.
Todos los dispositivos deben conectarse a través de un dispositivo de interfaz.
De esta manera, los dispositivos estarán conectados y habilitados solamente si el MPU escoge comunicarse con ellos.
Un controlador de dispositivo, llamado normalmente controlador (en inglés, device driver) es un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica cómo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware.

Existen tantos tipos de controladores como tipos de periféricos, y es común encontrar más de un controlador posible para el mismo dispositivo, cada uno ofreciendo un nivel distinto de funcionalidades. Por ejemplo, aparte de los oficiales (normalmente disponibles en la página web del fabricante), se pueden encontrar también los proporcionados por el sistema operativo, o también versiones no oficiales hechas por terceros.

Debido que el software de controladores de dispositivos se ejecuta como parte del sistema operativo, con acceso sin restricciones a todo el equipo, resulta esencial que sólo se permitan los controladores de dispositivos autorizados. La firma y el almacenamiento provisional de los paquetes de controladores de dispositivos en los equipos cliente, mediante las técnicas descritas en esta guía, proporcionan las ventajas siguientes:

Seguridad mejorada. Puesto que los usuarios estándar no pueden instalar controladores de dispositivos que no estén firmados o que estén firmados por un editor que no es de confianza, los administradores tendrán un control riguroso respecto a los controladores de dispositivos que pueden usarse en una organización. Podrán impedirse los controladores de dispositivos desconocidos, así como cualquier controlador de dispositivo que el administrador no permita expresamente. Mediante el uso de directivas de grupo, un administrador puede proporcionar a todos los equipos cliente de una organización los certificados de los editores que se consideren de confianza, permitiendo la instalación de los controladores sin intervención del usuario, para comprobar que se trata de una firma digital de confianza.

Reducción de los costes de soporte técnico. Los usuarios sólo podrán instalar los dispositivos que hayan sido probados y admitidos por la organización. En consecuencia, el sistema permite mantener la seguridad del equipo, al tiempo que se reducen las solicitudes del departamento de soporte técnico.

Experiencia de usuario mejorada. Un paquete de controladores firmado por un editor de confianza y almacenado provisionalmente en el almacén de controladores funciona de modo automático, cuando el usuario conecta el dispositivo al equipo. No se requiere acción alguna por parte del usuario.
El control de los dispositivos Entrada/Salida (Input/Output – I/O) del computador, es una de las labores más importantes que realiza el Sistema Operativo.
Manejo de interrupciones, controladores de dispositivos e interfaces al usuario son algunos de los componentes que se estudian en esta unidad, que permiten al SO orquestar el conjunto de aparatos conectados al computador.
A excepción de contados casos, los dispositivos de I/O pueden clasificarse en 2 grandes grupos:
Dispositivos de Bloques: aquellos que almacenan información en bloques de tamaño fijo, usualmente entre 512b y 32kb. Cada bloque puede ser leído o escrito de forma independiente. Ej: discos, discos USB.
Dispositivos de caracteres: acepta o suministra un flujo de caracteres no estructurados. No son direccionables ni pueden desplazarse en los datos.
Ej: teclado, mouse, red, etc.
Excepciones: relojes, video mapeado en memoria, etc.
Un concepto clave es la independencia del dispositivo:
• Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo.
• El problema debe ser resuelto por el S. O.
El objetivo de lograr nombres uniformes está muy relacionado con el de independencia del dispositivo.
Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.
Otro aspecto importante del software es el manejo de errores de e / s:
• Generalmente los errores deben manejarse lo más cerca posible del hardware.
• Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores.
• Generalmente la recuperación se puede hacer en un nivel inferior y de forma transparente. Otro aspecto clave son las transferencias síncronas (por bloques) o asíncronas (controlada por interruptores):
• La mayoría de la e / s es asíncrona: la cpu inicia la transferencia y realiza otras tareas hasta una interrupción.
• La programación es más fácil si la e / s es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer.
El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario.
También el S. O. debe administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras).
Generalmente el software de e / s se estructura en capas
• Manejadores de interrupciones.
• Directivas de dispositivos.
• Software de S. O. independiente de los dispositivos.
• Software a nivel usuario.

Manejador de interrupción (interrupt handler).

Un manejador de interrupciones, también conocido como ISR (interrupt service routine o rutina de servicio de interrupción), es una subrutina callback en un sistema operativo o en un controlador de dispositivo cuya ejecución es desencadenada por la recepción de una interrupción. Los manejadores de instrucciones tienen una multitud de funciones, que varían basadas en el motivo por el cual la interrupción fue generada y la velocidad en la cual el manejador de interrupciones completa su tarea.Estos manejadores pueden ser iniciados por interrupciones de hardware o de software, y son usados para servir a los dispositivos de hardware y transiciones entre modos protegidos de operación como los llamados de sistema

INTERRUPCIONES
El periférico lleva la iniciativa.
Una interrupción de E/S es asíncrona con respecto a la ejecución de las instrucciones.
No esta asociada a ninguna instrucción.
El periférico estará conectado a una línea de interrupciones del procesador.
Se necesita especificar el identificador del periférico que realizara la interrupción.
Es habitual que haya interrupciones más urgentes que otras, por lo que se requiere algún sistema de prioridades.
Se requiere hardware especial (causar y detectar interrupción).
Proceso de Interrupción
Activación, por parte del periférico, de la línea de interrupción.
Suspensión de la ejecución del programa en curso:
Termina la instrucción en curso.
Almacenamiento del estado del procesador (PC y otros reg.).
Identificación de la fuente de la interrupción.
Carga y ejecución de la rutina de interrupción.
Recuperación del estado anterior a la interrupción.
Reanudación de la ejecución del programa interrumpido.
Dispositivos de interfaz de usuario. Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.). Existen periféricos menos habituales, pero más sofisticados, tales como un escáner, lectores de huella digital, lectores de cinta magnética, instrumentos musicales digitales (MIDI), etc.
Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la UCP. Según su capacidad y la inmediatez con que se puede acceder a los datos almacenados en estos dispositivos, se pueden dividir en almacenamiento secundario (discos y disquetes) y terciario (cintas).
Periféricos o dispositivos de E/S. Elementos que se conectan a la unidad central de proceso a través de las unidades de entrada/salida. Son el componente mecánico que se conecta a la computadora.
Controladores de dispositivos o unidades de E/S. Se encargan de hacer la transferencia de información entre la memoria principal y los periféricos. Son el componente electrónico a través del cual se conecta el dispositivo de E/S. Tienen una conexión al bus de la computadora y otra para el dispositivo (generalmente mediante cables internos o externos).
*Contienen el código dependiente del dispositivo
Puedes reservar una parte de la memoria de tu ordenador para que funcione como unidad de disco, llamada disco RAM. Con un disco RAM, puedes grabar y recuperar archivos con gran rapidez, pero el almacenamiento de los archivos es sólo temporal.
La velocidad es mayor si utilizas un disco RAM, y además ahorrarás energía, ya que el ordenador consume menos y tarda menos en acceder a la RAM que en acceder a un disco duro.

A los usuarios de PowerBook el disco RAM les resultará útil para maximizar la duración de las baterías.
Pueden guardar los archivos más utilizados en el disco RAM, ya que acceder a él consume menos que acceder a las unidades de disco duro. Además, el hecho de acceder con frecuencia a archivos en disco RAM permite a los PowerBook "frenar" más a menudo el giro del disco rígido interno.
La memoria asignada a un disco RAM no está disponible para programas; tenlo presente a la hora de seleccionar el tamaño del disco RAM. Lo normal es que represente entre un 25 y un 50% de la memoria disponible, ya que de no ser así otras aplicaciones no tendrían suficiente RAM para funcionar correctamente.
Es un dispositivo de almacenamiento no volátil, es decir conserva la información que le ha sido almacenada de forma correcta aun con la perdida de energía, emplea un sistema de grabación magnética digital, es donde en la mayoría de los casos se encuentra almacenado el sistema operativo de la computadora. En este tipo de disco se encuentra dentro de la carcasa una serie de platos metálicos apilados girando a gran velocidad. Sobre estos platos se sitúan los cabezales encargados de leer o escribir los impulsos magnéticos. Hay distintos estándares a la hora de comunicar un disco duro con la computadora. Existen distintos tipos de interfaces las más comunes son: Integrated Drive Electronics (IDE, también llamado ATA), SCSI generalmente usado en servidores, SATA, este último estandarizado en el año 2004 y FC exclusivo para servidores.
5.4.2 SOFTWARE PARA DISCOSCada manejador mantiene su cola de solicitudes

NTFS for Windows 98: Impresionante utilidad que nos permite acceder a particiones NTFS (las nativas de Windows NT) desde Windows 95/98. Este programa actúa como un "driver" y una vez instalado permite un acceso transparente a las unidades que se encuentren en este formato.
FAT32 for Windows NT 4.0: Como su nombre nos indica, esta utilidad nos permite justo lo contrario: Acceder a particiones en formato FAT32 desde Windows NT.
EasyRecovery (Tiramisu): Este programa permite recuperar datos de discos duros que ya no se pueden leer correctamente por acción de algún virus, formateo accidental, manipulación indebida del FDISK o cualquier otro imprevisto. Permite recuperar la información y almacenarla en otro soporte magnético. La versión de prueba permite recuperar sólo 5 archivos. Existen versiones para FAT16, FAT32, NTFS (nativa de Windows NT) y para Novell  Netware. También hay una versión especial para unidades ZIP y Jaz.
EZ-Drive para Maxtor: Esta aplicación,llamada  MaxBlast es la versión del EZ-Drive de Maxtor y nos permite entre otras muchas utilidades romper las barreras impuestas por BIOS antiguas que puede ser de 528 MB, 2,1 GB, 4,2 GB, 8,4 GB y 32 GB.
EZ-Install para Western Digital: Programa que sustituye a EZ-Drive en los discos de Western Digital. En realidad el paquete se llama Data Lifeguard Tools e incluye además programas de diagnóstico y utilidades.
·        
Son el medio por el cual funciona la CPU. Básicamente todo sistema de computadora cuenta con un cristal de cuarzo que vibra a determinada frecuencia. Incluso, cuando se compra un procesador, lo primero que se hace es saber a qué velocidad de reloj trabajará éste. Actualmente se cuentan con procesadores capaces de trabajar a velocidades que varían desde los 800 Mega Hertz hasta los 4 Giga Hertz o más. Un Hertz está definido como el tiempo que transcurre durante un ciclo completo, donde un ciclo se define como un pico y un valle.
Se dividen en 2:
Reloj Físico: Este se encuentra en cualquier computadora
Reloj Lógico: Este es de modo distribuido a nivel red.
Se compone de muchos elementos; citaremos los más importantes de cara a entender su funcionamiento. En primer lugar, la información se almacena en unos finos platos o discos, generalmente de aluminio, recubiertos por un material sensible a alteraciones magnéticas. Estos discos, cuyo número varía según la capacidad de la unidad, se encuentran agrupados uno sobre otro y atravesados por un eje, y giran continuamente a gran velocidad.
Asimismo, cada disco posee dos diminutos cabezales de lectura/escritura, uno en cada cara. Estos cabezales se encuentran flotando sobre la superficie del disco sin llegar a tocarlo, a una distancia de unas 3 o 4 micropulgadas (a título de curiosidad, podemos comentar que el diámetro de un cabello humano es de unas 4.000 micropulgadas). Estos cabezales generan señales eléctricas que alteran los campos magnéticos del disco, dando forma a la información. (Dependiendo de la dirección hacia donde estén orientadas las partículas, valdrán 0 o valdrán 1).
La distancia entre el cabezal y el plato del disco también determinan la densidad de almacenamiento del mismo, ya que cuanto más cerca estén el uno del otro, más pequeño es el punto magnético y más información podrá albergar.
Una computadora personal tiene un reloj de hardware alimentado por una batería. Esa batería asegura que el reloj continúe trabajando aún cuando la computadora se encuentre sin suministro eléctrico. El reloj de hardware puede ser modificado (o definido) desde la pantalla de configuración de la BIOS o desde cualquier sistema operativo.

El kernel Linux mantiene la fecha y hora de manera independiente al reloj de hardware. Durante el inicio de un sistema Linux, el kernel configura su propio reloj de software accediendo a la fecha y hora mantenida por el reloj de hardware. Luego, ambos relojes trabajan independientemente. Linux mantiene su propio reloj debido a que leer el reloj de hardware constantemente es lento y complicado.
Las principales funciones del software manejador del reloj son:
·         Mantener la hora del día o tiempo real
·         Evitar que los procesos se ejecuten durante más tiempo del permitido
·         Mantener un registro del uso de la CPU
·         Controlar llamadas al sistema tipo “alarm” por parte de los procesos del usuario
·         Proporcionar cronómetros guardianes de partes del propio sistema
Realizar resúmenes, monitoreo y recolección de estadísticas
El software manejador del reloj puede tener que simular varios relojes virtuales con un único reloj físico.
Dispositivo del hardware electrónico o electromecánico que se usa para introducir o mostrar datos de una computadora. Su funcion es mostrar y recibir datos con capacidad significativa del procesador de datos, puede ser llamado “Terminal inteligente o cliente lijero”.
Una computadora puede ejecutar software que envié la función de un terminal en ocasiones permitiendo el uso simultaneo de programas locales y acceso a un servidor.
Se divide en 2:
Terminales tontas: Estas carecen de un procesador y jalan información de un servidor.
Terminales inteligentes: Estas tienen su propio procesador.
Puertos serie hay de 2 tipos: Los DB25 y los DB9.
Los DB9 son los vulgarmente (e incorrectamente) conocidos como puertos de mouse. Tienen 9 patillas y son "macho" es decir: que las patillas son pinchos. En los conectores "hembra", las patillas son orificios para que entren los pinchos. Cualquier semejanza con el sexo real está hecha con toda la intencionalidad. :-)

Puerto serie DB9
A continuación os pongo un "gráfico" cutre para que sepáis que es lo que hay que ver detrás del PC para localizar el puerto serie:
.---------------.
\ o o o o o /
\ o o o o /
`-----------'
Si localizas alguno, que además tiene que ser macho (pinchos) seguramente se trata de un puerto serie.
Si lo encontráis en su versión "hembra" (con orificios) se trata de el adaptador de VÍDEO (CGA, Hércules, EGA o VGA-digital).
Puerto serie DB25
También podéis encontrar su versión de 25 pines:
.-------------------------------.
\ o o o o o o o o o o o o o /
\ o o o o o o o o o o o o /
`---------------------------'
Igualmente, las patillas tienen que ser pinchos. Si son orificios, se trata de un puerto de impresora.
El manejador es responsable de las siguientes tareas:
1. Interacción con el manejador de archivos: Los datos en la base se guardan en disco mediante el sistema de archivos, proporcionado comúnmente por el sistema operativo. El manejador de la base, traduce las diferentes proposiciones del manejo de datos en comandos del sistema de archivos de bajo nivel. De esta forma el manejador se puede encargar del almacenamiento, recuperación y actualización de los datos en la base.
2. Implantación de la integridad: Los valores de los datos que se almacenan en la base, deben satisfacer ciertas limitantes de consistencia, estas limitantes deben ser determinadas por el administrador, pero es el manejador el encargado de verificar que las actualizaciones que se hagan a la base cumplan con dichas normas.
3. Puesta en práctica de la seguridad: El manejador de la base es quien verifica que los accesos a la base sean realizados por las personas autorizadas.
4. Respaldo y recuperación: Entre las labores que debe ejecutar el manejador está la de verificar de forma constante la integridad de la base, y lograr recuperación de datos y/o mejoras en caso que se requieran.
5. Control de concurrencia: Se podría entender, esta, como la principal tarea del manejador de la base, o por lo menos la más difícil. Cuando varios usuarios están accesando la base al mismo tiempo, es posible que la consistencia de los datos no se conserve. El manejador debe encargarse de coordinar los accesos de los diferentes usuarios, de forma que los datos en la base no se dañen.
5.5 RELOJES

UNIDAD VI

“ADMINISTRADOR DE ARCHIVOS”

Es una aplicación informática que provee acceso a archivos y facilita realizar operaciones con ellos, como copiar, mover o eliminar archivos donde el usuario lo quiera ubicar.

6.1 SISTEMA DE ARCHIVOS
Se dice que es un componente importante de un Sistema Operativo y suele que contiene:
·         “Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
·         “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
·         “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
·         “Integridad del archivo” para garantizar la integridad de la información del archivo.
También se dice que estructuran información guardada en la unidad de almacenamiento que es el disco duro de una computadora.
Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (en Unix).
6.2 JERARQUIA DE DATOS
En la jerarquía de los datos, como lo dice es la  organización sistemática de datos,  de mayor importancia a menor esta organización implica los campos, expedientes, archivos.
Una Base de datos jerárquica es un tipo de Sistema Gestor de Bases de Datos que, como su nombre indica, almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol (similar a un árbol visto al revés), en donde un nodo padre de información puede tener varios nodos hijo.
6.3 TIPOS DE ARCHIVOS
Normalmente los archivos están formados por un nombre, un punto y una extensión (p.e. PROGRAMA.EXE). El nombre nos sirve para diferenciar unos archivos de otros y la extensión para atribuirle unas propiedades concretas.
Estas propiedades asociadas o "tipo de archivo" vienen dadas por las letras que conforman la extensión. Normalmente su máximo son tres letras aunque existen algunas excepciones (.jpeg, .html, .java, etc.). Cada uno de estos pequeños grupos de caracteres está asociado a un tipo de archivo.
Pongamos por ejemplo un archivo llamado "DOCUMENTO.TXT", su nombre será DOCUMENTO y su extensión TXT. Esta extensión esta asociada con el tipo de archivos que contienen texto, por lo tanto podemos suponer que habrá algo escrito dentro.
Podemos dividir los archivos en dos grandes grupos. Éstos son los ejecutables y los no ejecutables o archivos de datos. La diferencia fundamental entre ellos es que los primeros están creados para funcionar por si mismos y los segundos almacenan información que tendrá que ser utilizada con ayuda de algún programa. De todos modos, la mayoría de los programas llevan otros archivos que resultan necesarios aparte del ejecutable. Estos archivos adjuntos que requieren los programas son necesarios para su buen funcionamiento, y aunque puedan tener formatos distintos no pueden ser separados de su programa original. O al menos si queremos que siga funcionando bien.
La extensión es un conjunto de caracteres añadido a un nombre de archivo para definir su tipo o clarificar su significado. Indica el formato, tipo de datos que contiene y el programa que requiere la computadora para visualizarlo o editarlo. Cabe señalar que la computadora realiza esta asociación de manera automática, siempre y cuando tenga habilitado el programa de cómputo requerido por el archivo.
 6.4 INTERFAZ CON USUARIO
Es el medio con que el usuario puede comunicarse con una máquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo.
Y las Funciones principales con las que funciona son los siguientes:
ü  Puesta en marcha y apagado
ü  Control de las funciones manipulables del equipo
ü  Manipulación de archivos y directorios

*Tipos de interfaces de usuario  

Según la forma de interactuar del usuario Atendiendo a como el usuario puede interactuar con una interfaz, nos encontramos con varios tipos de interfaces de Usuario:
Interfaces alfanuméricas (intérpretes de mandatos) que solo presentan texto.
Interfaces gráficas de usuario (GUI, Graphics User Interfaces), las que permiten comunicarse con el ordenador de una forma muy rápida e intuitiva representando gráficamente los elementos de control y medida.
Interfaces táctiles, que representan gráficamente un “panel de control” en una pantalla sensible que permite interaccionar con el dedo de forma similar a si se accionara un control físico.
*Según su construcción 
Pueden ser de hardware o de software:
§  Interfaces hardware.- Se trata de un conjunto de controles o dispositivos que permiten la interacción hombre-máquina, de modo que permiten introducir o leer datos del equipo, mediante pulsadores, reguladores e instrumentos.
§  Interfaces software.- Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.
“Es importante saber esta información el cual es de mayor facilidad, para aprender el manejo de la interfaz de usuario”.
6.4.1 EL SISTEMA DE ARCHIVO VISTO POR EL USUARIO
Un “Archivo” es un conjunto de registros relacionados.
El “Sistema de Archivos” es un componente importante de un S.O. y suele contener
  • “Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
  • “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
  • “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
  • “Integridad del archivo” para garantizar la integridad de la información del archivo.
El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco. Una forma de organización de un sistema de archivos puede ser la siguiente:
  • Se utiliza una “raíz” para indicar en qué parte del disco comienza el “directorio raíz”.
  • El “directorio raíz” apunta a los “directorios de usuarios”.
  • Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario.
  • Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.
6.4.2 DISEÑO DEL SISTEMA DE ARCHIVOS
El “Sistema de Archivos” es un componente importante de un S. O. y suele contener:
“Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
“Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
“Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
“Integridad del archivo” para garantizar la integridad de la información del archivo.

El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco.
Una forma de organización de un sistema de archivos puede ser la siguiente:
Se utiliza una “raíz” para indicar en qué parte del disco comienza el “directorio raíz”.
El “directorio raíz” apunta a los “directorios de usuarios”.
Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario.
Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.
Los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado.
El nombre del sistema para un archivo dado debe ser único para el sistema de archivos.
En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.
6.4.3 SERVIDOR DE ARCHIVOS
Es un tipo de servidor en una red de ordenadores cuya función es permitir el acceso remoto a archivos almacenados en él o directamente accesibles por este. En principio, cualquier ordenador conectado a una red con un software apropiado, puede funcionar como servidor de archivos. Desde el punto de vista del cliente de un servidor de archivos, la localización de los archivos compartidos es transparente. O sea, normalmente no hay diferencias perceptibles si un archivo está almacenado en un servidor de archivos remoto o en el disco de la propia máquina.
Algunos protocolos comúnmente utilizados en servidores de archivos:
·         SMB/CIFS (Windows, Samba en Unix): Server Message Block o SMB es un Protocolo de red (que pertenece a la capa de aplicación en el modelo OSI) que permite compartir archivos e impresoras (entre otras cosas) entre nodos de una red. Es utilizado principalmente en ordenadores con Microsoft Windows y DOS.
6.4.4 SEGURIDAD EN ARCHIVOS
Los sistemas de archivos generalmente contienen información muy valiosa para sus usuarios, razón por la que los sistemas de archivos deben protegerla.
El Ambiente de Seguridad
Se entenderá por seguridad a los problemas generales relativos a la garantía de que los archivos no sean leídos o modificados por personal no autorizado; esto incluye aspectos técnicos, de administración, legales y políticos.

Dos de las más importantes facetas de la seguridad son:
La pérdida de datos.
Los intrusos.
Algunas de las causas más comunes de la pérdida de datos son:
*      Actos y hechos diversos, como incendios, inundaciones, terremotos, guerras, revoluciones, roedores, etc.
*      Errores de hardware o de software, como fallas en la cpu, discos o cintas ilegibles, errores de telecomunicación, errores en los programas, etc.
*      Errores humanos, por ej., entrada incorrecta de datos, mal montaje de cintas o discos, ejecución incorrecta de programas, pérdida de cintas o discos, etc.

Respecto del problema de los intrusos, se los puede clasificar como:
o   Pasivos: solo desean leer archivos que no están autorizados a leer.
o   Activos: desean hacer cambios no autorizados a los datos.
6.4.5 MECANISMOS DE PROTECCION DE ARCHIVOS
Dominios de Protección
Muchos objetos del sistema necesitan protección, tales como la CPU, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc. Cada objeto se referencia por un nombre y tiene habilitadas un conjunto de operaciones sobre él. Un dominio es un conjunto de parejas (objeto, derechos):
• Cada pareja determina
• Un objeto.
• Un subconjunto de las operaciones que se pueden llevar a cabo en él.
Un derecho es el permiso para realizar alguna de las operaciones. Es posible que un objeto se encuentre en varios dominios con “distintos” derechos en cada dominio. Un proceso se ejecuta en alguno de los dominios de protección:
• Existe una colección de objetos a los que puede tener acceso.
• Cada objeto tiene cierto conjunto de derechos.
Las listas de posibilidades son a su vez objetos y se les puede apuntar desde otras listas de posibilidades; esto facilita la existencia de subdominios compartidos. Las listas de posibilidades o listas-c deben ser protegidas del manejo indebido por parte del usuario. Los principales métodos de protección son:
• Arquitectura marcada:
• Necesita un diseño de hardware en el que cada palabra de memoria tiene un bit adicional:
• Indica si la palabra contiene una posibilidad o no.
• Solo puede ser modificado por el S. O.
• Lista de posibilidades dentro del S. O.:
• Los procesos hacen referencia a las posibilidades mediante su número.
• Lista de posibilidades cifrada dentro del espacio del usuario:
• Cada posibilidad está cifrada con una clave secreta desconocida por el usuario.
• Muy adecuado para sistemas distribuidos.
Generalmente las posibilidades tienen derechos genéricos aplicables a todos los objetos, por ej.:
• Copiar posibilidad:
• Crear una nueva posibilidad para el mismo objeto.
• Copiar objeto:
• Crear un duplicado del objeto con una nueva posibilidad.
• Eliminar posibilidad:
• Eliminar un dato dentro de la lista-c sin afectar al objeto.
Modelos de Protección
Las matrices de protección no son estáticas sino dinámicas. Se pueden identificar seis operaciones primitivas en la matriz de protección:
• Crear objeto.
• Eliminar objeto.
• Crear dominio.
• Eliminar dominio.
6.4.6 IMPLEMENTACION SISTEMAS DE ARCHIVOS
El aspecto clave de la implantación del almacenamiento de archivos es el registro de los bloques asociados a cada archivo.
Algunos de los métodos utilizados son los siguientes:
Asignación contigua o adyacente:
·         Los archivos son asignados a áreas contiguas de almacenamiento secundario.
·         Las principales ventajas son:
§  Rendimiento excelente respecto de la e / s.
Los principales defectos son:
§  Se debe conocer el tamaño máximo del archivo al crearlo.
§  Produce una gran fragmentación de los discos.
 Asignación no contigua:
·         Son esquemas de almacenamiento más dinámicos, destacándose los siguientes:
Asignación encadenada orientada hacia el sector:
§  El disco se considera compuesto de sectores individuales.
§  Los archivos constan de varios sectores que pueden estar dispersos por todo el disco.
§  Una “lista de espacio libre” contiene entradas para todos los sectores libres del disco.
Las principales desventajas son:
§  Debido a la posible dispersión en el disco, la recuperación de registros lógicamente contiguos puede significar largas búsquedas.
§  El mantenimiento de la estructura de “listas encadenadas” significa una sobrecarga en tiempo de ejecución.
§  Los apuntadores de la estructura de lista consumen espacio en disco.
 Asignación por bloques:
§  Es más eficiente y reduce la sobrecarga en ejecución.
§  Es una mezcla de los métodos de asignación contigua y no contigua.
Las formas más comunes de implementar la asignación por bloques son:
§  Encadenamiento de bloques.
§  Encadenamiento de bloques de índice.
§  Transformación de archivos orientada hacia bloques.
6.5 LLAMADAS AL SISTEMA SYSTEM CALLS
Es la Forma como se traslada la información, la recuperación y el almacenamiento entre los datos de diferentes terminales.
Las llamadas al sistema proveen una interfaz entre los procesos y el Sistema de Operación. Por lo general estas llamadas se encuentran disponibles como instrucciones en lenguaje ensamblable. En algunos sistemas podemos realizar llamadas al sistema desde programas en lenguajes de alto nivel, en cuyo caso se asemejan a llamadas a funciones o procedimientos. Es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.
Las llamadas al sistema comúnmente usan una instrucción especial de la CPU que causa que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.
Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB, para poder continuar ejecutándose luego.
6.6 TIPOS DE INTERFAZ
Interfaz de preguntas y respuestas
En los primeros días de las computadoras (antes de pantallas gráficas, el ratón, etc.) era la única forma realista de interfaz. El usuario podía comunicarse con el sistema especifico con ordenes de la forma indicada en la figura. Aunque es una forma concisa, es muy propensa a errores, muy estricta y difícil de aprender.
Interfaz de menú simple
Es una variante de la forma anterior, se presenta al usuario una lista de opciones y la selección se realiza por medio de un número, letra o un código en particular. Ofrece al usuario un contexto global y tiene menos porcentaje de errores que el anterior, pero su uso puede llegar a ser tedioso. Este es el caso de las opciones del ejemplo de la figura, que incluyen subopciones (que a su vez puede incluir otras opciones) dentro de las opciones principales.
Interfaz orientada a ventanas
A medida que el hardware se ha hecho más eficiente y los ingenieros de software han aprendido más sobre los factores humanos, las técnicas de interfaz evolucionaron, llegando a lo que se conoce como interfaces de la tercera generación. Ofrece al usuario las siguientes ventajas:
Se puede visualizar diferentes tipos de información simultáneamente El esquema de menús desplegables permite realizar muchas tareas interactivas diferentes. Se realizan tareas de control y de dialogo en forma sencilla. La utilización de menús desplegables, botones y técnicas de presentación reducen el manejo del teclado.
·         Control de las funciones manipulables del equipo.
·         Puesta en marcha y apagado. 
·         Herramientas de desarrollo de aplicaciones
·         Manipulación de archivos y directorios.
·         Comunicación con otros sistemas.
·         Information de estado.
·         Configuración de la propia interfaz y entorno.
·         Intercambio de datos entre aplicaciones.
·         Control de acceso.
6.7 LENGUAJE DE COMUNICACION (COMANDOSDECONTROL) Y PIPELINES O CONDUCTOS
Secuencia de comandos de control
o   Comprobar si alguien está utilizando activamente el producto y, si es así, impedir la reinstalación, la actualización o la eliminación.
o   Asegurarse de que el sistema host local es compatible con el software (las secuencias de comandos pueden realizar comprobaciones de compatibilidad más a fondo que las aplicadas por los atributos úname del producto).
o   Eliminar archivos anticuados o versiones del producto instaladas con anterioridad.
o   Crear enlaces con los archivos o copias adicionales de los mismos después de instalarlos.
o   Copiar los archivos configurables en su lugar durante la primera instalación.