Está en la página 1de 41

Índice

Entrada/Salida ...................................................................................................................................... 3
Hardware de E/S ............................................................................................................................... 3
Controladores de dispositivos ...................................................................................................... 4
Controladores de Disco ................................................................................................................ 5
Estructuras de Almacenamiento Masivo......................................................................................... 5
DISCOS MAGNÉTICOS ................................................................................................................... 5
DISCOS DE ESTADO SÓLIDO (SSD) ................................................................................................ 6
Almacenamiento............................................................................................................................. 10
NAS Almacenamiento conectado a la red ................................................................................. 10
SAN Redes de área de almacenamiento .................................................................................... 10
RAID Arreglos redundantes de disco independientes (el más efectivo) .................................. 11
Archivos .............................................................................................................................................. 13
¿Qué es un ARCHIVO? ................................................................................................................ 13
Sistemas de archivos ...................................................................................................................... 15
ATRIBUTOS .................................................................................................................................. 16
OPERACIONES DE ARCHIVOS...................................................................................................... 17
DIRECTORIOS .................................................................................................................................. 18
Implementación del sistema de Archivos: .................................................................................... 19
ASIGNACIÓN CONTIGUA............................................................................................................. 20
ASIGNACIÓN DE LISTA ENLAZADA ............................................................................................. 21
ASIGNACIÓN DE LISTA ENLAZADA UTILIZANDO UNA TABLA DE MEMORIA ............................ 22
IMPLEMENTACIÓN DE ARCHIVOS NODO ÍNDICE (i-nodos) ...................................................... 22
IMPLEMENTACIÓN DE DIRECTORIOS......................................................................................... 23
ARCHIVOS COMPARTIDOS .......................................................................................................... 24
SISTEMAS DE ARCHIVOS POR BITÁCORA ................................................................................... 25
SISTEMAS DE ARCHIVOS VIRTUALES .......................................................................................... 25
ADMINISTRACION Y OPTIMIZACION DEL SISTEMA DE ARCHIVOS ............................................... 26
SERVIDORES DE ARCHIVOS ......................................................................................................... 26
SISTEMAS MULTIPROCESADORES ..................................................................................................... 27
UN MULTIPROCESADOR CON MEMORIA COMPARTIDA .............................................................. 27
¿Cómo es el HARDWARE? ¿Cuántos tipos hay? hay 2 tipos: ................................................... 27
¿Cómo es el SOFTWARE? ¿Cuántos tipos hay? hay 3 tipos: .................................................... 29
¿Cómo es la PLANIFICACIÓN? ¿Cuántos tipos hay? hay 2 tipos: ............................................. 30
2 MULTICOMPUTADORAS .............................................................................................................. 30
¿Cómo es el HARDWARE? .......................................................................................................... 31
¿Cómo es el SOFTWARE? ........................................................................................................... 31
3 SISTEMA DISTRIBUIDO................................................................................................................. 32
TIPOS DE SO DISTRIBUIDO:......................................................................................................... 32
COMPARACIÓN DE LOS 3 TIPOS DE SISTEMAS DE MÚLTIPLES CPUs........................................... 33
SISTEMAS DE TIEMPO REAL (SOTR)................................................................................................... 34
CLASIFICACIÓN: ............................................................................................................................... 34
CARACTERÍSTICAS (para ambos): ............................................................................................... 34
3 ESTRATEGIAS PARA LA TRADUCCIÓN DE DIRECCIONES: ........................................................... 34
IMPLEMENTACIÓN, tener en cuenta: ........................................................................................ 35
ALGORITMOS DE PLANIFICACIÓN: ................................................................................................. 35
1. PLANIFICACIÓN POR PRIORIDAD MONÓTONA EN TASA: ..................................................... 35
2. PLANIFICACIÓN POR PRIORIDAD EN FINALIZACIÓN DE PLAZO (EDF): ................................. 35
3. PLANIFICACIÓN CON CUOTA PROPORCIONAL: ..................................................................... 35
4. PLANIFICACIÓN EN PTHREAD: ................................................................................................ 35
Lab - Archivos ..................................................................................................................................... 36
Lab - Virtualizacion ............................................................................................................................. 39
Entrada/Salida
Se estructura en diferentes niveles. Cada aplicación necesita un manejo de dispositivos de E/S,
dándose de una manera rápida, transparente y flexible => debe proveer al menos una interfaz o mecanismo
de abstracción entre los diferentes controladores de dispositivos (o drivers) y los diferentes dispositivos de
E/S. Esta interfaz del SO puede estar dentro de los sistemas de archivos, dentro de un servicio de
administración de red, etc. Entonces, los dispositivos, atreves de encapsulamiento también deberían
brindar al usuario la información.

La E/S es muy importante, según algunos autores es inclusive más importante que el procesamiento
ya que no importa cuando procesamiento haga, ese resultado se le debe volcar al usuario. El papel del SO
en esta, es generar y controlar las operaciones y dispositivos de E/S, emitiendo comandos para los
dispositivos, captando las interrupciones y manejando los errores.

Adicionalmente el SO debe proporcionar una interfaz simple y fácil de usar entre los dispositivos y el
resto del sistema. Hasta donde sea posible, la interfaz deber ser igual para todos los dispositivos.

ENTONCES → Función importante del SO: Administrar los dispositivos de Entrada/Salida de una
manera correcta:

Enviar comandos para hacer una determinada acción.


Captar las interrupciones. Manejo de errores.
Brindar una interfaz para que se abstraigan todos los dispositivos de la programación.

Hardware de E/S
Los dispositivos de E/S pueden dividirse en dos categorías, aunque no todos los dispositivos se
adaptan a esta clasificación básica, como por ejemplos los asistentes de vos, sensores, etc.

Dispositivo de bloques → Almacena la información en bloque de tamaño fijo, cada uno con su propia
dirección. Todas las transferencias se realizan en unidades de uno o más bloques completos consecutivos.
Los dispositivos pueden leer o escribir cada bloque de manera independiente a los demás. Por ejemplo: un
disco rígido, DVD, USB.

Dispositivos de carácter → Envía ya acepta un flujo de caracteres, sin importar la estructura del
bloque. No es direccionable y no tiene ninguna operación de búsqueda. Por ejemplo: un teclado, mouse,
interfaces de red.

Otra clasificación:

DISPOSITIVOS DE ENTRADA: teclado, mouse, micrófono.

DISPOSITIVOS DE SALIDA: impresora, parlantes, pantalla.

DISPOSITIVOS MIXTOS (entrada y salida): impresora multifunción, pendrive, placa de red inalámbrica,
pantalla táctil.

Los dispositivos de E/S cubren un amplio tango de velocidades, lo cual impone una precisión
considerable en el sw para obtener un buen desempeño sobre muchos órdenes de magnitud en
velocidades de transferencias de datos. Tienden a hacerse más rápidos. Requieren de un SO que soporte
esta cantidad de información, no solo el software.
Velocidades de trasferencia de datos comunes de algunos dispositivos redes y buses

Componente ELECTRÓNICO: controlador del dispositivo o el adaptador. Ejemplos: de video,


controlador usb que por lo general está dentro de la placa madre, ranuras.

Componente MECÁNICO: el dispositivo en sí.

Controladores de dispositivos

