Gestion de Archivo

domingo, 30 de mayo de 2010



ARCHIVO

Un archivo o fichero informático es una entidad lógica compuesta por una secuencia finita de bytes, almacenada en un sistema de archivos ubicada en la memoria secundaria de un ordenador. Los archivos son agrupados en directorios dentro del sistema de archivos y son identificados por un nombre de archivo. El nombre forma la identificación única en relación a los otros archivos en el mismo directorio.


DIRECTORIO



En informática un directorio es una agrupación de archivos de datos, atendiendo a su contenido, a su propósito o a cualquier criterio que decida el usuario. Técnicamente el directorio almacena información acerca de los archivos que contiene: como los atributos de los archivos o dónde se encuentran físicamente en el dispositivo de almacenamiento. En el entorno gráfico de los sistema operativos modernos, el directorio se denomina metafóricamente carpeta y de hecho se representa con un icono con esta figura.


EJEMPLO DE UN DIRECTORIO O RUTA EN UN SISTEMA WINDOWS

C:\Documents and Settings\pedro\Mis Documentos\Mi Música\canción.mp3
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' es el nombre del archivo.
'.mp3' 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.



ÁRBOL DE DIRECTORIOS

Forma de mostrar todos los directorios de una unidad de almacenamiento (como un disco duro) en forma de estructura de árbol.

La raíz suele ser el directorio raíz, el cual se descompone en nodos, los subdirectorios.





Implementación de Sistema de Archivo:

1) Definición:

Los sistemas de archivos o ficheros (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 manejan su propio sistema de archivos.

2) Rutas y nombre de archivos:
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 metadatos de cada archivo son alojados separadamente.

3) Ejemplo de 'ruta' en un sistema Unix:

Así, por ejemplo, en un sistema tipo Unix como Linux, la ruta para la canción llamada "canción.ogg" del usuario "pedro" sería algo como:

/home/pedro/musica/cancion.ogg

Donde:
'/' representa el directorio raíz donde está montado todo el sistema de archivos.
'home/pedro/musica/' es la ruta del archivo.
'canción.ogg' es el nombre del archivo.que se establece como único.


4) Implementación
Aunque los discos rígidos pueden ser muy chicos, aún así contienen millones de bits, y por lo tanto necesitan organizarse para poder ubicar la información. Éste es el propósito del sistema de archivos. Recuerde que un disco rígido se conforma de varios discos circulares que giran en torno a un eje. Las pistas (áreas concéntricas escritas a ambos lados del disco) se dividen en piezas llamadas sectores (cada uno de los cuales contiene 512 bytes). El formateado lógico de un disco permite que se cree un sistema de archivos en el disco, lo cual, a su vez, permitirá que un sistema operativo (DOS, Windows 9x, UNIX, ...) use el espacio disponible en disco para almacenar y utilizar archivos. El sistema de archivos se basa en la administración de clústers, la unidad de disco más chica que el sistema operativo puede administrar.

5) Ejemplo de la estrutura de un Disco duro
a) Pista
b) Sector
c) Sector de una Pista
d) Cluster


6) Tipos de Sistema Mas Comunes

FAT:
Tabla de Asignación de Archivos, en inglés, File Allocation Table (FAT) es un sistema de archivos desarrollado para MS-DOS, así como el sistema de archivos principal de las ediciones no empresariales de Microsoft Windows hasta Windows Me.

FAT es relativamente sencillo. A causa de ello, es un formato popular para disquetes admitido prácticamente por todos los sistemas operativos existentes para el ordenador personal. Se utiliza como mecanismo de intercambio de datos entre sistemas operativos distintos que coexisten en el mismo computador, lo que se conoce como entorno multiarranque. También se utiliza en tarjetas de memoria y dispositivos similares.

Las implementaciones más extendidas de FAT tienen algunas desventajas. Cuando se borran y se escriben nuevos archivos tiende a dejar fragmentos dispersos de éstos por todo el soporte. Con el tiempo, esto hace que el proceso de lectura o escritura sea cada vez más lento. La denominada desfragmentación es la solución a esto, pero es un proceso largo que debe repetirse regularmente para mantener el sistema de archivos en perfectas condiciones.

NTFS:
NTFS (NT File System) es un Sistema de archivos de Windows NT incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista y Windows 7. Está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de archivos HFS diseñado por Apple.

NTFS permite definir el tamaño del clúster, a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición.

Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores. Puede manejar volúmenes de, teóricamente, hasta 264–1 clústeres. En la práctica, el máximo volumen NTFS soportado es de 232–1 clústeres (aproximadamente 16 Terabytes usando clústeres de 4KB).

Los inconvenientes que plantea son:
Necesita para sí mismo una buena cantidad de espacio en disco duro, por lo que no es recomendable su uso en discos con menos de 400 MB libres

EXT:
Ext3 (third extended filesystem o "tercer sistema de archivos extendido") es un sistema de archivos con registro por diario (journaling). Es el sistema de archivo más usado en distribuciones Linux, aunque en la actualidad está siendo remplazado por su sucesor, ext4.

La principal diferencia con ext2 es el registro por diario. Un sistema de archivos ext3 puede ser montado y usado como un sistema de archivos ext2. Otra diferencia importante es que ext3 utiliza un árbol binario balanceado (árbol AVL) e incorpora el asignador de bloques de disco Orlov.

Desventajas

Ext3 carece de muchas características de los diseños más recientes como las extensiones, la localización dinámica de los inodos, y la sublocalización de los bloques. Ext3, como la mayoría de los sistemas de archivos actuales de Linux, no puede ser chequeado por el fsck mientras el sistema de archivos está montado para la escritura. No hay herramienta de desfragmentación online para ext3 que funcione en nivel del sistema de archivos.

HPFS

HPFS sigla de High Performance File System, o sistema de archivos de altas prestaciones, fue creado específicamente para el sistema operativo OS/2 para mejorar las limitaciones del sistema de archivos FAT. Fue escrito por Gordon Letwin y otros empleados de Microsoft, y agregado a OS/2 versión 1.2, en esa época OS/2 era todavía un desarrollo conjunto entre Microsoft e IBM.

Se caracterizaba por permitir nombres largos, metadatos e información de seguridad, así como de autocomprobación e información estructural.

Otra de sus características es que, aunque poseía tabla de archivos (como FAT), ésta se encontraba posicionada físicamente en el centro de la partición, de tal manera que redundaba en menores tiempos de acceso a la hora de leerla/escribirla.

Administracion de Espacio

Los archivos generalmente se guardan en discos, por lo que la administración del espacio en disco es de primordial interés para los diseñadores de sistema de archivos. Pueden adoptarse dos estrategias generales para almacenar un archivo de n Bytes: asignar n bites consecutivo de espacio en disco o dividir el archivo en varios archivos contiguos (no necesariamente).

Las ventajas y desventajas son las mismas que en los sistemas de administración de memoria entre segmentación pura y paginación.

Almacenar un archivo como sucesión contiguas de bites tiene el problema que si un archivo crece, es probable que tenga que pasarse a otro lugar del disco. El mismo problema se tiene con los segmentos en la memoria, solo que cambiar de lugar un segmento en la memoria es una operación relativamente rápida en comparación con cambiar un archivo de una posición a otra en el disco, por esto casi todos los sistemas de archivos dividen los archivos en bloques de tamaño fijo que no tienen que ser adyacente.

Se encuentra Ubicada en la memoria del CPU el almacenamiento del espacio de la memoriatiene como mínimo un byte de tamaño. El Administrador de del CPU (ADMINISTRADOR DE ESPACIO)ubica los espacios dentro de la memoria y le asigna a cada espacio una dirección idéntica dentro de la memoria que lo identifica. La memoria principal es el lugar donde el CPU lee las instrucciones que se van a ejecutar.

El Administrador de espacio tiene el control exacto sobre los lugares donde estan almacenados los procesos y datos y datos que actualmente se esta ejecutando el administrador de espacio tiene el mecanismo de determinar las cantidades de bloques (particiones) en los que seran divididos los espacios dentro de la memoria,el administrador de espacio le asigna un espacio exacto a cada proceso donde la memoria de acuerdo al numero de bits que tenga este le asigna su espacio dentro de la memoria.

El administrador de espacio tiene un registro de las partes de la memoria que se estan utilizando y de aquellos espacios que no están en uso los registros liberan los espacios de memoria asignados a los procesos que yan han terminado.

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.


Una caché

Es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos de acceder, normalmente en tiempo, respecto a la copia en la caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.

En el diseño de la memoria cache se deben considerar varios factores que influyen directamente en el rendimiento de la memoria y por lo tanto en su objetivo de aumentar la velocidad de respuesta de la jerarquía de memoria. Estos factores son las políticas de ubicación, extracción, reemplazo, escritura y el tamaño de la cache y de sus bloques.

La memoria cache se estructura normalmente en pequeños campos donde se guardan los datos necesarios (hasta un byte de espacio por cada campo o celda). Puede tener lugar como parte integrante de la memoria principal como también puede estar emplazada por fuera de ella y activarse de manera autónoma. A través del método del hit rate o del promedio de pedidos que recibe cada dato, se establece un orden de los elementos más requeridos y que por tanto pasan a estar a mayor disponibilidad, borrándose eventualmente aquellos que no vuelvan a ser utilizados.

Cuando uno habla de la memoria cache de disco está haciendo referencia a un proceso similar al de la memoria cache RAM que se produce en la misma memoria principal. Este procedimiento es otro modo de implementar el sistema de memoria cache evitando usar la lenta memoria del disco duro pero manteniendo activo su interior y proveyéndole con datos de manera mucho más directa.

La memoria caché trabaja igual que la memoria virtual, tenemos caché en el procesador, en los discos y en el mother y nos guarda direcciones de memoria. Si ejecutamos un programa en principio, lo cerramos y luego los volvemos a ejecutar, la memoria caché nos guarda la ubicación (dirección) en el disco, cuando lo ejecuté, y lo que hicimos con el programa. Es mucho más rápida cuando ya usamos un programa

Existen 3 tipos de memoria caché:

Cache L1

Esta dividido en dos bloques uno contiene las instrucciones y otro los datos y cuando se habla de su capacidad de almacenamiento se dice que es de 2x16 Kb .


El cache L1 se encuentra dentro del interior del procesador y funciona a la misma velocidad que el micro con capacidades que van desde 2x8 hasta 2x64Kb.

Cache L2 interno y externo

La primeras memoria caché estaban ubicadas en el mother luego se construyeron en el procesador, pero no dentro del dado del procesador por lo que es mas lento que el caché L1, mientras que el externo lo encontramos el el mother.

La computadoras que tienen las tres tecnologías de caché van a ser mas rápidas.

Cache L3

Algunos micro soportan un nivel de caché mas el L3 que esta localizado en el mother

EL AMD 6k-3 soporta este caché.

En conclusión una cache es:

El mecanismo de cache mejora el rendimiento de forma transparente al usuario guardando datos en previsión a que sean solicitados más adelante y de esta forma servirlos más rápidamente. Cuando se hace una petición por el dato en concret, primero se busca en la caché, y si no está se devuelve normalmente realizando una consulta a base de datos y recuperando la información "en vivo".

Esto proporciona una ventaja en velocidad, puesto que el dato es muchísimo más rápido de recuperar desde la caché que desde su medio original, el inconveniente es la frescura de datos, si esta información es modificada en la base de datos, puede pasar un tiempo hasta que la caché la muestre actualizada.

Manejador de Dispositivos.

En la gestión de archivos tenemos que hablar de los manejadores de dispositivos el cual es el nivel mas bajo, donde es la encargada de de comenzar las operaciones de E/S y procesar la terminación de E/S.

Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. Las peticiones se procesan de forma estructurada en las siguientes capas:
• Manejadores de interrupción.
• Manejadores de dispositivos o drivers.
•Software de EIS independiente de los dispositivos. Este software está formado por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de bloques y el servidor de archivos.
• Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario.

El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los
dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado.



Mecanismos de Protección

Todo Sistema Operativo debe tener implementado un módulo dedicado a la protección. Se implementa mediante el uso de funciones especialmente diseñadas para eso que conforman el nivel 5 en la teoría de los Sistemas Operativos en Estratos o Capas.
Funciones de un sistema de protección.
Se han venido haciendo cada vez más sofisticados en sus aplicaciones, la necesidad de proteger su integridad, también ha crecido. Los aspectos principales de protección en un Sistema Operativo son:

1. Protección de los procesos del sistema contra los procesos de usuario.
2. Protección de los procesos de usuario contra los de otros procesos de usuario.
3. Protección de Memoria.
4. Protección de los dispositivos.
Mecanismos y políticas. (Limitaciones)

La función de la protección en un sistema computacional es la de proveer un mecanismo para la aplicación de políticas que gobiernen el uso de los recursos. Estas políticas pueden ser establecidas de varias maneras. Algunas son fijadas durante el diseño del sistema, mientras que otras son formuladas como parte de la administración en la ejecución del sistema. Algunas son definidas por usuarios individuales para proteger sus archivos y programas.
Un sistema de protección debe tener la flexibilidad para aplicar las políticas que sean declaradas para ello.

Estos pueden variar, dependiendo de la aplicación y pueden estar sujetas a cambios. Por estas razones, la protección no puede ser considerada como un problema que solamente concierne al diseñador de un Sistema Operativo, sino que debe considerarse, como una herramienta para los programadores de aplicaciones, de manera que los recursos creados y soportados por un subsistema de aplicación, puedan ser protegidos contra el mal uso.

Dominio de protección.

Es una colección de procesos y objetos. Los objetos involucran tanto objetos hardware (como CPU, segmentos de memoria, impresoras, etc.) y objetos software (como archivos, programas, semáforos, etc.). Cada objeto tiene un nombre único que lo diferencia de los demás objetos del sistema y cada una puede ser accesado solamente mediante operaciones bien definidas. Los objetos son esencialmente tipos de datos abstractos. Las posibles operaciones que realice un objeto, dependen de él mismo y sus características.

Por ejemplo, un CPU se utiliza solo para ejecución; en los segmentos de memoria se puede leer o escribir; los archivos de datos pueden ser creados, abiertos, escritos, leídos, cerrados y borrados; un archivo de programa puede ser leído, escrito, ejecutado y borrado.

Obviamente, un proceso tendrá permitido accesar solamente a aquellos recursos que está autorizado a accesar. Además, en un momento dado podrá accesar a aquellos recursos que requiera para realizar su tarea.

Protección de dispositivos

La protección de dispositivos es otra área a tratar dentro de Windows '95. En la implementación de la protección de dispositivos se toman en cuenta la referencia de dirección de entrada /salida y una IRQ (Solicitud de Interrupción) con las que se protege del uso mal administrado o concurrente (que dos usuarios traten de escribir simultáneamente a el).


Control de acceso

Concepto de control de acceso; Es la habilidad de permitir o denegar el uso de un recurso particular a una entidad en particular.

Los mecanismos para el control de acceso pueden ser usados para cuidar recursos físicos (ej: acceso a una habitación donde hay servidores), recursos lógicos (ej: una cuenta de banco, de donde solo determinadas personas pueden extraer dinero) o recursos digitales (ej: un archivo informático que sólo puede ser leído, pero no modificado).


El sistema de archivos NTFS disponible en Windows XP proporciona varias ventajas de seguridad con respecto a las versiones anteriores de Windows que no contaban con NTFS. Una de estas ventajas es el control de acceso. Esta medida de seguridad permite limitar el acceso de los usuarios a los datos de un equipo o red mediante el uso de listas de control de acceso de Windows XP en unidades con formato NTFS. Las características de control de acceso permiten restringir el acceso a un usuario, equipo o grupo de usuarios determinado.

Los permisos se definen para determinar el tipo de acceso que se concede a un usuario o grupo de usuarios. Por ejemplo, para el archivo contabilidad.dat puede otorgar permisos de lectura y escritura a todo el grupo financiero. Al establecer permisos también especifica el nivel de acceso que concede a los grupos y usuarios. Es decir, puede permitir que un usuario determinado pueda leer el contenido de un archivo, permitir que otro usuario pueda realizar cambios en ese mismo archivo e impedir que el resto de usuarios puedan obtener acceso al archivo. Para las impresoras también es posible definir permisos similares. De esta forma, puede conceder los permisos necesarios para que algunos usuarios puedan configurar la impresora y para que otros individuos únicamente puedan utilizarla para imprimir. Para cambiar los permisos de un archivo o carpeta, es necesario ser el propietario del archivo o carpeta, o bien disponer de los permisos necesarios para poder realizar estos cambios.

