SISTEMA OPERATIVO
ALMACENAMIENTO MASIVO ESTRUCTURAS
Disco Rigido
estructura
plato
forman los cilindros
almacena informacion magnetizada
brazo de lectura
cabezal de lectura/escritura
gira e intercambia posiciones del disco donde va a leer
tracks
sectores
tiempo de acceso aleatorio /
tiempo de posicionamiento
tiempo que tarda el brazo en moverse de un cilindro a otro
tiempo de busqueda
+
latencia rotacional
algoritmos de planificacion
movimientos de disco para acceder a la informacion
determinan cual es la situacion optima donde el cabezal se mueva menos veces segun una cola de solicitudes
tipos
FCFS
se atiende al primero que llega
SSFT shortest seek time first
el tiempo de búsqueda mas corto primero
se atiende al que esta mas cerca primero
SCAN
se mueve de extremo a extremo
hace un barrido completo
C-SCAN
va a un extremo y vuelve sin leer
llega solo hasta el ultimo cilindro solicitado
LOOK
se va a un extremo y vuelve leyendo
C-LOOK
se va a un extremo y vuelve sin leer
discos extraibles (diskettes)
cintas magneticas
back up
bancos
centros de datos
mucha informacion secuencial
economicas
duran muchisimo tiempo
difícil que la info se pierda
Disco de estado solido
caracteristicas
no genera vibraciones, porque no tiene rotacion de platos
accede inmediatamente a la informacion por medio de coordenadas
ventajas
son mas chicos y livianos
son mas resistentes
son mas veloces
no genera ruido ni vibraciones
mejoran el tiempo promedio entre fallas (MTBF)
duran mas que los discos magneticos
rendimiento constante y sin deterioro cuando se llena
no les afecta la fragmentacion
la info no esta distribuida en platos magneticos
es accesible directamente desde los chips
desventajas (VIEJAS)
costo
versiones de 3.5"
no es aconsejable almacenar informacion estatica
fotos
videos
musica
necesitan recibir energia constantemente
no se recupera la info ante una falla fisica
se altera la informacion
conexion
SATA
PCI Express
tecnologia de almacenamiento
memoria NAND Flash
componentes principales
controladora
procesador electronico que se encarga de unir la memoria NAND con los conectores de entrada/salida
cache
dispositivo de memoria DRAM
condesador
mantiene la integridad de los datos de la memoria cache el tiempo suficiente para que se puedan enviar a la memoria no volatil
tecnologias de construccion
forma de almacenar la información en la pastilla de silicio
cuanto mas cargada
1
cuanto menos cargada
0
se mantiene la carga energetica por mas tiempo y mantiene el valor de verdad
mediante TRIM
pilas de obleas de silicio apiladas con diferente condensación dependiendo el nivel
SLC (single level cell)
DOS estados
mas veloces
menos densas
consumo energetico minimo
mas caras de fabricar y mantener
MLC (multi level cell)
CUATRO estados
TLC(triple level cell)
OCHO estados
mayor capacidad de almacenamiento en menor espacio fisico
mas economicas
menos confiables
SSD DRAM
mucho mas rapidos
entrada/salida y grabacion
es una memoria volatil
la informacion se pierde cuando pierde la energia electrica
NAS (almacenamiento conectado a la red)
RAID ARREGLO RENDUNDANTE DE DISCOS INDEPENDIENTES
ventajas
redundancia
mediante una memoria intermedia
confiabilidad informacion redundante
MIRRORING metodo
tener la misma informacion en varios discos fisicos
STRIPING metodo paralelisto
distribuir la info entre los discos
nivel de bit
palabra
nivel de bloque
bandas de sectores
se accede a la info de manera PARALELA
mejora la confiabilidad y la velocidad
niveles
NO redundancia,
SI striping
0
caracteristicas
toma todos los discos fisicos como UN SOLO DISCO LOGICO
distribucion de info a nivel de BLOQUE
escribe los datos según el método de Round Robin
ventajas
funciona mejor con grandes peticiones
desventajas
funciona peor con SO que piden datos un sector a la vez
no hay paralelismo
no aumenta el rendimiento
la confiabilidad
con 20.000 hs promedio de fallas, una unidad fallara cada 5.000hs
mirroring
1
cada disco esta espejado
hay un original y una copia
distribuye la informacion a nivel de bloque
en escritura
cada bloque se escribe dos veces
el rendimiento es igual al de una única unidad
en lectura
se distribuye la carga entre las unidades
el rendimiento se duplica
striping y mirroring mediante paridad
2
arma las palabras mediante HAMMING
las unidades se sincronizan de forma rotacional
solo sirve con muchos discos
con 32 unidades de datos y 6 de paridad hay un 19% de sobrecarga
tiene un disco de paridad
3
genera la paridad a traves de bits
4
genera paridad a traves de bloques
no requiere unidades sincronizadas
5
distribuye la paridad a traves de los discos
usa Round Robin
no requiere unidades sincronizadas
se puede regenerar un disco mediante la paridad y la informacion de los demas discos
dos bits de paridad
6
agrega un bit de paridad
genera redundancia
si fallan HASTA DOS discos se puede regenerar la informacion
combinaciones
ejemplos
0+1
todo un conjunto de discos tendra su conjunto de discos como copia
1+0
toda la estructura es una estructura logica, donde cada disco tiene su espejo
solo la mitad del tamaño total del almacenamiento es información, la otra mitad es backup
solo se pueden combinar dos tipos
caracteristicas
SAN
(redes de areas de almacenamiento)
se conectan a la red a traves de arquitecturas propietarias
ventajas
mucho mas flexibles
mucho mas eficiente la asignacion de recursos
independiza los servidores del almacenamiento
conecta los servidores con el almacenamiento mediante una estructura de switchs
permite que el almacenamiento sea mas flexible
ARCHIVOS
almacenamiento a largo plazo
requerimientos
almacenar mucha informacion limitada
depende del tamaño de la memoria principal y virtual
la info debe ser persistente a la terminacion del proceos
varios procesos deben poder acceder a la info concurrentemente
se borra su información definitivamente (se sobrescribe la info)
Directorios
tipo especial de archivo
restriccion en la longitud de la ruta
operaciones
borrar
entrar
eliminar
ejecutar
FS - Sistema de archivos
características
extensiones
indica que tipo de archivo es
no tiene nada que ver el nombre con el uso del archivo
vision
lógica alto nivel
lo ve como un arreglo
física ligada a dispositivos
un archivo puede ocupar varios bloques del disco
lo ve como una matriz de bloques
metadatos
estan incuidos en el contenido del archivo
georreferenciación de una foto
atributos
informacion asociada al archivo que identifica el estado en un determinado momento
operaciones
set atributos
configura / modifica los atributos
append
abre el archivo y agrega info al final
open
solo se pueden abrir los archivos que creo el mismo usuario
borrar
cambiar el nombre
leer
crear
establece
forma en que se almacenan los archivos y directorios
correspondencia entre los archivos y dispositivos logicos
contiene
metodos de accesos a la informacion fisica
administracion
archivos
para que sean
almacenados
referenciados
asegurados
almacenamiento auxiliar
como se almacena la info en los discos fisicos
integridad del archivo
asegura que no se corrompan los archivos
posible distribucion del FS
disco completo
registro de booteo maestro
la bios lo lee y sabe que particiones estan activas y le da el control a la que tenga el SO
particiones
bloque de arranque
carga el SO
super bloque
parametros y claves
indica que tipo de FS tiene
administracion de espacio libre
nodos-i
directorio raiz
archivos y directorios
implementacion
asignacion contigua
se usan en cintas en los centros de backup
por cada archivo los agrupa en bloques consecutivos
desventaja
el archivo no puede crecer en el lugar original donde se cargo, se debe cambiar de lugar al final del disco
ventaja
recupera muy rápido la información
todo el archivo esta continuado
identificacion del archivo
bloque de inicio
extensión (cantidad de bloques del archivo)
asignacion de lista enlazada usando tabla de memoria
FAT / FAT32
OBSOLETO
tenia riesgos en la integridad de los datos por la MEMORIA VOLATIL
toda la estructura tiene que ser cargada en memoria
I-nodos
lista
atributos
direcciones de disco de los bloques que forman el archivo
lleva un registro de que bloque pertenece a cual archivo
solo necesita estar en memoria cuando el archivo esta abierto
requiere un arreglo en memoria con el tamaño proporcional a la cantidad de archivos que pueden estar abiertos a la vez
jouraling / BITACORA
mas moderno
lleva un registro de lo que el SO esta haciendo en un determinado momento
permite reiniciar el sistema y recuperar la integridad del archivo
ejemplos
linux
ext3
ext4
windows
NTFS
asignacion de lista enlazada
puntero al siguiente bloque
utilizacion del espacio
si el acceso es aleatorio, es lento
administracion
y
optimizacion
administracion del espacio en disco
en funcion al tamaño del archivo y los bloques del disco
registro de bloques libres
mecanismo de identificacion y acceso de los bloques libres
lista enlazada
mapa de bits
respaldo del FS
mediate
backup
cintas
vaciado físico
copia todos los bloques del disco en una cinta
vaciado lógico
copia solo los bloques elegidos por el usuario en una cinta
uso de RAID
consistencia y rendimiento del FS
consistencia
uso de alguna tecnica de IA para identificar los bloques que va a usar segun lo que uso antes
rendimiento
reduccion del movimiento del brazo en base a probabilidades
defragmentacion
re agrupar los bloques del mismo archivo para que sea mas eficiente su acceso
se reduce en los discos solidos
cuotas
a un usuario se le asigna un determinado espacio en disco
los usuarios tienen asignado un espacio en el servidor
mide la calidad del FS
FS Virtuales
forma de visualizar
con una letra y dos puntos --> D: , C:
usa el concepto de montar
se carga la informacion relacionada a un SOen una particion fisica en un directorio
abstrae la parte de los FS que son comunes en una capa para devolver la información sin importar como la administra
tipos
cliente
-
servidor
FTP file transfer protocol
protocolo de transferencia de archivos
un cliente mediante comandos se comunica con el servidor y transfiere y lee los archivos
NFS network file system
monta dentro de una estructura de directorios una estructura de directorios remota
mediante las llamadas de procedimiento remoto da la idea al usuario que esta usando la estructura remota como local
ejemplos
ext4
usa journaling
VMFS
para maquinas virtuales
ReFS
para servidores de archivos grandes
se encarga de controlar los archivos y directorios en un SO, esto incluye administracion y determinacion de los espacios dentro de un disco secundario. Se encarga de manejar el "enlace" logico entre los archivos
definicion
unidades lógica de información persistente creada por los procesos
agrupacion no volatil de informacion relacionada entre si bajo un mismo nombre
coleccion de informacion relacionada con un nombre que se graba en almacenamiento secundario
debe saber identificar cuales son los bloques libres en el disco
tienen formas para que los usuarios no vean datos de otros usuarios
VIRTUALIZACION
permite que una sola CPU tenga varias MV y que cada una ejecute un SO distinto
Hipervisores
capa de SWs que usa el HW real de una PC para crear maquinas virtuales y correr SO usando parte o todo el HW
son los unicos que se ejecutan en el modo kernel
tipo 1 motor de MV
ejemplos
KVM
Microsoft Hyper-V
VMware
se ejecuta directamente en el HW real
permite crear MVs y correr diferentes SO
administra y gestiona el HW que se comparte con la MV y el SO tiene acceso
es el sistema operativo hospedador
es el unico que se ejecuta en modo kernel
tipo 2
usa un SO ANFITRION
puede ser un SO de proposito general
se virtualiza un SO INVITADO sobre el anfitrion
se ejecuta como un programa de usuario normal
programa de usuario que se ejecuta e interpreta las instrucciones de maquina
Paravirtualizacion
metodo que modifica el codigo fuente del SO invitado de manera que ejecuta llamadas al hipervisor
el hipervisor debe definir una interfaz/API
conjunto de llamadas que los SO invitados pueden realizar
ventajas
ahorro en HW
cada aplicacion puede tener su propio entorno
es mucho mas facil usar puntos de comprobacion y migrar datos entre una MV y otra
se mueve la imagen de memoria y las tablas del SO
permite ejecutar aplicaciones heredadas de SO que ya no tienen soporte
maquina virtual
SO que se ejecuta sobre un hipervisor
puede emular el hw que necesita
SEGURIDAD
aspectos que debe abarcar
riesgo
potencial amenaza que si se activa tiene un impacto adverso en la organizacion
amenaza + vulnerabilidad + impacto
continuidad de negocio
continuidad organizativa, que no haya ningún riesgo informático que impida seguir funcionando como organización
mitigacion de riesgos
metodos que impiden ataques o vulnerabilidades que se encuentran dentro de las tolerancias del riesgo
politicas de seguridad
define las reglas y practicas que debe seguir un SO en una organización para el uso del sistema
define como la organización debe administrar y proteger todos los datos confidenciales
debe ser facil de entender
que tienen permitido hacer
que no tienen permitido hacer
objetivo
proteger los datos manteniendo la privacidad de los usuarios
caracteristicas que debe cumplir
accesibilidad del sistema
derechos de instalacion de SW en el sistema
permiso de acceso a datos
recuperacion ante fallas
todo lo que no esta permitido debe estar restringido
SW maliciosos
Rootkit
conjunto de SW que permite acceso de privilegio continuo a un ordenador
se mantiene oculto al control de los administradores
corrompe el funcionamiento normal del SO
Spyware
malware que recopila información de un computador
transmite información a una entidad externa sin el consentimiento del propietario de la CPU
Troyano
malware que parece un programa legitimo
al ejecutarse le brinda acceso remoto del ordenador a un atacante
Ransomeware
restringe el acceso a los datos
exige un rescate para liberar los datos
mecanismos de autenticacion
contraseña
el cliente solicita al usuario el ingreso de una contraseña que es enviada al servidor
desventajas
el usuario debe tipear la contraseña cada vez que se conecte al servidor
la contraseña del usuario es enviada al servidor
biométrica
verifica la identidad de un sujeto usando las caracteristicas unicas de su cuerpo
SISTEMAS
DE
MULTIPROCESADORES
se usan para
analisis de datos
seguridad
astronomia
medicina
BIBI
blockchains
inteligencia artificial
big data
internet de las cosas
biologia
simuladores
criptografia
limitaciones fisicas
limitan la potencia de calculo
una señal de 10, 100 o 1000 GHz no se puede hacer un ciclo de reloj en 2cm 2mm o 100 micrones
Luz 30cm/nseg
FC 20cm/nseg
tipos
MULTICOMPUTADORAS
CON
PASO DE MENSAJES
caracteristicas
CPU con acoplamiento fuerte
no comparten memoria
se conectan mediante una red de alta velocidad
COWS cluster de workstation
todos los nodos tienen que correr el mismo SO
usa memoria compartida y distribuida en todos los nodos
uno de los nodos maneja toda la información de la configuración global
usa llamadas a procedimientos remotos RPC
se usan para ejecutar procesos en otros nodos dentro de la red
se usan para aplicaciones que requieren mucha potencia de calculo
los estados pueden crecer de manera exponencial
software de comunicacion de bajo nivel
nodo basico
hardware
topologias de interconexion
mediante
cables
fibra optica
tipos
estrella
MAS USADO
la version extendida
simulando un arbol
un switch en el centro con varias computadoras conectadas
anillo
permite conectar a cada nodo con el siguiente
rejilla
version extendida de estrella
doble toroide
cubo
hipercubo 4D
nodo
partes
CPU
memoria
parte de usuario
SO
placa de red
mediante un switch se conecta a los demas nodos
SISTEMA DISTRIBUIDO
coleccion de procesadores
no comparten memoria
estan debilmente acoplados
se comunican a traves de redes de comunicacion
buses de alta velocidad
lineas telefonicas
cada nodo
computadora completa
pueden estar esparcidos a nivel global
puede tener su propio SO
entre nodos
se ven como computadoras remotas
no tienen acceso entre si
pueden tener uniformidad mediante un SW
MIDDLEWARE
se usan para
economia
velocidad de computación/calculo
confibilidad
crecimiento incremental / escalabilidad
ejemplos
blockchains
BitTorrent
internet
HW de red
IP
TCP
UDP
DNS
Tipos
SO de RED
entorno donde los usuarios son consientes de la existencia de otras maquinas
se puede acceder a las demas maquinas mediante acceso remoto
SO distribuido
los usuarios acceden a los recursos remoto como si fueran locales
se usan en entornos académicos donde el control se hace a través de una red
se adaptan los algoritmos de planificación
ejemplos
MULTIPROCESADORES
CON
MEMORIA COMPARTIDA
dos o mas CPU comparten el acceso a una RAM comun
una CPU puede escribir un valor en una palabra de memoria y volver a leer la misma palabra con otro valor (porque otra CPU lo cambió)
base de la comunicacion entre procesadores
SO de proposito general
velocidad de acceso a memoria
UMA uniform memory access
arquitecturas
Basada en BUS
un solo bus sin cache
un bus comunica uno o mas módulos de memoria con una o mas CPU
ESTA EN DESUSO
cada CPU verifica si el bus esta libre para usarlo
en un ciclo
1
la CPU coloca la dirección de palabra de memoria en el bus
2
declara señales de control
3
espera que la memoria coloque la palabra deseada en el bus
problemas
varias CPU pueden pedir leer un mismo lugar
el bus se convierte en un cuello de botella
soluciones
1era
cache de 1er nivel
una cache para cada CPU
2da
caches de 1er y 2do nivel (memoria compartida)
la cache de 2do nivel debe estar en consistencia con la memoria principal
la memoria compartida solo se usa para escribir variables compartidas
Interruptores de barras cruzadas
la interconexión entre las CPU y las memorias forman una MATRIZ
en los puntos de intersección se encuentran los INTERRUPTORES
ventajas
todas las CPU tienen acceso a la memoria cuando la necesitan
se reduce el cuello de botella en un factor de n.
desventajas
la cantidad de puntos de intersección aumenta en 2^n
complejidad electrónica
solo se pueden conectar hasta 100 CPU
Redes de comunicación multietapa
usa un conmutador
conecta varias CPU con varios módulos de memoria
mensajes
4 partes
memoria que usa
direccion dentro del modulo de memoria
operacion que va a realizar
operador
palabra a escribir
NUMA non-uniform memory access
características
cada nodo
CPU
memoria local
directorios
acceso a la memoria remota
se hacen a traves de kernel
LOAD
STORE
permite conectar mas de 100 CPU
un solo espacio visible para todas las CPU
tiempo de acceso a memoria remota > tiempo de acceso memoria local
chips multinúcleo multiprocesadores a nivel de chip
pastillas con mas de dos CPU completas
las CPU siempre comparten la memoria principal
proceso de Snooping
si una CPU modifica una palabra, se renueva automaticamente en todas las cache para mantener la consistencia
ventajas
gran tolerancia a fallos
pueden ser de proposito especial
decodificadores de audio
interfaces de red
criptoprocesadores
software
tipos
cada CPU tiene su propia copia SO
NO ES MUY USADO
división estática de la memoria
cada CPU trabaja como una computadora independiente
comparten el SO
tiene copia privada de la estructura de datos del SO
Maestro - Esclavo
NO ES MUY USADO
una CPU es el maestro
las demas CPU son los esclavos
cuando hay una CPU inactiva se solicita al maestro reactivarla
se usa para pequeños multiprocesadores
Simétricos (SMP)
elimina la simetria
hay una copia del SO en la memoria compartida
todas las CPU pueden ejecutarlo
elimina el cuello de botella
cada CPU tiene su propio bloqueo de la sección critica
todas las CPU usan un mismo bus
sincronización de multiprocesadores
los procesos se encolan y bloquean entre si para entrar a la sección critica
planificación de multiprocesadores
debe resolver
que hilo ejecutar
en que procesador
en que orden se va a ejecutar
tipos
tiempo compartido
ordena segun la prioridad de los hilos
existen 32 con mayor prioridad
bloquea la cola y SELECCIONA el hilo con mayor prioridad
comienza a ejecutar el hilo a medida que la CPU se libera
si dos hilos tienen la misma prioridad se encolan
SE EJECUTA EL QUE LLEGA PRIMERO
espacio compartido
se agrupan los hilos de un mismo proceso que se pueden ejecutar en paralelo
generan lotes de CPU
a cada hilo se le proporciona una CPU libre
hilo se bloquea
la CPU queda retenida en ese hilo
si hay CPUs libres
se les proporcionan a los hilos relacionados
si NO hay CPUs libres
los hilos no inician hasta que se libere la cantidad necesaria de CPU
acoplamiento del nodo
entre la CPU y la memoria principal
reducir el calor generado por la miniaturización mediante la interconexión de procesadores
se debe mejorar
sincronización
comunicación
SISTEMAS
EN
TIEMPO REAL
SISTEMA INTEGRADO
dispositivo que forma parte de un sistema de mayor tamaño
control de estabilidad de un auto
reconocimiento de imagenes
frenado automatico
su presencia no suele ser obvia para el usuario
sistema de seguridad critico
una operación incorrecta puede provocar una catastrofe
clasificacion
estricta
tiene que completar un proceso en un tiempo determinado
no estricta
se limitan a que las TR tengan mayor prioridad y la retengan
los procesos estan clasificados segun la prioridad
ejemplos
VXWORKS
LynxOS
SPECTRA
MQX RTOS
QNX RTOS
caracteristicas
generales
construidos para aplicaciones especificas
requiere que los datos sean calculados correctamente en un periodo especifico de tiempo
diseño
unico proposito y simples
pequeño tamaño
bajo costo y produccion en masa
temporizacion especifica
inicia y termina en un tiempo especifico
determinismo, sensibilidad, confiabilidad, tolerancia a fallos
especiales
audio y video
se debe mantener
calidad
estabilidad
minimo retardo
cantidad de flujo de informacion continua
una persona puede procesar entre 24 y 30 imagenes por segundo como continuidad
ejemplos
reproduccion local en un TV
streaming
descargfa progresiva
flujo en vivo
flujo a la carta
Netflix
implementación
aspectos a tener en cuenta
planificacion apropiativa basada en prioridades
asigna la CPU al proceso en tiempo real que la necesite
kernel apropiativo
hace un cambio de contexto entre el proceso de mayor prioridad y el que se esta ejecutando de menor prioridad
estrategias
insertar puntos de desalojo (intervalos de tiempo)
cada cierto intervalo de tiempo comprueba si hay procesos con mayor prioridad
mecanismos de sincronizacion
cualquier dato que modifique esta protegido
latencia minimizada
tiempo que transcurre entre la solicitud de ejecución del proceso y la asignación de la CPU
algoritmos de planificación
por prioridad
monótona en tasa
planifica las tareas periódicas según la prioridad estática con apropiación
política
cuanto mas corto es el tiempo de ejecución mas alta es la prioridad
considera que la tarea mas corta es la que se ejecuta mas amenudo
ejemplo
RTLinux
finalizacion de plazo EDF
asigna dinámicamente las prioridades según cuando termina
cuanto menor es el plazo mayor es la prioridad
política
informa el plazo de tiempo de ejecución que necesita
cuota proporcional
asigna tiempo en cuotas a los procesos
cuanto mayor sea el tamaño de la cuota mayor es el uso de la CPU
los procesos de TR tienen mayor cantidad de cuota
acepta procesos sin cuotas asignadas con anterioridad solo si hay cuotas suficientes
Pthread
proporciona extensiones API para hilos en tiempo real
tipos
SCHED_FIFO
el hilo con mayor prioridad al principio sera el primero en ejecutarse
SCHED_RR
tiene una distribucion de franjas temporales entre los hilos de igual prioridad
diferencia entre un SO DE PROPOSITO GENERAL y uno en TIEMPO REAL
DETERMINISMO QUE HAY PARA EJECUTAR LOS PROCESOS
ENTRADA / SALIDA
dispositivo que se conecta con el exterior del SO
MAS IMPORTANCIA
que el procesamiento
niveles
1
aplicaciones de usuario
requerimientos
tener conectado
mouse
teclado
mostrar info por pantalla
2
interfaz /
mecanismo de abstracción
entre
dentro de
3
administrador de red
placa de red
puede tener
sistemas de archivos
disco rigido
directorios
4
mecanismos de optimización
cache
5
drivers de dispositivos
6
dispositivos de entrada / salida
manejar
errores
debe poder
emitir
comandos
captar
interrupciones
categoritas
bloque
disco rigido
se almacena la informacion en bloques
caracter
teclado
seriales
sin categoria
smartwatch
asistentes de vos
sensores
hardware
IDE EIDE
SATA ATA
SCSI / ultra SCSI
FC FIBER CHANNEL
hot swap
se pueden desconectar sin apagar
tiene mas tasa de transferencia
SAS SERIAL ATACHED SCSI