El SO debe asegurarse de que pueda manejar varios dispositivos a través de la misma interfaz.
Ejemplos: mouse usb, teclado usb, impresora usb.

El dispositivo controlador hace una abstracción entre el dispositivo y el SO.

ENTRADA/SALIDA POR ASIGNACIÓN DE MEMORIA

Cada controlador tiene registros útiles para comunicarse con la CPU. El so puede escribir o leer en
esos registros, y el dispositivo a su vez, por ejemplo, puede recibir datos.

Además de esos registros, muchos dispositivos tienen un búfer de datos.


↓ ↓
De control con los que se También se pueden leer o escribir,
comunica con la CPU. se comunican con la CPU.


¿CÓMO SE COMUNICAN CON LA CPU?
A cada registro de control se le asigna un número de puerto de E/S (8 Y 16 bits). Hay un conjunto de
puertos o espacio de puertos de E/S:

a) Puede estar separado de la memoria principal.


b) Dentro de un espacio de direcciones en la memoria principal: Último espacio en
memoria, acceso directo a memoria, ese espacio de direcciones funciona a modo de Kernel, está
protegido, para el modo usuario. Solo el so puede escribir y leer esos registros. E/S con asignación de
memoria.
c) Híbrido, dentro y fuera de la memoria principal.

Controladores de Disco

Buses, se pueden desenchufar y enchufar y siguen funcionando. Son los más actuales.

FC (Fiber Chanel) hot swap


SAS (Serial Attached SCSI) hot swap

Estructuras de Almacenamiento Masivo


Algunos dispositivos de E/S:
1. Discos Magnéticos.
2. Discos extraíbles (disquetes).
3. Cintas Magnéticas.

DISCOS MAGNÉTICOS
Que el cabezal (brazo) se mueva por todos los cilindros y vaya buscando información (en todas las
pistas), cuando se cuenta con una cola de pedidos el brazo haga la menor cantidad de movimientos por
cada cilindro → voy a obtener el algoritmo que sea más óptimo.

Para el movimiento del brazo existen varios algoritmos:

1. FCFS o FIFO → primero entrado, primero salido.


2. SSTF → el tiempo de búsqueda más corto primero, el que está más cerca del brazo, el que va a
generar el menor movimiento del brazo.
3. SCAN → explora y sirve de extremo a extremo. Atiende las peticiones mientras se mueve de
extremos a extremos. Desde donde está hasta el cero, desde el cero hasta el final. Depende de la cola que
sea mejor o no.
4. C-SCAN → va atendiendo hasta que llega al final y vuelve al principio sin atender, y desde ahí
empieza a atender de nuevo.
5. LOOK → va atendiendo las peticiones hasta llegar al último de la cola y vuelve atendiendo hasta el
principio de la cola.
6. C-LOOK → va atendiendo las peticiones hasta llegar al último de la cola y vuelve al primero de la
cola sin leer y desde ahí continúa leyendo.
7. SSTF y LOOK → tienen los mejores resultados en simulaciones mostradas.

DISCOS DE ESTADO SÓLIDO (SSD)

Un SSD no es más que una evolución lógica de los HD mecánicos tradicionales. Es un dispositivo de
almacenamiento secundario hecho con componentes electrónicos en estado sólido.

También contienen en su interior un procesador que controla la lectura, escritura y decide donde se
aloja cada parte de la información (un controlador al igual que el anterior).

Consta de bloques de memoria no volátil (inmóvil), en lugar de los platos giratorios y cabezal.

VENTAJAS:

Tamaño y peso (menores).


Resistencia (antes era una desventaja).
Velocidad (más rápidos).
Consumo energético (al no tener tanto movimiento es menor).
No genera ruido ni vibraciones.
Mejora el tiempo medio entre fallas cada vez más (MTBF).
No sufren por estar fragmentados.
El rendimiento es constante y sin deterioros cuando se llena (completamente lleno y el
rendimiento, a comparación de un disco común, es notable la diferencia).

DESVENTAJAS:

Costo (por bit).


No hay estándares.
No es aconsejable usarlo simplemente para almacenamiento de fotografías, video y música.
Necesitan recibir energía periódicamente.
Recuperación de datos nula ante fallas físicas. Se destruyen las celdas. Fallos inesperados como los
pendrive, ahora son mucho más estables.

DESVENTAJAS????:
Degradación de rendimiento al cabo de mucho uso en las memorias NAND (solucionado, en parte,
con el sistema TRIM).
Menor velocidad en operaciones de E/S secuenciales (ya se ha conseguido una velocidad similar).
Vulnerabilidad contra cierto tipo de defectos, incluyendo pérdida de energía abrupta, campos
magnéticos y cargas estáticas comparados con los discos duros normales (que almacenan los datos dentro
de una Jaula de Faraday).
Adaptaciones de los File Systems (importante, como manejar tablas de memoria, caché de disco
→ se logran todas esas adaptaciones y funcionan bien).

LA SIMPLICIDAD Y LA COMPLEJIDAD DE LOS SSD

Aparentan ser más simples pero son bastante complejos.

MEMORIA FLASH SSD (similar)


- unidades USB La forma de gestionar en esos dispositivos simples
- reproductores de música portátil es muy diferente en comparación con los procesos
- teléfonos móviles realizados por un SSD y su controlador de memoria
- tarjetas de memoria flash

CONEXIÓN DE UN DISCO - ALMACENAMIENTO CONECTADO A UN HOST

Buses (controlador disco - controladora host)

SATA: puerto más común. Existe además mSATA que solo otorga el puerto para conectar
directamente notebooks y portátiles.
PCI Express: utilizado comúnmente por placas de video. Es de alta velocidad > 26 Bs. Mayor costo.
CLASIFICACION DE TECNOLOGÍA DE ALMACENAMIENTO

1. MEMORIA NAND FLASH: las de uso más común, son un chip de silicio que también se utiliza en
pendrives y posee una memoria no volátil.

Una SSD se compone principalmente de:

a) controladora: módulo central, administra y gestiona todos los módulos que hay de memoria.
b) caché: pequeño dispositivo de memoria DRAM.
c) condensador: necesario para mantener la integridad de los datos de la memoria caché el
tiempo suficiente para que se puedan enviar los datos retenidos hacia la memoria no volátil.
2. SSD DRAM: información volátil, funciona como una memoria RAM, son mucho más costosos,
comunes, se necesita energizarlos continuamente, mayor velocidad, tiempos de respuesta menores, poco
adecuados para uso cotidiano.

CÓMO SE CONSTRUYEN LAS MEMORIAS FLASH NAND DENTRO DE LOS CHIPS

Existen 3 niveles de series de memoria:

1. SLC Single Level Cell:


a) almacenan dos estados 0 y 1
b) son veloces
c) mínimo consumo energético
d) más costosos de fabricar
e) mejor tiempo de vida
f) celda de un solo nivel

2. MLC Multi - Level Cell


a) aumenta la densidad, por lo que aumenta la cantidad de estados internos que puede tener
b) mayor capacidad en menor espacio físico
c) para construirlas son 3 veces más
económicas
d) más lentos que el anterior
e) el tiempo de vida es menor
f) celda de varios niveles

3. TLC Triple Level Cell


a) los más económicos de construir
b) son de gran densidad, mayor cantidad de estados (8)
c) gran capacidad de almacenamiento
digital en poco espacio físico
d) tiempo de vida disminuye aún más
e) más lento
f) celda de triple nivel

DESVENTAJA IMPORTANTE: cuando desaparecen los electrones (el voltaje) pueden confundirse entre
dos estados, o no se puede recuperar la información. Mientras más cantidad de estados la diferenciación
entre ellos es menor.
Almacenamiento
Agrupación de discos.

NAS Almacenamiento conectado a la red

Es lo más básico donde se pueden agrupar una cantidad finita de discos rígidos o discos de estado
sólido. Un cliente puede acceder a un NAS y montar la información que está en ella en su directorio.

Se accede a través de algún protocolo TCP IP (NFS, RPC, ISCSI).

Dentro de NAS generalmente hay una matriz de disco organizada de alguna manera, el orden común
es a través de un RAID, conjunto de discos que tiene una función global.

Deriva de este → DAS (Direct Attached Storage) almacenamiento adjunto directo cuando lo
conecto a la NAS desde un puerto usb.

SAN Redes de área de almacenamiento

Un poco más flexible, pero un poco más compleja. En vez de conectarse por la red utiliza protocolos
de almacenamiento propietarios.
SAN divide servidores, procesamiento de datos, gestores de contenido (procesamiento y memoria
RAM), del almacenamiento físico.

Define, este servidor puede tener acceso a este storage y el otro servidor solamente de lectura al
otro storage.

“Administrador entre almacenamiento y servidores” → procesamiento y memoria RAM por un lado


y almacenamiento por otro.

Flexibilidad de escalar recursos respecto a servicios es lo que hace que sea una de las más usadas.
En lo que se conoce como la nube.
Los recursos de los servidores pueden asignarse de forma dinámica (permitir o prohibir).
Permiten clusters de servers con múltiples storages.
Buses FC o con conexiones de alta velocidad.
Otros factores, como virtualización, gerenciamiento de recursos, de servicios que hacen a toda una
infraestructura.

“Controlador de muchos medios de almacenamiento vacío”

RAID Arreglos redundantes de disco independientes (el más efectivo)

Realiza entre varios discos físicos agrupaciones lógicas que pueden llegar a incrementar la
confiabilidad de un sistema o a incrementar la velocidad del sistema. Se puede dar:

Por HARDWARE: dispositivo NAS, que dentro tiene un controlador que hace que todos los discos
de ese NAS al conectarlo a una computadora, lo reconozca como un solo disco rígido → 1 disco logico (los
4 fisicos) → STRIPING.
Por SOFTWARE.

Confiabilidad a través de la REDUNDANCIA: espejar la información de un disco en otro → TÉCNICA DE


MIRRORING. Al estar espejados puedo leer una mitad en uno (velocidad de lectura en paralelo →
paralelismo) y la otra en otro por lo que la velocidad aumenta.
Se trabaja en niveles:

Estos niveles se pueden combinar:

Nivel 1+0: los discos se duplican en parejas y luego se distribuyen, mirroring + striping.
Nivel 0+1: se distribuye en bandas y luego se duplica * striping + mirroring.
Archivos
Todas las aplicaciones requieren almacenar y recuperar información pero existen diferentes
problemas o limitaciones.

Mientras un proceso está en ejecución, ¿puede almacenar información? Si puede pero una cantidad
limitada de información, dentro de su propio espacio de direcciones.

¿El mantenimiento de la info dentro del espacio de direcciones se conserva en el tiempo? Cuando el
proceso termina la información limitada se pierde. Se pierde, la manera de hacerle frente es un
almacenamiento externo (cuando se requiere conservar esa información).

¿Qué pasa si hay una falla en la compu/servidor y se termina el proceso? Hay métodos para recuperar
info, pero lo q esta en si en memoria ante una falla se pierde

¿Qué pasa si varios procesos desean acceder a cierta información al mismo tiempo? Si pueden acceder
pero no exactamente al mismo tiempo (milisegundos de diferencia). La información debe ser
independiente de los procesos.

Lineamiento para generar una arquitectura de almacenamiento de información a largo plazo:

1) Debe ser posible almacenar una cantidad muy grande de información.


2) La información debe sobrevivir a la terminación del proceso que la utilice.
3) Múltiples procesos deben ser capaces de acceder a la información concurrentemente.

¿Qué es un ARCHIVO?

Estructura de datos que la genera el sistema operativo - bloque de info - creados por el proceso -
tienen datos lógicos definidos por el usuario

4 definiciones:

Es una unidad lógica - Los procesos son los que pueden efectuar operaciones sobre los archivos - se
almacenan en un medio no volátil - los archivos tienen info que está relacionada al archivo en sí la
existencia del archivo es lógica y está dispersa físicamente en el disco Los archivos son la estructura
empleada por el sistema operativo para almacenar información en un dispositivo físico como un disco
duro, un pendrive, un CD-ROM. Con todas las herramientas y programas existentes se puede acceder a
estos archivos para ver su contenido o modificarlo. La base del sistema de archivos de Linux, es
obviamente el archivo o archivo

Vision logica → lo q vemos → por ej loq vemos al ejecutar el comando ls

Vision fisica → como está almacenado, disperso o ordenado en memoria secundaria la vision fisica
del archivo se componen por bloques que asu vez pueden estar dentro del espacio físico de un disco o
distribuido,en la vision lógica esta todo ordenado por nombre ruta podemos ver donde esta q contiene q
programa las abre

Archivo de 200M y tengo bloques de 1K → archivo distribuido en 2mil bloques y esos bloques
pueden estar en distintos lugares en SSD (unidad de estado sólido) no hay un gran problema con esta
fragmentación pero un HDD (unidad de disco duro) si

¿Qué ven cuando abre el explorador de archivos o listan con ls?

Ahí se ve ordenado, pero desde el punto de vista


Físico puede estar todo desordenado.
USUARIO: visión lógica (se ve todo ordenado)

SISTEMA OPERATIVO: visión física ligada a dispositivos. Conjunto de bloques (como se encuentra
almacenado verdaderamente).
Para su buena construcción se definen 3 preguntas:

1. ¿Cómo encontramos la información?

2. ¿Cómo evitamos que un usuario lea los datos de otro usuario?

3. ¿Cómo sabemos cuáles bloques están libres?

Los archivos son administrados por el sistema operativo. La manera en que se estructuran,
denominan, abren, utilizan, protegen, implementan y administran son tópicos fundamentales en el diseño
de sistemas operativos. La parte del sistema operativo que trata con los archivos se conoce como sistema
de archivos.

Sistemas de archivos
Es la forma en que se almacenan los archivos y directorios, administra los espacios y determina la
forma en que todo sea eficiente.

Encargado de organizar los archivos y mantener la persistencia.


Gestiona la consistencia.
Establece una correspondencia entre los archivos y los dispositivos lógicos.
ADMINISTRACIÓN DEL ESPACIO VACÍO, conocer donde existen espacios vacíos para poder
asignarlos a los nuevos archivos. Así evitar sobrescribir sobre otra información.

Por cada archivo o carpeta se cuenta con:

1. tamaño
2. dirección
3. estado
4. tipo

El sistema de archivos está relacionado especialmente con la administración del espacio de


