Mind map
Sistema Operativo

Mapa mental: sistema operativo
Map content
Sistema Operativo
Por donde empezar?
- SO
- ¿Que es ?: Es un programa que actua como intermediario entre el hardware y el usuario
- Es quien asigna los recursos del sistema a los otros programas
- Es quien ayuda a crear una contingencia a problemas que otros software puedan provocar
- Características del SO Estructuras del SO
- Interfaz de usuario
- Command Line
- GUI
- Batch
- Ejecución de programas
- Operaciones I/O
- Manipulación de archivos
- Detección de errores
- Protección y seguridad
- Interfaz de usuario
- Kernel
- Núcleo del sistema operativo
- Bootstrap
- Programa almacenado en la ROM que inicializa todos los aspectos del sistema operativo y el kernel
- Debug
- Es mas difícil encontrar bugs que programar
- SO
Unix
- Linux
- FreeBSD
- Variante de unix
Llamadas al sistema
- Parametros
- Registros
- Tablas
- Stacks
- Tipos
- Control de procesos
- Manejo de archivos
- Manejo de dispositivos
- Mantener la info
- Comunicación
- Potencia
- Programas de sistema
- Control de procesos
- Son solicitudes que llegan al sistema para completar requerimientos de I/O Son accesadas a travez de API's, lenguajes de alto nivel
- Parametros
Diseño
- Depende de las necesidades
- Objetivos
- Del usuario
- Del sistema
- Implementación en C, C++, Asembler
- Estructuras
- Simple: Todo en uno
- Por capas: Nivel en anillos (Modular)
- Microkernel: mensajes
- Módulos: Linux
- Hibridos: Todo conectado usando secciones de código (Actuales, Monolítico)
Hilos
- Unidad fundamental de la utilización del CPU Similar a un proceso pero más barato
- - Código + Eficiencia
- Beneficios
- Responsivo
- Compartir recursos
- Economía
- Paralelismo
- Datos
- Tareas
- Ley de Amdahl: Medir eficiencia con paralelismo 1/(s+((1-s)/(n)))
- Concurrencia
- Tipos
- Usuario (Programador)
- Java Threads
- POSIX
- Kernel (SO)
- Muchos a uno
- Uno a uno
- Muchos a muchos
- 2 niveles
- Usuario (Programador)
- Threadpools: Más rápidos
Procesos
- Es un programa en ejecución que se ejecuta de forma secuencial
- Partes
- Código
- Recursos
- Stack
- Data
- Heap: Memoria dínamica
- Programa es una entidad pasiva Proceso es una entidad activa
- Estados
- Nuevo
- Corriendo
- Esperando
- Listo
- Terminado
- PCB
- Información detallada del proceso
- Partes
- PID
- Estado
- Contador
- Registro CPU
- Calendarización
- Memoria
- Info estandar
- Estatus I/O
- Tipos
- I/O
- CPU
- Creación
- Fork - Exec
- Padre - Hijo
- Comunicación
- Mensajes
- Memoria Compartida
- Sincronización
- Condición de carrera
- Sección crítica
- Semáforos
- Deadlock
- Características
- Exclusión Mútua
- No Expropiación
- Mantener y Esperar
- Espera círcular
- Estrategias
- Evitar
- Alterar Condiciones
- Tener cuidado
- Instancia - Gráfo
- Instancias - Banquero
- Solucionar
- Avalible
- Max
- Allocation
- Request
- Nada
- Es costoso
- Evitar
- Características
- Soluciónes
- Calendarización
- Elige quien se ejecuta CPU (Burst) - I/O
- Corriendo - Espera
- Corriendo - Listo
- Espera - Listo
- Objetivos
- Uso de la CPU al max
- Throughput: # procesos/tiempo
- Turnaround time: Tiempo proceso
- Waiting Time: Al entrar a una cola
- Response time
- Algoritmos de Calendarización
- First Come First Served
- Shortest Job First
- Prioridades
- Round Robin
- Inanición :(
- Multinivel de colas
- Hilos
- Movimiento Push - Pull Colas
Memoria
- Principal
- Random Access Memory
- El cache esta entre principal y registros CPU
- Registro responde a ciclo de control
- + Velocidad -Almacenamiento
- Asigna espacios de memoria a los procesos
- Protección por Hardware
- MMU
- Binding Address
- El programa ve una posición, pero es otra
- Memoria Fisica
- Memoria Lógica
- Lo que ve el programa
- Generadas por CPU
- Puede ocurrir en tiempo de
- Compilación
- Carga
- Ejecución
- Dirección de espacio
- Binding Address
- Swapping
- Proceso sale temporalmente de la memoria para usar despues
- Costo es grande
- Cambio de contexto
- Móviles: no es común
- Problema de almacenamiento-posicionamiento dinámico
- First-Fit
- Best-Fit
- Worst-Fit
- Fragmentación
- Externa
- Compactación
- $$
- Sólo si esta ubicado dinámicamente en tiempo de ejecución
- No es contiguo
- Compactación
- Interna
- Se asigna más del que se necesita
- Siempre se busca la menor fragmentación
- Externa
- Segmentación
- Tabla
- Registro base
- Longitud de registro
- Protección
- Paginación
- La más usada
- Tablas
- TLB
- 2 Niveles
- Hash
- Invertida
- Páginas
- Virtual
- Separación de la memoria lógica de usuario y la física
- Fallos de página
- Referencia a pag que no está cargada
- Lazy swapper: Solo cambia hasta que se necesita
- Instrucciones
- Bit de validación
- Reemplazo de página
- Previene solapamientos en memoria
- FIFO
- Óptimo
- LRU
- Local
- Global
- Trashing
- Volatil: Agiliza operaciones No-Volatil Almacena Información
- Principal
Almacenamiento Masivo
- Almacenamiento Secundario
- Removibles; I/O Bus
- ATA
- SATA
- USB
- SCSI
- Removibles; I/O Bus
- Cintas magnéticas
- Tiempo acceso: Lento
- "Permanentes"
- Backup o Transferir
- Arreglo 1-Dimensional
- Flash
- -Capacidad +Rapido
- SSD
- Mas $$/MB
- Calendarización
- Minimizar tiempo de busqueda
- Peticiones
- FCFS
- SSFT
- Scan
- C-Scan
- C-Look
- Manejo del disco
- Formateo 512
- Tabla de Partición
- Boot Block
- Manejo de archivos
- RAID (0 - 5)
- Para prevenir daños se puede usar Checksums
- Almacenamiento Secundario
Sistema de Archivos
- Abstracción para el usuario de los archivos en memoria
- Archivo: Tipo de dato mas pequeño
- Manejo
- Tabla de archivos abiertos
- Contador
- Apuntador
- Localización
- Permisos
- Nombre Identificador Tipo Localización Tamaño Protección Tiempo/Fecha
- Crear Leer Escribir Reubicar Borrar Truncar Abrir Carrar
- Atributos
- Operaciones
- Multiples Tipos
- Manejo
- Acceso
- Secuencial
- Directo
- Directorios
- Un nivel
- Uno para todos
- Dos niveles
- + Usuarios
- Arbol
- Más usado
- Ciclico o no
- Busqueda Eficiente
- Comandos
- Un nivel
- Punto de montura
- Implementación
- Sistema de archivos virtual
- Abstracción
- Directorio
- Lista lineal
- Tabla hash
- Colisiones
- Guardar archivos
- Lista
- FAT
- Indexado
- Rendimientdo - Tipo de acceso
- Espacio Libre
- Arreglo
- Lista
- Cache
- Recuperamiento
- Journaling
- Sistema de archivos virtual