Podcast
Questions and Answers
¿Cuál es la función principal del subsistema de E/S en un sistema operativo?
¿Cuál es la función principal del subsistema de E/S en un sistema operativo?
- Gestionar la memoria virtual.
- Administrar la planificación de la CPU.
- Implementar archivos y directorios sobre la estructura de sectores de las unidades. (correct)
- Controlar la seguridad del sistema.
¿Qué tipo de particiones puede contener una tabla de particiones MBR?
¿Qué tipo de particiones puede contener una tabla de particiones MBR?
- Hasta cuatro particiones primarias o hasta tres primarias y una extendida. (correct)
- Hasta 16 particiones primarias.
- Solo particiones extendidas.
- Un número ilimitado de particiones, siempre y cuando no excedan el tamaño del disco.
¿Qué se almacena en el primer sector de una unidad en un sistema que utiliza MBR (Master Boot Record)?
¿Qué se almacena en el primer sector de una unidad en un sistema que utiliza MBR (Master Boot Record)?
- El gestor de arranque y la tabla de particiones. (correct)
- Información de encriptación del disco.
- El sistema de archivos.
- Datos de usuario.
¿Qué función cumple un volumen en un sistema de archivos?
¿Qué función cumple un volumen en un sistema de archivos?
¿Qué tipo de estructura es común en la organización de directorios en los sistemas de archivos?
¿Qué tipo de estructura es común en la organización de directorios en los sistemas de archivos?
¿Qué función desempeña el software de E/S independiente del dispositivo en la arquitectura del subsistema de E/S?
¿Qué función desempeña el software de E/S independiente del dispositivo en la arquitectura del subsistema de E/S?
¿Cuál es un límite de tamaño para una partición en una tabla de particiones MBR?
¿Cuál es un límite de tamaño para una partición en una tabla de particiones MBR?
¿Cuál es el propósito de implementar mecanismos de protección y control de concurrencia en un sistema de archivos?
¿Cuál es el propósito de implementar mecanismos de protección y control de concurrencia en un sistema de archivos?
¿En un sistema de archivos FAT, cuál es el propósito de las dos copias de la FAT (Tabla de Asignación de Archivos)
¿En un sistema de archivos FAT, cuál es el propósito de las dos copias de la FAT (Tabla de Asignación de Archivos)
En un sistema de archivos FAT, ¿qué representa un valor FFFFFFFFH - FFFFFFF8
en una entrada de la FAT (Tabla de Asignación de Archivos)?
En un sistema de archivos FAT, ¿qué representa un valor FFFFFFFFH - FFFFFFF8
en una entrada de la FAT (Tabla de Asignación de Archivos)?
¿Cómo se determina el bloque físico correspondiente al implementar acceso directo en un sistema de archivos FAT?
¿Cómo se determina el bloque físico correspondiente al implementar acceso directo en un sistema de archivos FAT?
¿Cuál de las siguientes opciones describe mejor el objetivo principal del superbloque en un sistema de archivos ext2?
¿Cuál de las siguientes opciones describe mejor el objetivo principal del superbloque en un sistema de archivos ext2?
¿Qué tipo de información se almacena en la tabla de nodos-i en un sistema de archivos ext2?
¿Qué tipo de información se almacena en la tabla de nodos-i en un sistema de archivos ext2?
¿Cómo maneja ext2 los archivos que necesitan más bloques de los que pueden ser referenciados directamente en el i-nodo?
¿Cómo maneja ext2 los archivos que necesitan más bloques de los que pueden ser referenciados directamente en el i-nodo?
En el contexto de los sistemas de archivos, ¿cuál es la diferencia clave entre un enlace directo y un enlace simbólico?
En el contexto de los sistemas de archivos, ¿cuál es la diferencia clave entre un enlace directo y un enlace simbólico?
¿Qué implicación tiene la llamada unlink
en un sistema de archivos que soporta enlaces directos?
¿Qué implicación tiene la llamada unlink
en un sistema de archivos que soporta enlaces directos?
¿Cuál es una ventaja principal de usar enlaces simbólicos en lugar de enlaces directos?
¿Cuál es una ventaja principal de usar enlaces simbólicos en lugar de enlaces directos?
En el contexto de almacenamiento en caché de disco (disk caching), ¿qué significa el principio de localidad?
En el contexto de almacenamiento en caché de disco (disk caching), ¿qué significa el principio de localidad?
¿Qué diferencia fundamental existe entre una reserva de escritura directa (write-through) y una reserva de escritura diferida (write-back) en el contexto de la gestión de la reserva (caché) de escritura?
¿Qué diferencia fundamental existe entre una reserva de escritura directa (write-through) y una reserva de escritura diferida (write-back) en el contexto de la gestión de la reserva (caché) de escritura?
¿Cuál es el principal riesgo asociado con el uso de una reserva de escritura diferida (write-back)?
¿Cuál es el principal riesgo asociado con el uso de una reserva de escritura diferida (write-back)?
¿Cuál es el objetivo principal de utilizar RAID (Redundant Array of Independent Disks)?
¿Cuál es el objetivo principal de utilizar RAID (Redundant Array of Independent Disks)?
¿Qué característica principal define RAID 0?
¿Qué característica principal define RAID 0?
¿Cuál es la principal ventaja de RAID 1 sobre RAID 0?
¿Cuál es la principal ventaja de RAID 1 sobre RAID 0?
¿En qué se diferencia RAID 5 de RAID 4?
¿En qué se diferencia RAID 5 de RAID 4?
¿Cuál es el principal beneficio de utilizar una técnica de copia en caso de escritura (COW)?
¿Cuál es el principal beneficio de utilizar una técnica de copia en caso de escritura (COW)?
Cuando se usa COW a nivel de archivo, ¿cómo se gestionan las lecturas a un archivo después de que se ha iniciado la COW?
Cuando se usa COW a nivel de archivo, ¿cómo se gestionan las lecturas a un archivo después de que se ha iniciado la COW?
¿Cuál de las siguientes opciones describe mejor el concepto de journaling en sistemas de archivos?
¿Cuál de las siguientes opciones describe mejor el concepto de journaling en sistemas de archivos?
¿Qué información se escribe en el registro de escritura anticipada (log/Journal) ANTES de realizar una actualización en el sistema de archivos?
¿Qué información se escribe en el registro de escritura anticipada (log/Journal) ANTES de realizar una actualización en el sistema de archivos?
¿Qué ocurre con el registro de escritura anticipada (log/Journal) si una transacción se completa con éxito?
¿Qué ocurre con el registro de escritura anticipada (log/Journal) si una transacción se completa con éxito?
¿En qué se diferencia un sistema de archivos lógico remoto de una unidad de bloques remota?
¿En qué se diferencia un sistema de archivos lógico remoto de una unidad de bloques remota?
¿Cuál es el rol del Virtual File System (VFS) en un sistema operativo?
¿Cuál es el rol del Virtual File System (VFS) en un sistema operativo?
¿Cuál de las siguientes opciones describe un mecanismo de autenticación local?
¿Cuál de las siguientes opciones describe un mecanismo de autenticación local?
En el contexto de la autenticación, ¿cuál es la ventaja principal de usar contraseñas de un solo uso?
En el contexto de la autenticación, ¿cuál es la ventaja principal de usar contraseñas de un solo uso?
¿Cuál es el propósito de un sistema de autenticación como servicio (AaaS)?
¿Cuál es el propósito de un sistema de autenticación como servicio (AaaS)?
¿Cuál es la principal función de un sistema de control de acceso en un sistema operativo?
¿Cuál es la principal función de un sistema de control de acceso en un sistema operativo?
En un modelo de seguridad basado en sujetos y objetos, ¿qué representan los sujetos?
En un modelo de seguridad basado en sujetos y objetos, ¿qué representan los sujetos?
¿Qué representa un 'dominio de protección' en el contexto del control de accesos?
¿Qué representa un 'dominio de protección' en el contexto del control de accesos?
¿Cuál es una limitación de las Matrices de Control de Acceso?
¿Cuál es una limitación de las Matrices de Control de Acceso?
Flashcards
¿Cuál es la función del sistema de archivos?
¿Cuál es la función del sistema de archivos?
Implementa archivos y directorios sobre la estructura plana de array de sectores de las unidades.
¿Qué es una partición de unidad física?
¿Qué es una partición de unidad física?
Unidad física dividida en unidades lógicas.
¿Qué permite MBR Partition Table?
¿Qué permite MBR Partition Table?
Permite hasta cuatro particiones primarias, o tres primarias y una extendida.
¿Qué es una partición extendida?
¿Qué es una partición extendida?
Signup and view all the flashcards
¿Qué permite GUID Partition Table (GPT)?
¿Qué permite GUID Partition Table (GPT)?
Signup and view all the flashcards
¿Qué es un volumen?
¿Qué es un volumen?
Signup and view all the flashcards
¿Qué es un directorio?
¿Qué es un directorio?
Signup and view all the flashcards
¿Qué es un archivo?
¿Qué es un archivo?
Signup and view all the flashcards
¿Qué es FAT?
¿Qué es FAT?
Signup and view all the flashcards
¿Qué son los directorios en ext2?
¿Qué son los directorios en ext2?
Signup and view all the flashcards
¿Qué contiene un directorio en ext2?
¿Qué contiene un directorio en ext2?
Signup and view all the flashcards
¿Qué es un enlace directo?
¿Qué es un enlace directo?
Signup and view all the flashcards
¿Qué crea la llamada link
?
¿Qué crea la llamada link
?
Signup and view all the flashcards
¿Qué utilidad tiene el contador de enlaces?
¿Qué utilidad tiene el contador de enlaces?
Signup and view all the flashcards
¿Qué es un enlace simbólico?
¿Qué es un enlace simbólico?
Signup and view all the flashcards
¿Cuál es la idea de la reserva (caché)?
¿Cuál es la idea de la reserva (caché)?
Signup and view all the flashcards
¿Qué es la reserva de escritura directa?
¿Qué es la reserva de escritura directa?
Signup and view all the flashcards
¿Qué es la reserva de escritura diferida?
¿Qué es la reserva de escritura diferida?
Signup and view all the flashcards
¿Qué es RAID?
¿Qué es RAID?
Signup and view all the flashcards
¿Qué es RAID 0?
¿Qué es RAID 0?
Signup and view all the flashcards
¿Qué es RAID 1?
¿Qué es RAID 1?
Signup and view all the flashcards
¿Qué es RAID 4?
¿Qué es RAID 4?
Signup and view all the flashcards
¿Qué diferencia a RAID 5 de RAID 4?
¿Qué diferencia a RAID 5 de RAID 4?
Signup and view all the flashcards
¿Qué añade RAID 6 a RAID 5?
¿Qué añade RAID 6 a RAID 5?
Signup and view all the flashcards
¿Qué es Copia en caso de escritura (COW)?
¿Qué es Copia en caso de escritura (COW)?
Signup and view all the flashcards
¿Qué ocurre con todas las actualizaciones sobre las estructuras del sistema de archivo?
¿Qué ocurre con todas las actualizaciones sobre las estructuras del sistema de archivo?
Signup and view all the flashcards
¿Cuándo se crea un archivo de log?
¿Cuándo se crea un archivo de log?
Signup and view all the flashcards
¿Qué es un derecho de acceso?
¿Qué es un derecho de acceso?
Signup and view all the flashcards
¿Qué es un dominio de protección?
¿Qué es un dominio de protección?
Signup and view all the flashcards
¿Qué es la lista de control de acceso (ACL) de un objeto?
¿Qué es la lista de control de acceso (ACL) de un objeto?
Signup and view all the flashcards
¿Qué presentan los clientes de sistemas de archivos remotos?
¿Qué presentan los clientes de sistemas de archivos remotos?
Signup and view all the flashcards
¿Qué requiere la Autenticación de Pareja de claves RSA?
¿Qué requiere la Autenticación de Pareja de claves RSA?
Signup and view all the flashcards
Study Notes
T2: Sistemas de Archivos
- Implementa archivos y directorios sobre la estructura plana de array de sectores de las unidades
- Recibe peticiones de procesos de usuario
- Envía peticiones a gestores de dispositivos
Servicios
- Incluyen crear, destruir, copiar y cambiar nombres de archivos.
- Operaciones como leer, escribir, añadir, modificar y truncar contenido de archivos.
- Creación y borrado de directorios, montaje de dispositivos y creación de sistemas de archivos.
- Mecanismos de protección, encriptación, compartir archivos y control de concurrencia.
Particiones de una unidad física
- Una unidad física puede dividirse en unidades lógicas
MBR Partition Table
- Permite hasta cuatro particiones primarias, o tres primarias más una extendida
- Solo se puede arrancar desde una partición primaria
- Partición activa es la partición primaria desde la que se arranca
- Partición extendida es un contenedor para un número arbitrario de subparticiones
- Límite de tamaño para una partición es de 2TB
GUID Partition Table (GPT)
- Permite hasta 128 particiones
- El límite de tamaño para una partición es de 2ZiB
- El primer sector de una unidad es el MBR (Master Boot Record) y contiene:
- Código del gestor de arranque (446 bytes), donde se instala GRUB o LiLo.
- Cuatro entradas de 16 bytes (64 bytes) que describen las particiones primarias: sector de inicio, sector final, tipo y bandera activa.
- Los últimos dos bytes pueden contener la firma "arrancable" de la unidad (55AA).
Concepto de volumen: unidad lógica
- Contiene un sistema de archivos
- Ocupa una unidad física completa o una partición.
- Acceso:
- Sistemas UNIX: se montan sobre un único árbol de directorios
- Sistemas Windows: asignación de letras de unidad
Estructura típica de un volumen
- Cargador software del sistema operativo (opcional)
- Estructura de datos de gestión del espacio libre y de bloques defectuosos
- Estructuras de gestión de bloques asignados a archivos
- Directorio raíz: lista el contenido del volumen en el primer nivel
Directorio
- Estructura de datos del sistema de archivos con información sobre los archivos contenidos
- La estructura de directorios es jerárquica
- Cada volumen contiene al menos un directorio raíz
- Información común sobre cada archivo incluye:
- Nombre, fechas de creación/modificación/acceso, permisos, UID/GID del propietario, tamaño e información para localización física.
Gestión del espacio ocupado
- Implica determinar qué archivos hay en el volumen y qué bloques forman cada archivo
- Requiere acceso directo para transferir una posición específica de un archivo, identificando el bloque de disco correspondiente
Gestión de bloques defectuosos
- Implica que las unidades siempre tienen sectores inutilizables que no se pueden asignar a archivos
- Soluciones: asignarlos a un archivo del sistema no usado, crear un archivo con la lista de bloques no utilizables o integrar la gestión al espacio ocupado
Concepto de archivo
- Secuencia de caracteres
- Archivo: secuencia de bytes que se puede leer byte a byte o bloque a bloque de tamaño arbitrario
- Si el dispositivo es direccionable, se permite el acceso directo
- Esta es la forma en que la mayoría de los sistemas operativos (SSOO) modernos organizan los archivos.
- Sobre esta organización, se puede implementar cualquier otra
Sistema de archivos FAT
- Organización de un volumen FAT
Organización de un volumen FAT
- Arranque (Sector 0): contiene el MBR en unidades particionables o el cargador software del SO en particiones no particionables.
- FS Information (Sector 1): datos útiles para acelerar operaciones (número de bloques libres, último bloque libre asignado).
- FAT (dos copias): tabla con una entrada por cada bloque de disco, replicada y con valores como libre (FREE), defectuoso (BAD) o último bloque de archivo (EOF).
- Bloques (dos primeros bloques: Dir. raíz)
FAT
- Tabla con una entrada por cada bloque de disco
- Normalmente, replicada (dos copias)
- Posibles valores para cada entrada:
- Bloque libre: FREE (00000000H)
- Bloque defectuoso: BAD (FFFFFFFF1 – FFFFFFF7)
- Último bloque de un archivo: EOF (FFFFFFFFH – FFFFFFF8)
- Cualquier otro número: bloque asignado, y el número es el número del siguiente bloque
- Entradas 0 y 1: reservadas
Ejemplo
- F1: Bloques 3, 10 y 12
- F2: Bloques 8, 9, 2 y 5
- F3: Bloque 6
- Bloque 15 defectuoso
Referencia a primer bloque
- En directorio
- Entradas reservadas: primer octeto representa tipo de medio, y los demás, son FF (reservados)
Directorios en FAT
- Directorio raíz en posición fija y tamaño fijo (2 bloques)
- Los subdirectorios pueden crecer (nunca decrecen)
- Ficheros borrados: marca en primer carácter nombre
- Nombres largos: varias entradas consecutivas
Acceso directo una posición de un archivo
- Determinar el bloque lógico dentro del archivo
- Iterar la FAT para encontrar el bloque físico (primer bloque en la entrada de directorio)
- Determinar el sector/sectores del bloque físico
Procedimiento
- Determinar el bloque lógico dentro del archivo dividiendo la posición deseada por el tamaño del bloque (redondeando hacia abajo)
- Traducir el número lógico de bloque al número físico itereando sobre la FAT para obtener la cadena de bloques.
- Calcular el número del sector a transferir usando el número del primer sector del espacio clusterizado (S) y la cantidad de sectores por bloque.
- Los sectores a transferir son
S + 2 * número de bloque físico
, y su siguiente sector.
Organización de un volumen ext2
- Sector de Arranque
- Grupo de Bloques 1
- Grupo de Bloques 2
- Grupo de Bloques N
Estructura de un grupo de bloques
- Superbloque
- Descriptores
- Mapa de Bits Bloques
- Mapa de Bits Nodos-I
- Tabla de Nodos-I
- Bloques
Superbloque
- Número mágico (EF53)
- Versión
- Cuenta de montajes y nº máximo de montajes
- Tamaño del bloque, nº bloques libres, nº nodos-i libres, etc.
Descriptores
- Contiene direcciones de comienzo de:
- Mapa de bits de bloques
- Mapa de bits de nodos-i
- Tabla de nodos-i
- Bloques del grupo
Cada entrada de la tabla de nodos-i describe un archivo
- Indica el tipo de archivo a través del modo, que puede ser regular, directorio, enlace simbólico o de dispositivo
- ¿Y el nombre del archivo?
Directorios en ext2
- Son archivos que contienen una lista de registros de tamaño variable, donde cada registro es un nombre de archivo
- Contenido de cada registro:
- Nodo-i asociado a archivo (0 si registro libre)
- Longitud total de este registro
- Longitud del nombre
- Tipo de archivo
- Nombre del archivo
- Los directorios crecen cuando es necesario, como cualquier archivo
- Las versiones posteriores de ext2 permiten organizar el directorio como árbol- B o como tabla hash.
- Hay dos entradas especiales:
- ".": Nº de nodo i de propio directorio
- "..": Nº de nodo i de directorio padre. Consecuencia: nº de subdirectorios en un directorio = n° máximo de enlaces que puede soportar un directorio/archivo
Gestión del espacio ocupado
- En el nodo-i, hay espacio para almacenar 12 referencias a bloques (referencia a bloque = el número del bloque)
- Con esto, los archivos que necesiten 12 bloques o menos, guardan aquí los números de los bloques que utilizan
- Para archivos que necesiten más de 12 bloques:
- Se asigna un bloque de disco que no guarda datos, sino referencias a otros bloques, actuando como una extensión de la tabla de referencias en el nodo-i
- Este bloque se conoce como indirecto simple y se almacena una referencia a él en el nodo-i
- Aún más grandes: se asignan bloques indirectos dobles y triples, donde se almacenan referencias a bloques indirectos simples y dobles, respectivamente.
Acceso directo a una posición de un archivo
- Determinar bloque lógico dentro del archivo.
- Encontrar la entrada correspondiente en el nodo-i o bloque indirecto correspondiente (bloque físico).
- Determinar sector/sectores del bloque físico
Concepto de enlace directo
- Un mismo archivo puede aparecer múltiples veces en la estructura de archivos
- Llamada
link
: crea un enlace sobre un archivo - Llamada
unlink
: desenlaza un archivo - La llamada
link
crea un enlace (o entrada de directorio identificada por un nombre) que referencia al nodo i del archivo. - Al crear un nuevo enlace, se incrementa el contador de enlaces del nodo i
- Este contador determina cuándo se puede borrar el nodo-i y los bloques del archivo (cuando no hay referencias desde ninguna entrada de directorio).
Problemas de enlaces
- Debe estar en el mismo dispositivo que el directorio y hay problemas con las cuotas de disco.
- Alternativa: enlace simbólico
/dir1
Si hay cuotas de disco
- Si el usuario A crea un archivo, se carga el espacio ocupado a su cuota; si A permite que B enlace su archivo, el espacio sigue cargándose a A.
- Si A se queda sin cuota, borra el archivo, pero este sigue existiendo para B, quien se hace cargo del costo.
Ventajas de enlaces simbólicos
- Se puede enlazar cualquier archivo del sistema de archivos y no plantea problemas con las cuotas de disco
Inconvenientes de enlaces simbólicos
- Consume más recursos que el enlace directo ya que requiere un nodo-i y un bloque de disco
- Si el archivo enlazado se borra, causa incoherencia
- Los enlaces directos y simbólicos se complementan
- Otros nombres: caché de disco, buffer de disco
- El acceso a los archivos cumple el principio de localidad
Mecanismo del almacenamiento temporal
- Mantiene una copia en memoria de los bloques que se están utilizando actualmente
- Se reserva un espacio de memoria para:
- Copias de un número determinado de bloques del disco
- Identificación y estado de dichos bloques
- Estructuras de datos para localizar fácilmente cada bloque
Ante la necesidad de leer un bloque
- Se comprueba si está en la reserva (buffer de disco)
- Si está, nos ahorramos lectura
- Si no está, se lee y se carga en un bloque libre de la reserva
- Si la reserva se llena, se aplica el reemplazo LRU
- Es necesario añadir las estructuras de datos para el criterio de reemplazo
Formas de usar la reserva
- Reserva de escritura directa
- Reserva de escritura diferida
Reserva de escritura directa (write-through)
- Cuando se actualiza un bloque, se actualiza inmediatamente en el disco
- El disco está siempre actualizado
- Es útil en caso de caída del sistema
- Inconveniente: la escritura no se beneficia de la reserva; el software de E/S en espacio de usuario crea buffers en espacio de procesos para amortiguar escrituras
Lista de escritura diferida (write-back)
- Cuando se actualiza un bloque, solo se actualiza su copia en memoria
- El disco se actualiza al cerrar el archivo, al reemplazar el bloque en memoria, cuando el proceso lo solicita o al retirar el dispositivo o el medio
- Ventaja: la escritura se beneficia de la reserva
- Inconvenientes: no se pueden extraer discos arbitrariamente, no se puede apagar el ordenador arbitrariamente y hay desastre en caso de caída del sistema
- En caso de caída del sistema, además del riesgo de pérdida de información que los procesos consideran escrita, existe el riesgo de corrupción del propio sistema de archivos (nodos-i, directorios, etc.).
- Este riesgo disminuye si el administrador de archivos no aplica la reserva de bloques sobre aquellos bloques que contienen información del sistema de archivos.
RAID (Redundant Array of Independent Disks)
- Usa varios discos (baratos) en paralelo para simular un disco con mejores características (tasa de transferencia, fiabilidad, capacidad)
- Implementación del array:
- Controlador(hardware RAID simula un único disco)
- Gestor de dispositivo (sin hardware dedicado)
- Niveles: política de gestión, cada nivel tiene como objetivo mejorar una o varias características
RAID 0
- N discos simulan un disco de mayor capacidad
- Info dividida en franjas (strips) de N sectores consecutivos
- Cada sector de una banda se almacena en un disco diferente y se transfieren en paralelo
- Mejor tasa de transferencia, mayor tamaño
- ¡Peor fiabilidad! Si un disco falla, el array falla
RAID 1
- N discos (frecuentemente 2) idénticos, en espejo
- La información se escribe simultáneamente en todos los discos
- Las lecturas se pueden realizar en paralelo
- Mejor tasa de transferencia sólo en lectura
- Tamaño idéntico
- Tiene mejor fiabilidad
RAID 4
- N+1 discos simulan un disco de mayor capacidad
- Información dividida en bandas (como en RAID 0) + un disco de paridad
- Se escribe en paralelo, pero el disco de paridad se convierte en un cuello de botella
- Mayor tamaño
- Mayor fiabilidad: si se detecta que un disco falla, se puede reconstruir la información a partir de la paridad
- Si el error no se detecta al leer en un disco, la paridad solo permite la detención del error y no su corrección.
- Hasta que se sustituya el disco averiado, el sistema puede seguir funcionando pero con rendimiento degradado, por que para reconstruir la información hay que leer todos los discos
- RAID 4, pero la paridad se reparte por turnos entre los demás discos
- Objetivo: que el disco de paridad no se convierta en cuello de botella
RAID 6
- RAID 5, pero añade otro bloque más de "paridad"
- Utiliza un código Reed-Solomon de corrección de errores
- Eleva a dos unidades la tolerancia a fallos
- RAID 2 y 3: Actualmente en desuso
Se pueden combinar niveles RAID
- Raid 1+0: RAID 0 formado por RAID 1
- Raid 0+1: RAID 1 formado por RAID 0
Copia en caso de escritura (COW)
- Técnica aplicable sobre volúmenes o archivos
- Cuando sobre un volumen/archivo se inicia una COW
- Volumen/archivo queda "congelado"
- se crea un archivo de COW
- A partir de entonces:
- Escrituras: se hacen sobre archivo de COW
- Lecturas: la información se busca primero en el archivo de COW, y si no se encuentra, se busca en el volumen/archivo original
- Posteriormente, el archivo COW puede:
- Eliminarse: se descartan los cambios
- Fusionarse con el volumen/archivo original: los cambios se hacen permanentes
COW sobre archivos
- A nivel de sistema de archivos: requiere gestión del espacio ocupado mediante tablas de bloques (ej. ext2)
- Al crear la copia en caso de escritura (click), se crea el archivo COW como un archivo compuesto por los mismos bloques que el archivo original
- ¡Cuidado! Esto podría ser detectado como una incoherencia del sistema de archivos (bloques asignados más de una vez)
- Supongamos que se intenta modificar un bloque (click)
- En dicho caso, se copia el bloque modificado (se crea bloque sombra) y se le asigna en exclusiva al archivo COW, manteniendo el original asignado al archivo original
- Si se añade información (click): el nuevo bloque se añade al archivo COW (click)
- Las lecturas se hacen del archivo COW
- Para descartar los cambios: se borran los bloques asignados al archivo COW y las tablas (nodo-i, bloques indirectos...) del archivo COW
- Para hacer los cambios permanentes: se borran los bloques originales modificados y la tabla del archivo modificado sustituye a la del original
COW sobre archivos
- A nivel de proceso de usuario: el archivo debe ser estructurado y cada dato debe ser localizado mediante una clave o por su posición
- El archivo COW es indexado y sólo contiene los cambios
- Primero busca en el archivo COW, y, al no encontrarlo, busca en el archivo original.
COW sobre volúmenes
- Mismo método que sobre archivos a nivel de procesos: el volumen se considera como un archivo de bloques con acceso directo; el archivo COW debe estar en otro volumen; el Sistema Virtual de Archivos usa el archivo COW para simular un volumen.
Aplicaciones de COW
- Creación de instantáneas de archivos o volúmenes:
- Permiten revertir cambios muy eficientemente
- Optimización de espacio
- Un volumen puede contener la información común a múltiples volúmenes implementados como archivo COW
Journaling
- ¿Que ocurre si durante una actualización del sistema de archivos (por ejemplo) el sistema cae?
- El sistema de archivos puede quedar en un estado inconsistente
Solución
- Todas las actualizaciones sobre las estructuras del sistema de archivo formarán parte de una transacción
- Transacción: conjunto de actualizaciones que se realizan de manera atómica → O se realizan todas o no se realiza ninguna
Primitivas
- BEGIN_TRANSACTION
- END_TRANSACTION / COMMIT
- CANCEL_TRANSACTION / ABORT / ROLLBACK
Posibles implementaciones
- Copia en caso de escritura (complejo en este contexto)
- Journaling
- No es habitual que un SO de soporte a transacciones sobre el contenido de los archivos (al menos en SSOO de propósito general). De ello se suelen encargar los motores de bases de datos
- Sí es frecuente que un SO emplee transacciones para actualizar las propias estructuras de su sistema de archivos (NTFS lo hace, por ejemplo)
Definiciones
- BEGIN_TRANSACTION: indica que las operaciones que se realicen a partir de ese momento forman parte de una transacción
- END_TRANSACTION: indica que la transacción termina y todos los cambios se deben hacer permanentes
- CANCEL_TRANSACTION: indica que la transacción aborta y todos los cambios hechos tras BEGIN_TRANSACTION se descartan, quedando todo como estaba antes del BEGIN_TRANSACTION
- Si se produce un fallo durante la transacción: implícitamente se cancela
Registro de Escritura Anticipada (log/Journal)
- Al iniciar cada transacción, se crea un archivo de log
- ANTES de cada actualización, se escribe en el log:
- Valor original que se va a modificar
- Valor por el que se sustituye
- Si la transacción se valida, se borra el archivo de log
- Si la transacción se cancela, se recorre el archivo de log en sentido inverso, deshaciendo los cambios
- Tras recuperarnos de un fallo, se detecta si había transacciones en vuelo por sus archivos de log
- Por qué se escribe ANTES de actualizar: si se actualizara primero y se escribiese después, se podría producir un fallo entre actualización y escritura. En tal caso, esa actualización no se podría deshacer.
Curiosidad
- Es por lo que al registro de escritura se le llama también registro de intenciones
Tras la recuperación de un fallo
- Se comprueba si el registro de log indica que la transacción terminó
- Si es así: comprobar si acaso la última operación. Si no estaba realizada, realizarla y borrar.
- Si no: deshacer recorriendo en sentido inverso
- Si transacción no terminada: borrar recorriendo en sentido inverso
- Desde un sistema conectado en red podemos acceder...
- A unidades en un servidor
- A unidades en la nube
Unidades de bloques
- El nivel de administración de archivos está en cliente
- Servidor soporta operaciones de lectura y escritura de bloques
- El administrador de archivos es un administrador completo
- El gestor de disco virtual en red simula la interfaz de un gestor de disco. El administrador de archivos no tiene por que saber que se trata de un disco en red
- El gestor de disco virtual es muy simple: utilizando el gestor de red, envía las peticiones que recibe al servidor
- En el servidor, el adptador de peticiones recibe las peticiones recibidas a través de la red del cliente, y se las pasa al gestor de disco simulando un administrador de archivos, y devolviendo los resultados al gestor de disco virtual en red del cliente
- El gestor de disco cree que recibe las peticiones directamente del administrador de archivos
- Realmente, es como si existiese una conexión virtual entre administrador de archivos y gestor de disco
- Servidor: contiene administrador de archivos completo
Sistemas de archivos lógicos
- Clientes: tiene servidor de archivos mínimo
- No es más que un cliente del administrador en el servidor
- Implementa a nivel superior una interfaz de administrador de archivos
- En la práctica:
- Un mismo sistema puede ser cliente y servidor
- En un mismo sistema deben convivir sistemas de archivos locales y remotos
- ¡Necesitamos integración de distintos sistemas de archivos remotos y locales!
- Y además,¡de distinto tipo! (NTFS, ext2, ext3, ext4, NFS...)
Virtual File System
- Permite una interfaz común al sistema de archivos para distintos administradores de archivos locales y clientes de sistemas de archivos remotos
- Es un front-end que presenta la abstracción de disponer de un único sistema de archivos. Para ello, se integran todos los sistemas de archivos y cada uno se monta sobre un directorio de un árbol común
- Se permite integrar nuevos sistemas de archivos instalando el código del administrador de archivos correspondiente en el núcleo del sistema operativo
Autenticación de usuario
- Objetivo: permitir el acceso al sistema solo a los usuarios autorizados
- Implementación:
- Autenticación local:
- Mediante información secreta
- Mediante pareja de claves RSA
- Mediante elementos físicos
- Mediante técnicas biométricas
- Autenticación como servicio (AaaS): protocolos que permiten delegar la autenticación en un sistema externo; permite centralizar información sobre el usuario
Información secreta
- El usuario memoriza algún tipo de información
- El sistema pide dicha información al usuario
- Si es correcta, se permite el acceso
- Forma más habitual: contraseñas
- Se guardan encriptadas con algoritmo unidireccional
- Contraseña se solicita al usuario, se encripta, y se comprueba la coincidencia con la almacenada
- Ventajas:
- Simple y barato: no hacen falta... Dispositivos, Elementos físicos, Infraestructura externa (servidor de autenticación, red)
- Alternativas a las contraseñas clásicas:
- Preguntas personales
- Contraseñas de un solo uso
- Contraseñas múltiples
- El usuario necesita crea pareja de claves RSA: Entrega al sistema la clave pública (para encriptar) y conserva la clave privada (para desencriptar)
- Sistema encripta un token con clave pública y lo entrega al usuario, el usuario lo desencripta con clave privada y lo devuelve al sistema.
- Si los tokens coinciden el usuario es legítimo poseedor de clave propia
- Supongamos que un usuario usa su PC para conectarse a múltiples servidores en los que tiene cuenta de usuarios
- En su PC, el usuario inicia sesión mediante contraseña, elemento físico o técnica biométrica
- En dicho PC, el usuario crea una pareja de claves RSA
- La clave privada la guarda en su ordenador (encriptada) y la clave pública la envía a cada servidor al que quiere acceder (y esto es lago se hace una sóla vez)
- Posteriormente, cuando quiera acceder a un servidor: solicita un inicio de sesión, el servidor encripta un token y lo envía encriptado al sistema del usario. Éste utiliza la clave privada para desencriptalo, y lo devuelve al servidor. Si dicho token coincide con el enviado, el usuario es quien dice ser y por tanto se admite el inicio de sesión
Pareja de claves RSA (II)
- Aplicación: Establecer relación de confianza entre múltiples sistemas a los que tiene acceso el usuario Inconveniente: riesgo de usurpación de la clave privada debe almacenarse encriptada Usuario se identifica mediante algún objeto legible por sistema (tarjeta con chip, normalmente) Para prevenir uso indebido, se refuerza mediante una contraseña encriptada en la propia tarjeta Ventaja: No necesidad de almacenar ni transferir claves Inconvenientes: Necesidad de dispositivos físicos
Técnicas biométricas
- Se usa alguna característica física del propio usuario como identificación: Huella digital, Capilares de retina, Examen del Iris, Análisis de voz Ventajas: Muy baja tasa de aceptación indebida Inconveniente: Necesidad de elementos físicos potencialmente caros
Autenticación como servicio (SaaS)
- La autenticación se delega en sistema externo: Una vez el usuario autenticado, hay que determinar a qué recursos está autorizado a acceder:
¿Cómo?
- Sistema informático: por sujetos y objetos
- Sujetos efectúan operaciones sobre Objetos
- Sujetos Normalmente son los procesos
Dominio de protección
- Autorización para aplicar una operación sobre un objeto
- El conjunto de operaciones aplicables sobre un objeto depende de su clase
- Las operaciones autorizadas son un conjunto dentro de todas las posibles
- Características de los dominios es que:
- Se puede asignar un dominio de protección a un sujeto → concederle los derechos de acceso del dominio
- Característica de los dominios: Pueden solaparse, son dinámicos, los sujetos pueden cambiar de dominio Características de los dominios: Pueden solaparse: un mismo derecho de acceso a un objeto puede estar en muchos dominios Son dinámicos: los derechos de acceso que componen un dominio pueden cambiar pues pueden crearse y destruirse objetos
- Sujetos pueden cambiar de dominio: si u sujeto cambia de un dominio a otro, implica que pierde todos lo derechos que tenía en el dominio que abandona, y gana los del dominio en que entra
Matriz de Control de Acceso
- Describe el conjunto de dominios con el conjunto de objetos
- La matriz de control de acceso permite decir que los dominios se consideran a la vez objetos(sobre los objetos está la acción de Entrar)
Información
- Entrada en blanco: no se puede hacer nada con ese objeto en ese dominio
Ejemplos de preguntas
-
Si se adiciona el domonio D1 cuando inicia sección
-
¿Se pueden leer los archivos del Dominio D1? -Si
-
¿Pueden los procesos entrar en domino D@ y leer archivos?
-
Claro si pueden. Primero entran al dominio y después leeen
-
¿Se pueden copiar archivo 3 sobre archivo 1:
-
Como no hay operaciones de este tipo, se deben autorizar archivos especiales para el copiado.
Inconvenientes Matriz control de acceso
- Poco práctico: en un sistema real la matriz sede enorme y muy complicada porqué esta matriz es control de acceso En eficiente: En la realidad la mayoría de datos estarían vacíos y ocupan mucho espacio Lista de control de acceso (ALC) de un objeto: relación de los derechos que sobre dicho objetos tienen los distintos sujetos Formada en entradas: por las entradas no vacías de su alumno en la matriz de acceso
Archipvo5: permite el acceso para permisos para un usuario, idependienttemente de este uso
Limitaciones
- Por lo que el sistema solo comprueba su hay acceso, limitaría la exploración del sistema en cada acceso
- Para controlar y comprobar la listado solo se abren los archivos
- Comprobar prosesos que tengang Abreviar las listas mediante codines
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.