almacenamiento secundario, fundamentalmente con el almacenamiento de disco. Es un componente
importante de un S. O. y suele contener:

“Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
“Administración de archivos” referida a la provisión de mecanismos para que los archivos sean
almacenados, referenciados, compartidos y asegurados.
“Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los
dispositivos de almacenamiento secundario.
“Integridad del archivo” para garantizar la integridad de la información del archivo.
En algunos sistemas (como UNIX) las extensiones de archivo son sólo convenciones y no son
impuestas por los sistemas operativos. En esos casos la extensión es solo parte del nombre, si es
ejecutable o no y con qué programas se lo define dentro de los atributos. En cambio en otros sistemas
(como WINDOWS) las extensiones son muy importantes, definen cómo se ejecutarán.

ATRIBUTOS

Todo archivo tiene un nombre y sus datos. Además, todos los sistemas operativos asocian otra
información con cada archivo; por ejemplo, la fecha y hora de la última modificación del archivo y su
tamaño. A estos elementos adicionales les llamaremos atributos del archivo. Los principales y que si o si
tienen todos:

Los primeros cuatro atributos se relacionan con la protección del archivo e indican quién puede
acceder a él y quién no.
OPERACIONES DE ARCHIVOS

Los archivos existen para almacenar información y permitir que se recupere posteriormente.
Distintos sistemas proveen diferentes operaciones para permitir el almacenamiento y la recuperación. A
continuación se muestra un análisis de las llamadas al sistema más comunes relacionadas con los archivos.

Muchas veces no vemos todas las operaciones que se realizan dentro diariamente.
DIRECTORIOS
Para llevar el registro de los archivos, los sistemas de archivos por lo general tienen directorios o
carpetas, que en muchos sistemas son también archivos.

El directorio un archivo especial que agrupa otros archivos de una forma estructurada. Es un
conjunto de archivos, que a su vez pueden contener otros directorios. Los directorios también poseen
permisos, y eso es muy importante para evitar que los usuarios sin experiencia, borren o modifiquen algo
que no deban. El árbol de directorios nos ayuda a saber dónde se encuentra un archivo.

➔ Manera lógica de almacenar archivos.

➔ Forma de agrupar un conjunto de archivos.

ANTES
Sistemas de directorios de un solo nivel.

La forma más simple de un sistema de directorios es tener un directorio que contenga todos los
archivos, con nombres para identificarlos.

Las ventajas de este esquema son su simpleza y la habilidad de localizar archivos con rapidez;
después de todo, sólo hay un lugar en dónde buscar. A menudo se utiliza en dispositivos incrustados
simples como teléfonos, cámaras digitales y algunos reproductores de música portátiles. Tener un solo
nivel es adecuado para aplicaciones dedicadas simples (e incluso se utilizaba en las primeras computadoras
personales), pero para los usuarios modernos con miles de archivos, sería imposible encontrar algo si todos
los archivos estuvieran en un solo directorio.

DESPUÉS
Sistema de directorios jerárquicos

Lo que se necesita es una jerarquía (es decir, un árbol de directorios). Con este esquema, puede
haber tantos directorios como se necesite para agrupar los archivos en formas naturales.

Además, si varios usuarios comparten un servidor de archivos común, como se da el caso en muchas
redes de empresas, cada usuario puede tener un directorio raíz privado para su propia jerarquía. La
capacidad de los usuarios para crear un número arbitrario de subdirectorios provee una poderosa
herramienta de estructuración para que los usuarios organicen su trabajo. Por esta razón, casi todos los
sistemas de archivos modernos se organizan de esta manera.

El directorio raíz es la base para todo el árbol de directorios, es allí donde están contenidos todos los
directorios del sistema.
CUADRADO simboliza DIRECTORIO
CÍRCULO simboliza ARCHIVOS

Cuando el sistema de archivos está organizado como un árbol de directorios, se necesita cierta forma
de especificar los nombres de los archivos. Por lo general se utilizan dos métodos distintos. En el primer
método, cada archivo recibe un nombre de ruta absoluto que consiste en la ruta desde el directorio raíz al
archivo.

Los nombres de ruta absolutos → muestra toda la ruta a un archivo → siempre empiezan en el
directorio raíz y son únicos. En UNIX, los componentes de la ruta van separados por /. En Windows el
separador es \. En MULTICS era >.
El otro tipo de nombre es el nombre de ruta relativa. Éste se utiliza en conjunto con el concepto
del directorio de trabajo (también llamado directorio actual). el path relativo a un determinado directorio,
por ejemplo si no encontramos en el directorio /home, el path relativo al archivo Carta.txt es luis/Carta.txt

Implementación del sistema de Archivos:


Los sistemas de archivos se almacenan en discos. La mayoría de los discos se pueden dividir en una
o más particiones, con sistemas de archivos independientes en cada partición. El sector 0 del disco se
conoce como el MBR (Master Boot Record; Registro maestro de arranque) y se utiliza para arrancar la
computadora. El final del MBR contiene la tabla de particiones, la cual proporciona las direcciones de inicio
y fin de cada partición. Una de las particiones en la tabla se marca como activa. El programa en el bloque
de arranque carga el sistema operativo contenido en esa partición.

Cuando se arranca la computadora


1. BIOS lee y ejecuta el MBR.
2. Lo primero que hace el programa MBR es localizar la partición activa
3. leer su primer bloque, conocido como bloque de arranque, y ejecutarlo.

Elementos sistema de archivos: superbloque: Contiene todos los parámetros clave acerca del sistema
de archivos y se lee en la memoria cuando se arranca la computadora o se entra en contacto con el sistema
de archivos por primera vez. La información típica en el superbloque incluye un número mágico para
identificar el tipo del sistema de archivos, el número de bloques que contiene el sistema de archivos y otra
información administrativa clave.

Distribución del sistema de archivos:


MBR: registro principal. Es un programa que me indica lo que hay después, por donde. TABLA DE
PARTICIONES: contiene el inicio y fin de cada partición
PARTICIONES DE DISCO: son particiones físicas, sólo una de las particiones está activa para cargar el sistema
operativo.
BLOQUE DE ARRANQUE: contiene propiedades del archivo, nodos, longitud de archivo, como se abre.

Una vez que encendemos, luego:

Para gestionar qué bloques van con que archivo se usan varios métodos:

ASIGNACIÓN CONTIGUA

Almacena cada archivo como una serie contigua de bloques. Se lleva un registro de 2 números:
1. Donde inicia
2. Tamaño del archivo (nos permite saber dónde termina).
Ejemplo:

La asignación de espacio en disco contiguo tiene dos ventajas significativas.

1. Es simple de implementar, ya que llevar un registro de la ubicación de los bloques de un archivo se


reduce a recordar dos números: la dirección de disco del primer bloque y el número de bloques en el
archivo. Dado el número del primer bloque, se puede encontrar el número de cualquier otro bloque con
una simple suma.
2. El rendimiento de lectura es excelente debido a que el archivo completo se puede leer del disco en
una sola operación. Sólo se necesita una búsqueda (para el primer bloque). Por ende, la asignación contigua
es simple de implementar y tiene un alto rendimiento.

