Índice
Unidad V
Sistema de archivos
5.1 Concepto
5.2 Noción de archivo real y virtual.
5.3 Componentes de un sistema de archivos
5.4 Organización lógica y física
5.5 Mecanismos de acceso a los archivos
5.6 Manejo de espacio en memoria secundaria
5.7 Modelo jerárquico
5.8 Mecanismos de recuperación en caso de falla
Unidad VI
Protección y seguridad
6.1 Concepto y objetivos de protección
6.2 Funciones del sistema de protección.
6.3 Implantación de matrices de acceso
6.4 Protección basada en el lenguaje
6.5 Concepto de seguridad
6.6 Clasificaciones de la seguridad
6.7 Validación y amenazas al sistema
6.8 Cifrado
Introducción
Vamos a hacer una distinción entre seguridad y protección. El problema de la seguridad consiste en lograr que los recursos de un sistema sean, bajo toda circunstancia, utilizados para los fines previstos. Para eso se utilizan mecanismos de protección.
Los sistemas operativos proveen algunos mecanismos de protección para poder implementar políticas de seguridad. Las políticas definen qué hay que hacer (qué datos y recursos deben protegerse de quién; es un problema de administración), y los mecanismos determinan cómo hay que hacerlo. Esta separación es importante en términos de flexibilidad, puesto que las políticas pueden variar en el tiempo y de una organización a otra. Los mismos mecanismos, si son flexibles, pueden usarse para implementar distintas políticas.
Los mecanismos que ofrece el sistema operativo necesariamente deben complementarse con otros de carácter externo. Por ejemplo, impedir el acceso físico de personas no autorizadas a los sistemas es un mecanismo de protección cuya implementación no tiene nada que ver con el sistema operativo.
Un aspecto importante de la seguridad es el de impedir la pérdida de información, la cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o errores humanos. La solución es una sola: mantener la información respaldada, de preferencia en un lugar lejano.
Otro aspecto importante de la seguridad, es el que tiene que ver con el uso no autorizado de los recursos:
· Lectura de datos.
· Modificación de datos.
· Destrucción de datos.
· Uso de recursos: ciclos de CPU, impresora, almacenamiento.
Unidad 5: Sistemas de archivos
5.1 Concepto.
STALLINGS, William “Sistemas Operativos” (2001). Explica que los sistemas de archivos (filesystem en inglés), estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro) de una computadora, que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos poseen su propio sistema de archivos.
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. Un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento).
5.2 Noción de archivo real y virtual.
MILENKOVIC, Milan, “Sistemas Operativos: Conceptos y Diseño”, (1994). Considera que la mayoría de usuarios de computadoras comprenderán con mucha facilidad el término archivo relacionándolo directamente con ejemplos tales como los archivos de texto que se pueden generar con cualquier procesador de texto. Una característica de este tipo de archivos es que a mayor texto que almacena el archivo, mayor es el espacio en disco que consume dicho archivo. Por ejemplo, una línea corta de texto ocupa menos espacio en disco que esa misma línea copiada cien veces. Sin embargo al hablar de “archivos virtuales” las cosas son diferentes, pues este tipo de archivos no consumen espacio en el disco duro, sino que se almacenan en la memoria volátil, es decir la aquel tipo de memoria cuya información se pierde al interrumpirse el flujo de corriente eléctrica, esto es, la memoria RAM.
5.3 Componentes del sistema de archivos.
A. S. Tanenbaum. “Sistemas Operativos Modernos” (1993). Determina que en general, un Sistema de Archivos está compuesto por: Métodos De Acceso, Administración De Archivos, Administración De Almacenamiento Secundario, Mecanismos De Integridad.
Métodos De Acceso. Se ocupan de la manera en que se tendrá acceso a la información almacenada en el archivo. Ejemplo: Secuencial, Directo, indexado, etc.
Administración De Archivos. Se ocupa de ofrecer los mecanismos para almacenar, compartir y asegurar archivos, así como para hacer referencia a ellos.
Administración De Almacenamiento Secundario. Se ocupa de asignar espacio para los archivos en los dispositivos de almacenamiento secundario.
Mecanismos De Integridad. Se ocupan de garantizar que no se corrompa la información de un archivo, de tal manera que solo la información que deba estar en el, se encuentre ahí.
5.4 Organización de archivos.
J. L. Peterson; A. Silberschatz (1991) Se refiere a las diferentes maneras en las que puede ser organizada la información de los archivos, así como las diferentes maneras en que ésta puede ser accesada. Dado que hay 2 niveles de visión de los archivos (físico y lógico), se puede hablar también de 2 aspectos de organización de archivos: Organización de archivos lógicos y de archivos físicos.
DE ARCHIVOS LOGICOS. Contempla la organización desde el punto de vista lógico. Por ejemplo, secuencial, directo, etc.
DE ARCHIVOS FISICOS. Contempla la administración de archivos desde la perspectiva física, particularmente la organización del almacenamiento en disco a nivel de pistas y sectores.
Este tipo de organización muestra a su vez, 2 aspectos importantes: Métodos De Asignación De Espacio Libre y Asignación De Espacio De Almacenamiento Del Archivo.
También J. L. Peterson; A. Silberschatz menciona los siguientes métodos de asignación:
METODOS DE ASIGNACION DE ESPACIO LIBRE
Un método de asignación de espacio libre determina la manera en que un Sistema Operativo controla los lugares del disco que no están siendo ocupados. Para el control del espacio libre se puede utilizar como base alguno de los métodos teóricos: Vector de Bits, Lista Ligada, Por Agrupación y por Contador.
VECTOR DE BITS
Se tiene un arreglo de bits, el número de bits que tiene, representa cada sector del disco, o sea que si los sectores 10 y 11 están ocupados su representación será:
LISTA LIGADA
Existe una cabecera en la que se tiene la dirección del primer sector vació, ese sector a su vez, tiene un apuntador al siguiente bloque, y así sucesivamente hasta que se encuentre una marca indicando que ya no hay espacio libre.
POR AGRUPACION
Es similar a la lista ligada, solo que en este se tiene por cada sector, un grupo de apuntadores a varios espacios vacíos, al final de cada bloque se tiene un apuntador a otro grupo de apuntadores.
POR CONTADOR
Aquí, por cada conjunto de bloques contiguos que estén vacíos, se tiene por cada apuntador, un número de inicio y el tamaño del grupo de sectores vacíos.
5.5 Mecanismos de acceso a los archivos
DEITEL, Harvey, “Sistemas Operativos” (1993) Determina que existen varios mecanismos para acceder los archivos: directorios, descriptores de archivos, mecanismos de control de acceso y procedimientos para abrir y cerrar archivos.
Descriptores de archivos: A cada uno de los archivos se le asigna un descriptor el cual contendrá toda la información que necesitará el sistema de archivos para ejecutar con él los comandos que se le soliciten. El descriptor se mantendrá en memoria principal desde que el archivo es abierto hasta que sea cerrado, y debe tener al menos la siguiente información:
Identificación del archivo
Lugar de almacenamiento
Información del modo de acceso
Identificación del archivo: Consiste de dos partes que es el nombre simbólico que es el que le da el usuario y un identificador interno que es asignado por el sistema operativo (número).
Lugar de almacenamiento así como el tamaño del archivo.
Modo de acceso: Se debe indicar en forma explícita quien puede accesar el archivo y con que derecho.
Método de Acceso Secuencial: El acceso secuencial significa que un grupo de elementos es accedido en un predeterminado orden secuencial. El acceso secuencial es a veces la única forma de acceder a los datos, por ejemplo en una cinta de cassette. También puede ser el método de acceso elegido, para simplemente procesar una secuencia de datos en orden.
Método de Acceso Secuencial Indexado: Método de acceso secuencial indexado. Método común de acceso a disco que almacena datos en forma secuencial, al tiempo que mantiene un índice de campos claves para todos los registros en el archivo para acceso directo. El orden secuencial sería el más comúnmente usado para el procesamiento por lotes y la impresión (número de cuenta, nombre, etc.).
SILBERSCHATZ, Abraham; GALVIN, Peter, “Sistemas Operativos” (1999). Comentan que los tipos de acceso más conocidos son:
Acceso Secuencial: el proceso lee en orden todos los registros del archivo comenzando por el principio, sin poder:
Saltar registros.
Leer en otro orden.
Acceso Aleatorio: el proceso puede leer los registros en cualquier orden utilizando dos métodos para determinar el punto de inicio de la lectura:
Cada operación de lectura (read) da la posición en el archivo con la cual iniciar.
Una operación especial (seek) establece la posición de trabajo pudiendo luego leerse el archivo secuencialmente.
5.6 Manejo de espacio en memoria secundaria.
A. S. Tanenbaum. “Sistemas Operativos Modernos” (1993). Comenta que el sistema de archivos se ocupa primordialmente de administrar el espacio de almacenamiento secundario, sobre todo el espacio en disco. El manejo del espacio libre en disco se lleva a cabo de la siguiente manera:
Vector de bits
Lista ligada (lista libre)
Por conteo (agrupación)
Vector de bits
El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada sector es representado por un bit y si el sector es libre el bit es cero de lo contrario está asignado.
Asignación ligada
En este método, cada archivo es una lista ligada de bloques de disco. En el directorio hay un apuntador al bloque de inicio y un apuntador al bloque final para cada archivo. En cada uno de los bloques donde se encuentra un archivo hay un apuntador al siguiente bloque de la lista.
Asignación indexada
Cada archivo tiene su bloque índice, El cual es un arreglo de direcciones de bloques de disco. La i-ésima entrada en el bloque índice apunta al i-ésimo bloque que conforma el archivo.
5.7 Modelo jerárquico
Javier Fernández Rivera “modelo de datos” 2003 comenta que a este modelo se le llama árbol ya que se usa una estructura de árbol invertida con las raíces en la parte superior del diseño para su representación. Es similar al modelo en red ya que los datos se representan mediante registros llamados nodos y las relaciones se suelen llamar lazos o enlaces. Sus características son:
· Una colección de arbole forman una BD
· Padre es un nodo vinculado a otros de nivel inferior
· Gemelos son los nodos al mismo nivel y tienen el mismo padre
· Hojas son los nodos que no tienen hijos
· Altura es la cantidad de niveles
· Camino son las líneas que unen los nodos no puede haber mas de un camino al mismo sitio o nodo
· Rama es un camino que termina en una hoja
· Familia es el conjunto de padres e hijos, etc.
· Momento es el numero total de nodos en un árbol
· Peso es la cantidad de hojas que tiene el árbol
Michael González, J. Javier Gutiérrez (1998) Afirman que generalmente un sistema de archivos tiene directorios que asocian un nombre de archivo a cada archivo, usualmente conectando el nombre de archivo a un índice en una tabla de asignación de archivos de algún tipo (como FAT en sistemas de archivos MS-DOS o los inodos de los sistemas Unix).
La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún caso podría ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los meta datos de cada archivo son alojados separadamente.
En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" (o path en inglés). La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele ser una barra ('/') o barra invertida ('\') y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.
Ejemplo de 'ruta' en un sistema Unix
Así, por ejemplo, en un sistema tipo Unix como GNU/Linux, la ruta para la canción llamada "cancion.ogg" del usuario "pedro" sería algo como:/home/pedro/musica/cancion.ogg
Donde:
· '/' representa el directorio raiz donde está montado todo el sistema de archivos.
· 'home/pedro/musica/' es la ruta del archivo.
· 'cancion.ogg' es el nombre del archivo.
Ejemplo de 'ruta' en un sistema Windows
Un ejemplo análogo en un sistema de archivos de Windows(específicamente en Windows XP) se vería como:C:\Documents and Settings\pedro\MisDocumentos\Mi música\canción.ogg
Donde:
· 'C:\' es la unidad de almacenamiento en la que se encuentra el archivo.
· 'Documents and Settings\pedro\Mis Documentos\Mi música\' es la ruta del archivo.
· 'canción.ogg' es el nombre del archivo.
· '.ogg' es la extensión del archivo, este elemento, parte del nombre, es especialmente relevante en los sistemas Windows, ya que sirve para identificar qué aplicación está asociada con el archivo en cuestión, es decir, con qué programa se puede editar o reproducir el archivo.
El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados.
DIRECTORIO JERARQUICO
A. S. Tanenbaum. “Sistemas Operativos Modernos” (1993). Explica que los archivos son almacenados por medio de directorios, esta clasificación se de acuerdo a la conveniencia del usuario o de la empresa. La estructura tiene una forma de árbol con raíz, este método es el más utilizado debido a que la revisión o búsqueda se realiza de forma sencilla.
Para acceder a los archivos que se almacenan en un sistema jerárquico, el usuario debe indicar el o los directorios que se deben recorrer para localizar el archivo deseado, a esto se le denomina ruta de acceso del archivo. La ruta de acceso puede ser de dos formas:
Ruta absoluta.- Este tipo de ruta de acceso inicia siempre con una diagonal invertida [ ]
C:\Edit c:\SOS\sistemas\report.txt
Ruta relativa.- Este tipo de ruta de acceso realiza la búsqueda del archivo en el directorio de trabajo actual, si el archivo no se localiza aquí, el S.O. lo buscará en los directorios especificados en el PATH de un archivo con extensión .BAT.
C:\Edit report.txt
5.8 Mecanismos de recuperación en caso de falla
DEITEL, Harvey, “Sistemas Operativos” (1993) Afirma que debido a que los archivos se mantienen tanto en memoria principal como en el disco, debemos asegurarnos de que un fallo del sistema no de por resultado la perdida de datos o inconsistencia en los mismos.
La destrucción de la información, ya sea accidental o intencional, es una realidad y tiene distintas causas:
Fallas de hardware y de software.
Fenómenos meteorológicos atmosféricos.
Fallas en el suministro de energía.
Incendios e inundaciones.
Robos, vandalismo (incluso terrorismo).
Etc.
Esta posible destrucción de la información debe ser tenida en cuenta por:
Los sistemas operativos en general.
Los sistemas de archivos en particular.
Una técnica muy usada para asegurar la disponibilidad de los datos es realizar respaldos periódicos:
Hacer con regularidad una o más copias de los archivos y colocarlas en lugar seguro.
Todas las actualizaciones realizadas luego del último respaldo pueden perderse.
Otra técnica es pasar todas las transacciones a un archivo, copiándolas en otro disco:
Genera una redundancia que puede ser costosa.
En caso de fallas en el disco principal, puede reconstruirse todo el trabajo perdido si el disco de reserva no se dañó también.
También existe la posibilidad del respaldo incremental :
Durante una sesión de trabajo los archivos modificados quedan marcados.
Cuando un usuario se retira del sistema (deja de trabajar), un proceso del sistema efectúa el respaldo de los archivos marcados.
Se debe tener presente que es muy difícil garantizar una seguridad absoluta de los archivos.
El método correcto de manejar fallos consiste básicamente en detectarlos a tiempo y de forma correcta. La inclusión de equipos de test en el sistema es esencial para mantener esta capacidad de monitorización.
En cualquier caso, la caída total o parcial del sistema se puede subsanar en parte si hay puntos de restauración del sistema (chkpt). Esta posibilidad aumenta la disponibilidad de recuperación en caso de fallos.
miércoles, 26 de noviembre de 2008
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario