#### tags: `Presentacion` `Tarea`
# ARCHIVOS
**INDUSTRIA EN SISTEMAS**
INGENIERIA EN PROGRAMACION
UNIAT
Hecho por:
º Michel Cosilion
º Gustavo Perez Maldonado
º Alejandro Lopez Cervantes
º Emerson Diaz
---

**Archivos**
Un archivo informático es un conjunto de bytes que son almacenados en un dispositivo. Se identifica por un nombre y la descripción de la carpeta o directorio que lo contiene.
<!-- .slide: data-transition="slide" -->
----
* **Identificacion y organizacion**
En los más modernos sistemas informáticos, los archivos siempre tienen nombres y se ubican en directorios. El nombre de un archivo debe ser único en ese directorio y no puede haber dos archivos con el mismo nombre y ruta.
<!-- .slide: data-transition="slide" -->
----
Actualmente las computadoras modernas permiten casi cualquier tipo de combinacion de numeros y letras para facilitar su localizacion.
La mayoría de las computadoras organizan los archivos en jerarquías llamadas carpetas, directorios o catálogos. Cada carpeta puede contener un número de archivos, y también puede contener otras carpetas.
<!-- .slide: data-transition="slide" -->
----
Cuando una computadora permite el uso de carpetas, cada archivo y carpeta no sólo tiene un nombre propio, sino también una ruta, que identifica la carpeta o carpetas en las que reside un archivo o carpeta. En la ruta, se emplea algún tipo de carácter especial -como una barra- para separar los nombres de los archivos y carpetas.
<!-- .slide: data-transition="slide" -->
----
Muchos sistemas informáticos usan extensiones en los nombres de archivo para ayudar a identificar qué contienen. En computadoras Windows, las extensiones consisten en un punto al final del nombre del archivo, seguido de unas pocas letras para identificar el tipo de archivo. Una extensión .txt identifica un archivo de texto; la extensión .doc identifica cualquier tipo de documento o documentación.
<!-- .slide: data-transition="slide" -->
----
Incluso cuando se utilizan extensiones en un sistema informático, el grado con el que un sistema informático los reconoce y trata puede variar; en algunos sistemas son obligatorios, mientras que en otros sistemas se ignoran completamente si están presentes.
<!-- .slide: data-transition="slide" -->
----

<!-- .slide: data-transition="slide" -->
----
**Metodos de asignacion**
* **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.
<!-- .slide: data-transition="slide" -->
----
* **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á:

<!-- .slide: data-transition="slide" -->
----
* **Lista ligada**
Existe una cabecera en la que se tiene la dirección del primer sector vacío, 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, tal y como se muestra en la siguiente figura.

<!-- .slide: data-transition="slide" -->
----
* **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, observe la figura.

<!-- .slide: data-transition="slide" -->
----
* **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.

<!-- .slide: data-transition="slide" -->
----
**Metodos de asignacion de espacio en disco**
* Un método de asignación de espacio en disco determina la manera en que un Sistema Operativo controla los lugares del disco ocupados por cada archivo de datos. Se debe controlar básicamente la identificación del archivo, sector de inicio y sector final.
Para el control del espacio ocupado en disco se puede utilizar como base alguno de los métodos teóricos: Asignación Contigua, Asignación Ligada, Asignación Indexada.
<!-- .slide: data-transition="slide" -->
----
* Asignacion contigua
Este método consiste en asignar el espacio en disco de tal manera que las direcciones de todos los bloques correspondientes a un archivo definen un orden lineal. Por ejemplo:
<!-- .slide: data-transition="slide" -->
----

- VENTAJAS
La cabeza de lectura no se mueve demasiado en la lectura de un archivo.
- DESVENTAJAS
Produce fragmentación externa.
<!-- .slide: data-transition="slide" -->
----
* Asignacion 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. Por ejemplo:
<!-- .slide: data-transition="slide" -->
----

<!-- .slide: data-transition="slide" -->
----
VENTAJAS
- No produce fragmentación externa.
DESVENTAJAS
La cabeza de lectura se puede mover demasiado en la lectura de un archivo.
- Si una liga se pierde, se perderá el archivo completo.
Es ineficiente para la implementación de archivos directos.
Se necesita un campo extra para el apuntador.
<!-- .slide: data-transition="slide" -->
----
* Asignacion indexada
La asignación indexada resuelve este problema poniendo todos los apuntadores en una sola localidad: El bloque índice. 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. En el directorio se controla la dirección del bloque índice de cada archivo, por ejemplo:
<!-- .slide: data-transition="slide" -->
----

<!-- .slide: data-transition="slide" -->
----
- VENTAJAS
No produce fragmentación externa.
Eficiente para la implementación de archivos directos.
- DESVENTAJAS
Existe desperdicio cuando hay archivos muy chicos.
Desbordamiento de bloque índice. (Solución: creación de un esquema ligado; el último bloque índice apunta a otro índice)
{"metaMigratedAt":"2023-06-15T01:47:57.396Z","metaMigratedFrom":"Content","title":"ARCHIVOS","breaks":true,"contributors":"[{\"id\":\"78a8ec2f-5616-4934-a711-518ea98f0748\",\"add\":8908,\"del\":1602}]"}