Por desgracia, la asignación contigua también tiene una desventaja ligeramente significante: con el
transcurso del tiempo, los discos se fragmentan. Al principio esta fragmentación no es un problema, ya que
cada nuevo archivo se puede escribir al final del disco, después del anterior. Sin embargo, en un momento
dado el disco se llenará y será necesario compactarlo, lo cual es muy costoso o habrá que reutilizar el
espacio libre de los huecos. Para reutilizar el espacio hay que mantener una lista de huecos, cuando se cree
un nuevo archivo será necesario conocer su tamaño final para poder elegir un hueco del tamaño correcto
y colocarlo.

ASIGNACIÓN DE LISTA ENLAZADA

No se pierde espacio por fragmentación (excepto por la fragmentación interna en el último bloque)
y solo es necesario llevar un solo valor de registro: Cual es el siguiente bloque físico que corresponde.
Físicamente, los bloques se encuentran distribuidos de forma dispersa en disco, lo que le permite
crecer sin problemas.
Por otro lado, aunque la lectura secuencial un archivo es directa, el acceso aleatorio es en extremo
lento. Para poder encontrar un archivo determinado se deben recorrer todos uno por uno hasta llegar al
deseado (lento).
ASIGNACIÓN DE LISTA ENLAZADA UTILIZANDO UNA TABLA DE MEMORIA

Tomando el ejemplo anterior:

Ambas desventajas de la asignación de lista enlazada se pueden eliminar si tomamos la palabra del
apuntador de cada bloque de disco y la colocamos en una tabla en memoria. El -1 no es un número de
bloque válido solo nos indica dónde termina cada archivo. Dicha tabla en memoria principal se conoce
como FAT (File Allocation Table, Tabla de asignación de archivos).

La principal desventaja de este método es que toda la tabla debe estar en memoria todo el tiempo
para que funcione.

IMPLEMENTACIÓN DE ARCHIVOS NODO ÍNDICE (i-nodos)

Consiste en asociar a cada archivo una estructura de datos conocida como i-nodo a nodo índice. La
cual lista atributos y las direcciones de disco de los bloques que componen el archivo. Dado el nodo-i,
entonces es posible encontrar todos los bloques del archivo.
Ventaja: solo está en memoria cuando el archivo está abierto y por lo general ocupa menos espacio
que FAT y más eficiente para discos grandes.

Un nodo-i de ejemplo:

IMPLEMENTACIÓN DE DIRECTORIOS

La función principal del sistema de directorio es asociar el nombre ASCII del archivo a la información
necesaria para localizar los datos.

a. DIRECTORIO SIMPLE (windows): contiene entradas de tamaño fijo, con las direcciones de
disco y los atributos en la entrada de directorio.

b. DIRECTORIO CON NODOS (Unix): un directorio en el que cada entrada sólo hace referencia
a un nodo-i.
El desperdicio de espacio para entradas de archivos de tamaño fijo puede ser un problema. La
solución es permitir una longitud variable. Dos maneras de manejar nombres de archivos largos en un
directorio: Tres archivos:

1. sexto-proyecto
2. personaje
3. ave

1) EN LÍNEA:

2) EN UN HEAP:

ARCHIVOS COMPARTIDOS

Cuando es necesario tener un archivo compartido en dos directorios distintos que pertenezcan a
distintos usuarios.
B y C son directorios. Ahora puedo ver el archivo desde C o desde B, si eliminara C el propietario
seguiría figurando como C solo que ahora tendrá un puntero en B (tiene más padres).

SISTEMAS DE ARCHIVOS POR BITÁCORA

La idea básica de aquí es mantener un registro de lo que va a realizar el sistema de archivos antes de
hacerlo, por lo que si el sistema falla antes de poder realizar su trabajo planeado, al momento de re-
arrancar el sistema puede buscar en el registro para ver lo que estaba ocurriendo al momento de la falla y
terminar el trabajo.

Ejemplo: estábamos editando un archivo y se corta la luz, cuando vuelve la luz busca inconsistencias
y repara.

NTFS de Microsoft, ext3, ext4 de Linux.

SISTEMAS DE ARCHIVOS VIRTUALES

Idea principal ABSTRACCIÓN, 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.
Linux puede “montar” en su estructura de directorio diferentes sistemas de archivos (FS). Posición
del sistema de archivos virtual:

ADMINISTRACION Y OPTIMIZACION DEL SISTEMA DE ARCHIVOS


SERVIDORES DE ARCHIVOS

➔ FTP (File Transfer Protocol)


Se basa en una red TCP/IP y la arquitectura cliente-servidor. Se puede enviar hacia o desde server
archivos al cliente. Puertos 20 y 21.
El servicio FTP está pensado para ofrecer velocidad y no seguridad ya que se realiza en texto plano de
transferencia.
➔ NFS Network File System (sistema de archivos de red)
Es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos
distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas
conectados a una misma red accedan a ficheros remotos como si se tratara de locales.
NUEVOS FS:
➔ Ext4
➔ VMFS
SISTEMAS MULTIPROCESADORES
LIMITACIÓN: no pueden ser más rápidos que la velocidad de la luz (limitación física - teoría de la
relatividad). |
↓ Para superarlo, hacerle frente
SISTEMAS DE MULTIPLES PROCESADORES

Al ser cada vez más chicos los chips o las CPU hace mucho más DIFÍCIL deshacer del CALOR que se genera

¿Solución?
↓ Varias, una de las más aceptadas
Busquemos sistemas para que las CPU trabajen en forma MASIVA y en PARALELO
Otro problema es la COMUNICACIÓN → cuando queremos que trabaje en resolver, desde diferentes
sistemas de procesamiento, un solo problema común.
Existen 3 tipos básicos.

UN MULTIPROCESADOR CON MEMORIA COMPARTIDA


➔ el acoplamiento de las CPU es muy alto

➔ hay varias CPU que comparten la memoria

