# Entrega IV de PI Diseño de Sistemas Operativvos
### Integrantes Grupo Ayuwokis
- Jarod Venegas Alpizar B98410
- Luis Alberto Bolaños Valverde B91145
- Daniela Murillo Murillo B95481
- Jorim G. Wilson Ellis B98615
## Enunciado
En el anillo interno, los datos enviados por las áreas de salud se deben guardar de manera persistente en algún **sistema de almacenamiento**. En este caso, al ser datos de pacientes, es importante que se encuentren disponibles incluso cuando alguno de los equipos presenta algún tipo de falla.
Para esto debe diseñar en primer lugar un **file system** que le permita almacenar la información de las vacunas de los pacientes de manera estructurada donde pueda agregar datos con el paso del tiempo y pueda recuperar la información necesaria en un futuro.
## Primera Parte
### Preguntas
**1. ¿Es necesaria una estructura de directorios?**
Una estructura de directorios provee un orden en el manejo y almacenamiento de la información recibida-enviada. Además, debido a que un area de salud tiene un alto volumen de entrada y salida de datos, un sistema de directorios respalda la información así como provee un acceso a datos enviados con anterioridad más ordenado.
#### Ejemplo:



**2. ¿Qué atributos necesita cada archivo?**
**Nombre del archivo** a ser guardado, para así poder tener una referencia al archivo recibido.
**Propietario**, permite saber quien envía o de quien es el archivo recibido.
**Tamaño**, tamaño del archivo en bytes para así regular su almacenamiento.
**Fecha de entrada**, fecha en la que se recibió el archivo por primera vez.
**Última fecha de reenvío**, ultima vez que se envío este archivo.
**Última modificación**, última fecha en la que se modificó el archivo.
**3. ¿Qué datos debe llevar el superbloque del file system?**
**Número magico**: Para la identificación del tipo de file system.
**Numero de bloques que va a tener el sistema de archivos**: Corresponde al numero de espacios de bloque que puede tener.
**Tamaño máximo de un archivo**: Corresponde al tamaño máximo que un archivo puede tener en el file system.
**Apuntador al primer nodo i del directorio raíz del file system**
**Apuntador al último nodo i del directorio raíz del file system**
**Número de bloques que están siendo utilizados** Se utiliza para llevar un control de los bloques del file system.
Los apuntadores a los nodos i permiten sabir el fin y el comienzo del file system en el directorio padre.
**4. ¿Qué tamaño de bloque considera adecuado para su diseño? ¿Por qué?**
Se plantea guardar la información de un usuario en un .csv respectivo, donde se maneje un csv por canton y la informacion que se dirija hacia ese canton se almacene en el csv respectivo dependiendo de si se encuentra en la misma provincia o en una distinta. Dado que no hay limite de cuantas personas se pueden almacenar en cada .csv, se planea utilizar un tamaño por bloque de **30KB**. Esto basado en que en el ejemplo de ***vaccinated_people*** el cual corresponde a un .csv de 2005 lineas que se uso para pruebas de la etapa 1, este pesa 48.1KB, lo que nos parece ya un archivo bastante grande, y consiederamos que en realidad ninguna area de salud va a guardar archivos tan extensos, por lo que decidimos disminuir un poco su tamaño, pero si dar un bloque suficiente para archivos grandes.
Ejemplo de Bloques:

Ejemplo del peso de **vaccinated_people**:

## Segunda parte
En segundo lugar, para asegurar la redundancia de los datos, se trabajan estructuras a nivel de hardware que permiten la alta disponibilidad de la información.
**5. ¿Qué es un RAID 1+0?**
Para empezar, es importante conocer el concepto de las Raids por separado y sus ventajas.
#### **Raid 0**
Raid 0 es un forma de configurar dos discos duros para que estos se dividan sus datos, lo que se conoce como data striping. Al tener los datos particionados en dos discos, la velocidad de acceso se duplica. Sin embargo, es peligroso ya que si uno de los discos falla, se pierde toda la información.

#### **Raid 1**
Raid 1 es un sistema de seguridad que consiste en tener un disco duro extra que va a servir como backup. Este disco va a servir de espejo del otro disco para que en caso de que uno de los dos discos falle no se pierda la memoria.

#### **Raid 1+0**
Un Raid 1+0 es un sistema que combina ambos Raids antes mencionados, donde se realiza un espejo de los datos para mantener su seguridad y una division de los datos para mayor velocidad de almacenamiento.

**6. ¿Cómo funciona el RAID 1+0? ¿Qué ventajas brinda?**
En este sistema existen dos discos conectados mediante un Raid 0 y por cada disco existe un disco espejo extra que va a servir de backup por si hay un fallo.
Ya que el Raid 1+0 es una combinación de ambos Raid, este tiene las ventajas de ambos, de manera que, tiene la **velocidad** del Raid 0 y la **seguridad** que brinda el Raid 1.
Diagrama:
