Modos de acceso a los archivos
Sistema de Archivos
5.5 Mecanismos de acceso a los archivos
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.
El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene
información que el sistema necesita para administrar un archivo.
Es una estructura muy dependiente del sistema.
Puede incluir la siguiente información:
Nombre simbólico del archivo.
Localización del archivo en el almacenamiento secundario.
Organización del archivo (método de organización y acceso).
Tipo de dispositivo.
Datos de control de acceso.
Tipo (archivo de datos, programa objeto, programa fuente, etc.).
Disposición (permanente contra temporal).
Fecha y tiempo de creación.
Fecha de destrucción.
Fecha de la última modificación.
Suma de las actividades de acceso (número de lecturas, por ejemplo).
Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al
almacenamiento primario al abrir el archivo.
El descriptor de archivos es controlado por el sistema de archivos ; el usuario puede no hacer
referencia directa a él.
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 conque derecho.
Fig. 5.5.1 Ejemplo ilustrativo del control de acceso
Mecanismo de control de acceso.
Control de un sistema de información especializado en detectar los intectos de acceso,
permitiendo el paso de las entidades autorizadas, y denegando el paso a todas las demás.
Involucra medios técnicos y procedimientos operativos.
Mecanismo que en función de la identificación ya autenticada permite acceder a datos o
recursos.
Los Directorios son utilizados por el sistema operativo para llevar un registro de los archivos
que incluye el nombre, los atributos y las direcciones en disco donde se almacenan los datos
del archivo referenciado.
Open (abrir): antes de utilizar un archivo, un proceso debe abrirlo. La finalidad es permitir que
el sistema traslade los atributos y la lista de direcciones en disco a la memoria principal para un
rápido acceso en llamadas posteriores.
Close (cerrar): cuando concluyen los accesos, los atributos y direcciones del disco ya no son
necesarios, por lo que el archivo debe cerrarse y liberar la tabla de espacio interno.
SISTEMAS OPERATIVOS
UNIDAD 5
SISTEMAS DE ARCHIVOS
5.1 CONCEPTO
Los sistemas de archivos, 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.
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.
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.
5.2 NOCION DE ARCHICO REAL Y VIRTUAL
un sistema de archivos virtual, también denominado conmutador de sistema de archivos virtual,
es una capa de abstracción encima de un sistema de archivos más concreto. El propósito de
un VFS es permitir que las aplicaciones cliente tengan acceso a diversos tipos de sistemas de
archivos concretos de una manera uniforme. Puede ser utilizada para tender un puente sobre
las diferencias en los sistemas de archivos de Windows, de Mac OS y Unix, de modo que las
aplicaciones pudieran tener acceso a archivos en los sistemas de archivos locales de esos
tipos sin tener que saber a qué tipo de sistema de archivos están teniendo acceso.
Un VFS especifica un interfaz (o un contrato) entre el kernel y un sistema de archivos en
concreto.
5.3 COMPONENTES DE UN SISTEMA DE
ARCHIVOS
La gestión de procesos. Puede tener una lista de tareas a realizar y a estas fijarles prioridades
alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero
y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez
realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad
pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para
solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.
Según Silberschatz, Abraham (2006).La Gestión de la memoria principal tiene las siguientes
funciones:
Conocer qué partes de la memoria están utilizadas y por quién.
Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
Asignar y reclamar espacio de memoria cuando sea necesario.
Gestión del almacenamiento secundario
Silberschatz, Abraham (2006). Un sistema de almacenamiento secundario es necesario, ya que
la memoria principal (almacenamiento primario) es volátil y además muy pequeña para
almacenar todos los programas y datos. También es necesario mantener los datos que no
convenga mantener en la memoria principal. El SO se encarga de:
Planificar los discos.
Gestionar el espacio libre.
Asignar el almacenamiento.
El sistema de E/S
Según Silberschatz, Abraham (2006). Consiste en un sistema de almacenamiento temporal
(caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El
sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones
de los dispositivos de E/S.
Sistema de archivos
Según Silberschatz, Abraham (2006). Los Sistema de archivos estructuran la información
guardada en una unidad de almacenamiento, y 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.
Sistemas de protección
Dice Silberschatz, Abraham (2006). Que es un Mecanismo que controla el acceso de los
programas o los usuarios a los recursos del sistema. El SO se encarga de:
Distinguir entre uso autorizado y no autorizado.
Especificar los controles de seguridad a realizar.
Forzar el uso de estos mecanismos de protección.
Sistema de comunicaciones
Según Silberschatz, Abraham (2006). Para mantener las comunicaciones con otros sistemas
es necesario poder controlar el envío y recepción de información a través de las interfaces de
red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones
para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones
que están ejecutándose localmente y otras que lo hacen remotamente.
Intérprete de órdenes
(Shell de línea de comandos)
Según Silberschatz, Abraham (2006). El Shell del sistema es el principal componente del SO
que utiliza el usuario. Este uso se realiza siempre directa o indirectamente a través del
intérprete. Generalmente incorpora un lenguaje de programación para automatizar las tareas.
Hay dos tipos de intérpretes de órdenes:
Alfanuméricos: las órdenes se expresan mediante un lenguaje específico usando las cadenas
de caracteres introducidas por el terminal.
Gráficos: normalmente las órdenes se especifican por medio de iconos y otros elementos
gráficos.
Programas de sistema
Según Silberschatz, Abraham (2006). Son aplicaciones de utilidad que se suministran con el
SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de
programas, siendo algunas de las tareas que realizan:
Manipulación y modificación de archivos.
Información del estado del sistema.
Soporte a lenguajes de programación.
Comunicaciones.
Gestor de recursos
Según Silberschatz, Abraham (2006). Como gestor de recursos, el Sistema Operativo
administra
La CPU (Unidad Central de Proceso, donde está alojado el microprocesador).
Los dispositivos de E/S (entrada y salida)
La memoria principal (o de acceso directo).
Los discos (o memoria secundaria).
Los procesos (o programas en ejecución).
y en general todos los recursos del sistema.
Administración de tareas
Según Silberschatz, Abraham (2006). Monotarea: Solamente puede ejecutar un proceso
(aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar
un proceso, continuará haciéndolo hasta su finalización y/o interrupción.
Según Silberschatz, Abraham (2006). Multitarea: Es capaz de ejecutar varios procesos al
mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria,
periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario
percibe que todos funcionan a la vez, de forma concurrente.
Administración de usuarios
Según Silberschatz, Abraham (2006). Monousuario: Si sólo permite ejecutar los programas de
un usuario al mismo tiempo.
Según Silberschatz, Abraham (2006). Multiusuario: Si permite que varios usuarios ejecuten
simultáneamente sus programas, accediendo a la vez a los recursos de la computadora.
Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera
que un programa no pueda usar o cambiar los datos de otro usuario.
Manejo de recursos
Según Silberschatz, Abraham (2006). Centralizado: Si permite utilizar los recursos de una sola
computadora.
Según Silberschatz, Abraham (2006). Distribuido: Si permite utilizar los recursos (memoria,
CPU, disco, periféricos) de más de una computadora al mismo tiempo.
5.4 ORGANIZACIÓN LÓGICA Y FÍSICA
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.
5.5 MECANISMO DE ACCESO A LOS ARCHIVOS
El Método de Acceso Secuencial: significa que un grupo de elementos es accedido en un
predeterminado orden secuencial. Todos los registros tienen el mismo tamaño, constan del
mismo número de campos de tamaño fijo en un orden particular.
El 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. Dos características se añaden: un índice del
archivo para soportar los accesos aleatorios y un archivo de desbordamiento ( overflow ).
Los Archivos Directos o de Dispersión (Hashed): Los archivos directos explotan la
capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida.
Como en los archivos secuenciales y secuenciales indexados, se requiere un campo clave en
cada registro. Sin embargo, aquí no hay concepto de ordenamiento secuencial.
5.6 MANEJO DE ESPACIO EN MEMORIA
SECUNDARIA
La memoria secundaria requiere que la computadora use sus canales de entrada/salida para
acceder a la información y se utiliza para almacenamiento a largo plazo de información
persistente.
Dice Stallings William (2002.). Que sin embargo, la mayoría de los sistemas operativos usan los
dispositivos de almacenamiento secundario como área de intercambio para incrementar
artificialmente la cantidad aparente de memoria principal en la computadora. La memoria
secundaria también se llama "de almacenamiento masivo". Habitualmente, la memoria
secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria, pero
es mucho más lenta. En las computadoras modernas, los discos duros suelen usarse como
dispositivos de almacenamiento masivo.
Los espacios de direcciones involucrados en el manejo de la memoria son de tres tipos:
Direcciones físicas: Son aquellas que referencian alguna posición en la memoria física.
Direcciones lógicas: Son las direcciones utilizadas por los procesos. Sufren una serie
de transformaciones, realizadas por el procesador (la MMU), antes de convertirse en
direcciones físicas.
Direcciones lineales: Direcciones lineales se obtienen a partir de direcciones lógicas
tras haber aplicado una transformación dependiente de la arquitectura.
Los programas de usuario siempre tratan con direcciones virtuales, nunca ven las direcciones
físicas reales.
5.7 MODELO JERÁRQUICO
La Jerarquía nos lleva a una división de la dirección a memoria, donde
encontramos el bloque en el nivel de la jerarquía y un indicador del elemento
en el bloque.
Los niveles son:
Nivel 1: Memoria cache: es una clase de memoria RAM estática de acceso
aleatorio y alta velocidad.
Nivel 2: Memoria Principal: es donde son ejecutados los programas y procesos
de una computadora y es el espacio real que existen en memoria para que se
ejecuten los procesos.
Nivel 3: Memoria virtual: divide la memoria en bloques y los va asignando a los
diferentes procesos. Además, de este modo, no es necesario tener todo el
código del programa en ejecución en la memoria (nos bastan ciertos bloques).
Asimismo, podemos ejecutar programas de tamaño más grande que la
memoria principal. Todo esto nos permite una mayor cantidad de procesos
simultáneos en memoria.
5.8 MECANISMOS DE RECUPERACIÓN EN CASO
DE FALLA
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.
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.
Tipo de sistemas de archivos[editar]
Sistemas de archivos de disco[editar]
Artículo principal: Anexo:Sistemas de archivos de disco
Un sistema de archivo de disco está diseñado para el almacenamiento de archivos en
una unidad de disco, que puede estar conectada directa o indirectamente a
la computadora.
Sistemas de archivos de red[editar]
Artículo principal: Anexo:Sistemas de archivos de red
Un sistema de archivos de red es el que accede a sus archivos a través de una red de
computadoras.
Dentro de esta clasificación encontramos dos tipos de sistemas de archivos:
1. los sistemas de archivos distribuidos (no proporcionan E/S en paralelo);
2. los sistemas de archivos paralelos (proporcionan una E/S de datos en paralelo).
Sistemas de archivos de propósito especial[editar]
Los sistemas de archivos de propósito especial (special purpose file system) son aquellos
tipos de sistemas de archivos que no son ni sistemas de archivos de disco, ni sistemas de
archivos de red.
Ejemplos: acme (Plan 9), archfs, cdfs, cfs, devfs, udev, ftpfs, lnfs, nntpfs, plumber (Plan 9),
procfs, ROMFS, swap, sysfs, TMPFS, wikifs, LUFS, etcétera.
Sistemas de archivos por Sistema Operativo[editar]
Artículo principal: Tipos de acceso por sistema operativo
En cada sistema operativo existen distintas formas de utilización de los tipos de acceso
para la organización óptima de sus archivos y su información. Cada sistema operativo
cuenta con uno o varios sistemas diferentes de organización, los cuales trabajan acorde a
las necesidades del usuario y su uso de la información.
Sistemas de archivos en Windows[editar]
Los sistemas de organización de archivos que emplea Microsoft Windows utilizan el
acceso secuencial indexado (acceso secuencial y acceso indexado adjuntos en un mismo
método), el acceso directo en algunos casos en la utilización de los sistemas de
organización por tablas.
Tabla de asignación de archivos: comúnmente conocido como FAT (del inglés File
Allocation Table), es un sistema de archivos. Es un formato popular
para disquetes admitido prácticamente por todos los sistemas operativos existentes
para computadora personal. Se utiliza como mecanismo de intercambio de datos entre
sistemas operativos distintos que coexisten en la misma computadora, lo que se
conoce como entorno multiarranque.
HPFS (High Performance File System).
NTFS (New Technology File System).
Sistema de archivos en Linux[editar]
GNU/Linux es el sistema operativo que soporta más sistemas de organización que lo
convierte en uno de los más versátiles.3 Además Linux, implementado en su kernel, admite
la administración de manera transparente al usuario de más de 15 tipos diferentes de
sistemas de archivos, incluyendo NTFS (Microsoft Windows), iso9660, msdos y vfat.4 La
estructura de archivos es una estructura jerárquica en forma de árbol invertido, donde
el directorio principal (raíz) es el directorio "/", del que cuelga toda la estructura del
sistema. Este sistema de archivos permite al usuario crear, borrar y acceder a los archivos
sin necesidad de saber el lugar exacto en el que se encuentran. No existen unidades
físicas, sino archivos que hacen referencia a ellas. Consta de tres partes
importantes, superbloque, tabla de i-nodos y bloques de datos.
-EXT: el "sistema de archivos extendido" (extended file system, ext), fue el primer
sistema de archivos de Linux. Tiene metadatos estructura inspirada en el
tradicional Unix File System o sistema de archivos UNIX (UFS). Fue diseñado
por Rémy Card para vencer las limitaciones del sistema de archivos MINIX.
Sistema de archivos de MacOS[editar]
Los sistemas de archivos que utiliza MacOS tienen su forma peculiar de trabajar, la cual es
totalmente distinta a la de Microsoft Windows y GNU/Linux, trabajan por medio de
jerarquías.
-HFS: el "sistema de archivos jerárquico" (Hierarchical File System, HFS) divide un
volumen en bloques lógicos de 512 bytes. Estos bloques lógicos están agrupados
juntos en bloques de asignación (allocation blocks) que pueden contener uno o más
bloques lógicos dependiendo del tamaño total del volumen.
-APFS: el "sistema de archivos de Apple" que utilizan todos los dispositivos desde
MacOS High Sierra, iOS 10.3, tvOS 10.2 y watchOS 3.2 (Apple File System, APFS).
Su objetivo es solucionar problemas de núcleo de HFS+. está optimizado para
unidades flash y estado sólido, con un enfoque principal en encriptación. Utiliza
números de inodo de 64-bits, y permite un almacenamiento más seguro. Tiene varias
características como Clones, Snapshots, Encriptación, Número máximo aumentado de
archivos, Protección contra accidentes y Espacio Compartido.