➔ una CPU puede escribir cierto valor en una palabra de memoria y después
puede volverla a leer esa palabra y obtener un valor distinto (tal vez porque otra
CPU la cambio

➔ son solo sistemas operativos regulares

➔ manejan llamadas al sistema, administran la memoria, proveen un filesystem y gestionan la E/S.

¿Cómo es el HARDWARE? ¿Cuántos tipos hay? hay 2 tipos:

UMA:
Acceso uniforme a memoria, cada uno de los procesadores accede a memoria principal a la misma
velocidad (leer cada palabra de memoria a la misma velocidad).
UMA.1: HARDWARE DE MULTIPROCESADOR CON ARQUITECTURA DE BUS:
● Cada una de las CPU accede a un bus y tenemos una memoria compartida.

● Cuando cada una de las CPU a su vez tiene un caché (pueden ser incluso de 2 niveles).
● Cada CPU tiene a su vez su propia porción de memoria privada y hay una parte de memoria
compartida.

UMA.2: INTERRUPTORES DE BARRAS CRUZADAS: para lograr algo mejor que con el bus, se necesita un
tipo diferente de interconexión → conmutador o interruptor de barras cruzadas (conecta n CPU a k
memorias).

UMA.3: REDES DE COMUNICACIÓN MULTIETAPA: dos entradas a y b, y dos salidas X e Y. Cada CPU
puede acceder a cada uno de los módulos de memoria agregando etapas. Cada uno de los mensajes tiene
4 partes.

NUMA:
Acceso a memoria no uniforme, cada uno de los procesadores trabajan a su propia velocidad y se
accede a través de una red de computación como una red LAN de alta velocidad.
Un solo espacio de direcciones visibles para las CPU.
El acceso a la memoria remota es mediante instrucciones LOAD y STORE.
El acceso a la memoria remota es más lento que el acceso a la memoria local.
Todos los nodos trabajan en forma conjunta para resolver un problema. Cada una de las memorias
tiene su propia velocidad de acceso.

¿Cómo es el SOFTWARE? ¿Cuántos tipos hay? hay 3 tipos:

CADA CPU TIENE SU PROPIO SO: cada CPU accede a una porción de memoria donde cada una de ellas
tiene sus propios datos. Divide estáticamente la memoria y guarda su propia copia privada del SO. Las n
CPU operan como n CPUs independientes. Actualmente no es muy utilizado.

MULTIPROCESADORES MAESTRO ESCLAVO: hay una CPU que ejecuta instrucciones de SO, las demás
CPU solo ejecutan procesos de usuario. Esa CPU puede transformarse en un cuello de botella. Esta
arquitectura solo funciona para pequeños sistemas multiprocesadores (pocas CPU).

MULTIPROCESAMIENTO SIMÉTRICO: elimina la asimetría anterior hay una copia del SO en memoria
por lo que cualquier CPU puede ejecutar.
El problema es si 2 CPU están ejecutando código del SO al mismo tiempo. SOLUCIÓN: cada CPU puede
adquirir su bloqueo por región crítica de SO cuando la usa (cuidado para evitar interbloqueo).
Exclusión mutua es parecido, la TSL debe primero bloquear el bus, puede fallar si el bus no se puede
bloquear. SOLUCIÓN: proporcionar a cada CPU su propia variable de bloqueo privada para evaluarla.

¿Cómo es la PLANIFICACIÓN? ¿Cuántos tipos hay? hay 2 tipos:

TIEMPO COMPARTIDO: se establecen listas de procesos por cada nivel de prioridad y se van ejecutando
en ese orden en las CPU disponibles.

ESPACIO COMPARTIDO: los hilos están relacionados entre sí de alguna manera. Divide la CPU para que
atiendan hilos que están relacionados. Solo puede atender esos hilos relacionados cuando hay CPUs
suficientes para atender al mismo.

2 MULTICOMPUTADORAS
Cada CPU tiene su propia memoria y están conectadas a través de una red
de alta velocidad. Más simples desde el punto de vista del procesamiento.

➔ No comparten memoria.

➔ Cada uno tiene su propio SO (tienen que ser iguales).


Problema: dificultad y costo de construir multiprocesamientos grandes.
¿Cómo es el HARDWARE?

El nodo básico consiste en una CPU, memoria, disco e interfaz de red. La CPU puede ser
multiprocesador con múltiples chips de varios núcleos. A menudo se conectan cientos o miles de nodos
haciendo sistemas de computación paralela de alto rendimiento para problemas complejos.

TECNOLOGÍA DE INTERCONEXIÓN: cada nodo tiene una interfaz de red con cables o fibras a switchs
en estrella o en diversas topologías.

¿Cómo es el SOFTWARE?

Software de comunicación de bajo nivel (Interfaz de comunicación de nodo a red) y a nivel de usuario
(comparación entre llamadas con bloqueo y sin bloqueo).
Llamada a procedimiento remoto RPC, aspectos de implementación.
MEMORIA COMPARTIDA DISTRIBUIDA:
3 SISTEMA DISTRIBUIDO
Cada nodo es una computadora compleja (no comparten memoria), se
comunican entre sí a través de varios tipos de redes de comunicaciones.
Un sistema distribuido, SD, es una colección de procesadores que no
comparten ni memoria, ni una señal de reloj (débilmente acoplados). En lugar de
ello, cada procesador tiene su propia memoria local. Los procesadores se
comunican entre sí a través de varios tipos de redes de comunicaciones, como
buses de alta velocidad o líneas telefónicas.
Un SD puede tener uniformidad frente a diferentes SO y su HW mediante un
nivel de SW por encima del SO. Middleware. Propone ciertas estructuras de datos
y operaciones que permiten a los procesos y usuarios que están en máquinas remotas interoperar de una
manera consistente.

TIPOS DE SO DISTRIBUIDO:

SO de RED: proporciona un entorno en el que los usuarios son conscientes de la multiplicidad de


máquinas, pueden acceder a recursos remotos iniciando sesión en la máquina remota o transfiriendo datos
desde/hacia la máquina remota.
SO distribuido: los usuarios acceden a los recursos remotos de la misma forma en la que acceden a los
recursos locales. La migración de datos y de procesos entre un sitio y otro está bajo el control del sistema
operativo distribuido.
COMPARACIÓN DE LOS 3 TIPOS DE SISTEMAS DE MÚLTIPLES CPUs
SISTEMAS DE TIEMPO REAL (SOTR)
Un sistema de tiempo real puede definirse, entonces, como un sistema que debe satisfacer
restricciones explícitas en el tiempo de respuesta o arriesgarse a severas consecuencias, incluida la falla.
Por lo tanto un sistema de tiempo real es un sistema que responde a un estímulo externo dentro de un
tiempo especificado.

Su eficiencia no solo depende de la exactitud de los resultados de cómputo, sino también del
momento en que los entrega. La predictibilidad es su característica principal. A diferencia de los sistemas
tradicionales, que tienden a distribuir en forma equitativa los recursos disponibles entre las diferentes
tareas a ejecutar, los sistemas de tiempo real deben asegurar la distribución de recursos de tal forma que
se cumplan los requerimientos de tiempo.

Además de datos correctos debe cumplir un periodo de tiempo específico, después de ese periodo
puede que ese resultado obtenido no sirva, ejemplo: auto (sensores).
SISTEMA INTEGRADO → Dentro de uno mayor
Ejemplo: auto autónomo (existen sensores que interactúan todo el tiempo, de los cuales el usuario
no es consciente).
SISTEMAS DE SEGURIDAD CRÍTICA →La operación incorrecta genera una catástrofe
Ejemplos: sistema de control de vuelos, sistema de control de trenes, sistema de control de la
seguridad de una central atómica.

CLASIFICACIÓN:
1. ESTRICTA respecto a la criticidad y el tiempo para ejecutar tareas. Ejemplo: reactor nuclear
(dispositivo donde se produce una reacción en cadena controlada).
2. NO ESTRICTA se limitan a garantizar que las tareas de tiempo real críticas tengan mayor prioridad
y que retengan es prioridad. Ejemplo: información meteorológica con 24 hs de anticipación.

CARACTERÍSTICAS (para ambos):

Único proceso y a menudo bastante simple. Ejemplo: control de un sistema antibloqueo de frenos.
Son de pequeño tamaño.
De bajo costo y producción en masa.
Requisitos de temporización específicos.

DETERMINÍSTICO - SENSIBILIDAD - CONFIABILIDAD - TOLERANCIA A FALLOS

A la espera de una entrada.


Pueden ser parte de un sistema mayor pero cada uno tiene su propia criticidad.

3 ESTRATEGIAS PARA LA TRADUCCIÓN DE DIRECCIONES:


CPU → genera la dirección lógica L que debe coincidir con la física P
1. MODELO DE DIRECCIONAMIENTO REAL: la CPU genere directamente las
direcciones físicas.
2. REGISTRO DE REUBICACIÓN DINÁMICA: se configura un registro de
reubicación R, con la ubicación en memoria en la que se ha cargado un programa. P se
obtiene con L y R.
3. El SOTR proporciona la FUNCIONALIDAD COMPLETA DE MEMORIA
VIRTUAL: traducción mediante tablas de página y un buffer de traducción.
IMPLEMENTACIÓN, tener en cuenta:

➔ Planificación apropiada basada en prioridades: un proceso puede sacar el que se está


ejecutando para ejecutar uno con mayor prioridad y luego continuar con el que sacó. Requiere un cambio
de contexto. Lo más importante (algoritmo basado en prioridades) es el esquema de prioridades. La
funcionalidad en tiempo real no es estricta.
➔ Kernel apropiativo: actuar en base a la prioridad de los procesos, atender los procesos basado
en prioridades. Permiten desalojar cualquier proceso que esté en modo Kernel.
➔ Latencia minimizada: el tiempo que demora que un proceso esté completamente atendido.
Latencia de suceso: desde el momento que tiene lugar el suceso hasta el momento en que se le da
servicio. → minimización de esa latencia → una vez que se le dio servicio termina es proceso de ser
atendido o sale de memoria.

¿Cómo se planifica?
PLAZO PREFIJADO para la ejecución de una tarea.
Todos requieren la CPU en intervalos constantes o periodos.
Cada proceso:
➢ Tiempo de procesamiento fijo “t”.
➢ “d” plazo antes del cual debe ser servido por la CPU.
➢ Periodo “p” tiempo en el que se hace un cambio de contexto (apropiación).
0≤t≤d≤p

ALGORITMOS DE PLANIFICACIÓN:
1. PLANIFICACIÓN POR PRIORIDAD MONÓTONA EN TASA:

a) Utiliza política de prioridad estática con apropiación (cambio de contexto), es decir que cada
proceso tenga una prioridad y esta sea única (estática).
b) Un proceso con mayor prioridad desalojada a uno de menor prioridad.
c) Política: más corto el periodo → mayor es la prioridad. Considera que se solicita más a menudo. RT
Linux.