Linux posee un sistema de control de acceso al sistema de archivos a través de restricciones donde, a cada archivo o directorio, son asociados a:
-Un usuario o propietario
-Un grupo
- Permisos de acceso definido para el propietario, o grupo y los otros usuarios (terceros)

Permisos

Todos los archivos o directorios son protegidos por sus permisos, determinando así cuales usuarios tienen acceso a ellos y con qué finalidad. Cada usuario posee un conjunto distinto de permisos de acceso al archivo/directorio. El sistema de permisos da al usuario y al sistema más seguridad, pues permite que tengan un mayor control al acceso de sus archivos o directorios.
Controles de acceso

En [nombre de organización], necesitamos familiarizarnos con dos tipos de control de acceso: Físico y lógico.

Controles de acceso físico

La mayoría de los ataques físicos ocurren cuando una persona tiene acceso a las dependencias. Los “intrusos” pueden ser personas ajenas a la organización o bien personal interno, como empleados o contratistas. Cuando un intruso es capaz de acceder físicamente a un sistema informático, por lo general puede también dejarlo fuera de funcionamiento. Por ejemplo:
Normalmente un intruso puede manipular y acceder a las computadoras protegidas con contraseña, introduciendo un disco de "inicio" retirable.

Un intruso que logra interrumpir el proceso de inicio de un enrutador protegido puede obtener privilegios administrativos en tal enrutador.

Un individuo puede acceder directamente a las redes para agregar o reorganizar conexiones.
Alguien puede robar objetos físicos, tales como computadoras portátiles y asistentes digitales personales (PDA).

A medida que los componentes informáticos se vuelven más pequeños y livianos, la seguridad física adquiere cada vez mayor importancia.


Credenciales de identificación

Nombre de organización requiere que los empleados, contratistas y visitantes usen credenciales de identificación. Usted debiera cuestionar a cualquier persona que no tenga una credencial visible.

Pregúntele, "¿Puedo ayudarle en algo?" Esta es una forma indirecta de interrogar a la persona. Le permitirá descubrir si ésta posee autorización, pero no tiene su credencial correctamente a la vista, o si simplemente extravió su identificación. También le permitirá determinar si dicha persona efectivamente necesita estar trabajando en su área.

Visitantes

Los visitantes son todas las personas que comúnmente no trabajan en la oficina o en la empresa.
Es preciso observar y supervisar a los visitantes durante toda su estadía.
Se debe procurar que los visitantes accedan lo menos posible a las áreas restringidas.
La política de [nombre de organización] estipula que el acceso de los contratistas debe limitarse sólo a las áreas de trabajo que requieran su presencia.

Equipo

En lo posible, el equipo debe disponerse físicamente de tal manera que se reduzca el acceso innecesario. Los monitores e impresoras no deben colocarse delante de ventanas ni en áreas donde personas no autorizadas puedan ver fácilmente la información.

Los empleados y contratistas no deben conectar equipo ajeno o que no haya sido alquilado por [nombre de organización] con equipo o redes de [nombre de organización] sin previa aprobación escrita del jefe de seguridad.

Controles de acceso lógico

Los controles de acceso lógico son mecanismos que protegen los sistemas informativos, aplicaciones y datos informáticos. Las contraseñas son un importante control de acceso.
Para crear una contraseña bien segura que además sea fácil de recordar, use las letras iniciales de una frase (combinando mayúsculas y minúsculas), e incluya al menos un número y carácter especial.

Por ejemplo, si a usted le gusta cantar en la ducha a las 6 am, podría memorizar la frase:
"Me gusta cantar en la ducha a las 6 am".

Por lo cual su contraseña podría ser la siguiente:
Ya que es algo que usted podrá recordar fácilmente, pero que sería difícil que un intruso pudiera adivinar.