2. PLANIFICACIÓN POR PRIORIDAD EN FINALIZACIÓN DE PLAZO (EDF):

a) Cuanto más cerca esté de finalizar mayor prioridad va a tener (dinámica), las prioridades no son
fijas.
b) Política: cuando un proceso pasa a ser ejecutable, debe anunciar sus requisitos de plazos al
sistema.
c) No requiere que los procesos sean periódicos.

3. PLANIFICACIÓN CON CUOTA PROPORCIONAL:

a) A cada aplicación se le asigna un tiempo de acuerdo a las cuotas de la aplicación.


b) N: cuotas que necesita, T: total de cuotas, N/T: tiempo total del procesador para esa aplicación.

4. PLANIFICACIÓN EN PTHREAD:

a) Basado en un estándar, con 2 módulos que pueden trabajar a modo Kernel.


b) FIFO → el de mayor prioridad primero.
c) ROUND ROBIN → cada proceso porción de tiempo equitativa y ordenada.
Lab - Archivos
● Explique las diferencias entre rootkits, spywares, troyanos y ransomware

Rootkit: este malware está diseñado para modificar el sistema operativo a fin de crear una puerta
trasera. Los atacantes luego utilizan la puerta trasera para acceder a la computadora de forma remota. La
mayoría de los rootkits aprovecha las vulnerabilidades de software para realizar el escalamiento de
privilegios y modificar los archivos del sistema. También es común que los rootkits modifiquen las
herramientas forenses de supervisión del sistema, por lo que es muy difícil detectarlos. A menudo, una
computadora infectada por un rootkit debe limpiarse y reinstalarse.
Spyware: este malware está diseñado para rastrear y espiar al usuario. El spyware a menudo incluye
rastreadores de actividades, recopilación de pulsaciones de teclas y captura de datos. En el intento por
superar las medidas de seguridad, el spyware a menudo modifica las configuraciones de seguridad. El
spyware con frecuencia se agrupa con el software legítimo o con caballos troyanos.
Troyano: un troyano es un malware que ejecuta operaciones maliciosas bajo la apariencia de una
operación deseada. Este código malicioso ataca los privilegios del usuario que lo ejecuta. A menudo, los
troyanos se encuentran en archivos de imagen, archivos de audio o juegos. Un troyano se diferencia de un
virus en que se adjunta a archivos no ejecutables.
Ransomware: este malware está diseñado para mantener cautivo un sistema de computación o los
datos que contiene hasta que se realice un pago. El ransomware trabaja generalmente encriptando los
datos de la computadora con una clave desconocida para el usuario. Algunas otras versiones de
ransomware pueden aprovechar vulnerabilidades específicas del sistema para bloquearlo. El ransomware
se esparce por un archivo descargado o alguna vulnerabilidad de software.

● Describa los diferentes mecanismos de autenticación. Qué SO vistos utilizan autenticación por
contraseñas y cuáles biométricos. ¿Es posible utilizar sistemas biométricos en sistemas móviles?

La mayoría de los métodos para autenticar usuarios cuando tratan de iniciar sesión se basan en
uno de tres principios generales, que a saber identifican:
1. Algo que el usuario conoce, por ejemplo, mediante una contraseña.
2. Algo que el usuario tiene, por ejemplo, mediante un objeto que introduce en la
computadora.
3. Algo que el usuario es, por ejemplo, mediante un escáner biométrico.

Sistemas de autenticación biométrica


Estos sistemas están basados en la identificación de características físicas del usuario que son
difíciles de falsificar. A estas características se les conoce como biométricas. Por ejemplo, un lector de
huellas digitales o de voz conectado a la computadora podría verificar la identidad del usuario. La
característica elegida debe tener la suficiente variabilidad como para que el sistema pueda distinguir unas
personas de otras sin error. Además, la característica no debe variar con el tiempo. La mayoría de los
sistemas operativos móviles poseen autenticación mediante datos biométricos, tales como: Android, iOS,
Windows Phone, MIUI, etc

Verificación de voz
En los sistemas de reconocimiento de voz se intenta identificar una serie de sonidos y sus
características para decidir si el usuario es quien dice ser.

Verificación de escritura
Aunque la escritura (generalmente la firma) no es una característica estrictamente biométrica, no
se busca entender lo que el usuario escribe en el lector, sino autenticarlo basándose en ciertos rasgos tanto
de la firma como de su rúbrica.
Verificación de huellas
Típicamente la huella dactilar de un individuo es un patrón bastante bueno para determinar su
identidad de forma inequívoca, ya que está aceptado que dos dedos nunca poseen huellas similares.
Actualmente, este método de verificación se utiliza mucho en sistemas operativos móviles como Android
o iOS

Verificación de patrones oculares


Consiste en analizar los patrones retinales o el iris. Estos métodos se suelen considerar los más
efectivos debido a la casi nula probabilidad de coincidencia. Sin embargo, la aceptación de estos sistemas
es muy baja y el costo de su implementación es elevado. Por esto se utilizan en sistemas de alta seguridad,
como el control de acceso a instalaciones militares.
Algunos SO’s actuales que implementan sistemas de autenticación biométrica son:
● iOS
● Windows 10
● Android
● Ubuntu 20.04

Algunos ejemplos de implementaciones son:


 Windows Hello (MicroSoft): Esta cuenta con sistemas lectores de huellas dactilares, iris y facial.
 Touch ID (Apple): Lector de huella dactilar de los sistemas iOS, el cual no guarda una imagen de la
huella dactilar, sino, una representación matemática de esta, la cual además es cifrada para que
los atacantes no puedan hacer mal uso de ella.
 Trusted ExecutionEnvironment (TEE): Opera similar a Touch ID.
 FingerPrint project: Lector de huellas dactilares compatible con sistemas operativos GNU/Linux
(estable dentro de distribuciones basadas en Debian).

● Políticas de seguridad de Linux

Al crear una política de seguridad, debemos tener en cuenta que debe ser simple y fácil para todos
los usuarios. El objetivo de la política debe ser proteger los datos manteniendo intacta la privacidad de los
usuarios. Debe desarrollarse en torno a estos puntos:
 Accesibilidad al sistema
 Derechos de instalación del software en el sistema
 Permiso de datos
 Recuperación de fallas

Al desarrollar una política de seguridad, un usuario debe utilizar solo aquellos servicios para los que
se ha concedido permiso. Todo lo que no esté permitido debe restringirse en la política.

Password Protection. Configuración

Una contraseña es una forma de autentificación que utiliza información secreta para controlar el
acceso hacia algún recurso, normalmente debe mantenerse en secreto ante aquellos a quien no se les
permite el acceso. Algunos de los sistemas operativos que utilizan este método de autenticación son,
por ejemplo, Windows o Unix.

En cualquier sistema, la contraseña juega un papel muy importante en términos de seguridad. Una
contraseña deficiente puede hacer que los recursos de una organización se vean comprometidos. Todos
los miembros de la organización deben cumplir la política de protección de contraseña, desde los usuarios
hasta el nivel de administrador. Siguiendo los puntos anteriores podemos asegurar que la contraseña es
segura.
Para la política de creación:
 Un usuario no debe usar la misma contraseña para todas las cuentas de una organización
 Todas las contraseñas relacionadas con el acceso no deben ser iguales
 Cualquier cuenta a nivel del sistema debe tener una contraseña diferente a cualquier otra cuenta
del mismo usuario.

Para la política de protección:


 Una contraseña es algo que debe tratarse como información sensible y confidencial. Por lo tanto,
no debe compartirse con nadie.
 Las contraseñas no deben compartirse a través de ninguna comunicación electrónica, como
correos electrónicos.
 Nunca revele una contraseña en su teléfono o cuestionario.
 No utilice sugerencias de contraseña que puedan proporcionar pistas a un atacante.
 Nunca comparta las contraseñas de la empresa con nadie, incluido el personal administrativo,
gerentes, colegas e incluso miembros de la familia.
 No guarde las contraseñas por escrito en ningún lugar de su oficina. Si almacena contraseñas en
un dispositivo móvil, utilice siempre el cifrado.
 No utilice la función Recordar contraseña de las aplicaciones.
 Si tiene alguna duda de que una contraseña está comprometida, informe el incidente y cambie la
contraseña lo antes posible.

Para la política de cambios:


 Todos los usuarios y administradores deben cambiar su contraseña de forma regular o al menos
trimestralmente.
 El equipo de auditoría de seguridad de una organización debe realizar comprobaciones aleatorias
para comprobar si las contraseñas de cualquier usuario se pueden adivinar o descifrar.
Lab - Virtualizacion
¿Qué es la virtualización? La virtualización nos permite tener varias máquinas virtuales en una
misma computadora. Esto nos ofrece diversas ventajas, como el hecho de que si llegase a ocurrir algún
error o falla en una máquina virtual, este mismo no va a repercutir en las demás máquinas virtuales.
Pero, para poder utilizar una MV (máquina virtual), vamos a necesitar de un software que nos
permita crearlas y ejecutarlas. Es por ellos que usamos un hipervisor. Además, este software aísla el sistema
operativo y todos aquellos recursos asignados a las máquinas virtuales, permitiendo así una correcta
gestión de las mismas. Nos permite usar y redistribuir los recursos (como ser la CPU, la memoria, etc) entre
las MV.
En resumidas cuentas, un hipervisor nos permite gestionar las MV y su respectiva asignación de
recursos. Es por ello que se puede trabajar con diferentes sistemas operativos a la vez.
Hay dos métodos para la virtualización.
Podemos observar en la Figura 1, un hipervisor de tipo 1, que en realidad es el sistema operativo
(el único programa que se ejecuta en modo kernel) y su tarea es soportar varias copias del hardware actual,
conocidas como máquinas virtuales, así como se soportan los procesos en un sistema operativo. Entonces,
la máquina virtual que se ejecuta como un proceso de usuario y no puede ejecutar instrucciones
privilegiadas, ejecuta un sistema operativo que cree que se encuentra en modo kernel (a pesar de estar
en modo usuario), es lo que se conoce como modo kernel virtual.

Figura 1. Hipervisor Tipo 1. [2]


En la Figura 2 podemos apreciar cómo es un hipervisor de tipo 1.

Figura 2. Cuando el sistema operativo en una máquina virtual ejecuta una instrucción que sólo se puede
ejecutar en modo de kernel, se atrapa en el hipervisor si hay tecnología de virtualización presente. [2]
El otro tipo de hipervisor es el de tipo 2 (Figura 3) que es un programa de usuario que se ejecuta
en el entorno del sistema operativo que se ejecuta en el hardware, el cual se denomina sistema operativo
anfitrión. El sistema operativo que se ejecuta dentro del hipervisor se denomina sistema operativo
huésped como se muestra en la figura.

Figura 3. Hipervisor Tipo 2. [2]

Cabe aclarar, que las máquinas virtuales actúan de la misma forma que el hardware real. El
hipervisor es el encargado de brindarnos esa “ilusión”.
Para una mejor comparación de ambos visores, se puede observar la Figura 4.

Figura 4. Tipos de hipervisor. [1]

Antes mencionamos mucho las máquinas virtuales, pero no dimos ninguna definición exacta de
estas. Las MV nos ofrecen una rápida y buena solución al tener instalados nuevos programas de aplicación,
es decir, son un entorno que nos permiten simular un sistema de computación. Es como un “duplicado”
de una máquina física, pero con cierta limitación de recursos.
Pero, necesitamos un nexo que permita la comunicación entre el sistema operativo anfitrión y un
hipervisor, es para ello que está la paravirtualización.
Entonces, ¿qué es la paravirtualización?
Como se dijo anteriormente, es un método que le permite al software que se está ejecutando en
el sistema virtual, omitir la interfaz virtual y ejecutar operaciones del hardware real del sistema. Entonces,
el software que se está ejecutando en el entorno virtual, con la paravirtualización, accede a los recursos
reales.
Por lo tanto, esta técnica hace referencia a la comunicación entre el sistema operativo huésped y
el hipervisor, para que así mejore el rendimiento y la eficiencia.

También podría gustarte