B2 Tema 4 Teoría de SSOO Flashcards
¿Qué inconveniente tiene la PAGINACIÓN?
Que los Frames que no se ocupan por completo, se desperdician. Esto es FRAGMENTACIÓN INTERNA.
¿Como se controla la posición de los segmentos en memoria al usar SEGMENTACIÓN?
Con la Tabla de Segmentos.
Al colocar un segmento, se apunta la posición inicial (Base Address) y lo que ocupa (Limit).
Abstracción de dispositivos. ¿Que dos tipos hay?
Dispositivos de bloque → Es el que almacena la información en bloques de tamaño fijo. Que puede ser de 128 bytes hasta 1024 bytes. Son de acceso aleatorio. Los discos son de bloque.
Dispositivos de caracter → Es aquel que envía y recibe un flujo de caractéres. No puede utilizar direcciones ni operaciones de búsqueda. Son accedidos secuencialmente. Básicamente todo lo demás que no es un disco.
Algoritmos de planificación de procesos para la CPU:
YO PRIMERO (FCFS, NO APROPIATIVO)
NO TARDO (SJF, NO APROPIATIVO)
YA CASI (SRTF, APROPIATIVO)
VIP
ROUND ROBIN (APROPIATIVO)
MULTILEVEL QUEUE (APROPIATIVO)
1 → FCFS (First Come First Served) - No apropiativo
La CPU asigna los procesos en el orden de llegada.
También llamado FIFO
Ventajas:
- Sencillo de implementar (FIFO).
Desventajas:
- Mal tiempo de espera
- Efecto convoy. Los procesos largos, retrasan a los cortos.
- No válido para procesos interactivos.
2 → SJF (Shortest Job First) - No Apropiativo
Se supone que se ejecuta el proceso que requiere menos tiempo de la CPU
Ventajas:
- Optimiza el tiempo de espera
- Favorece los procesos orientados a E/S
Desventajas:
- Es costoso averiguar cuanto dura.
- Inanición de los procesos con rachas de CPU largas.
3 → SRTF (Shortest Remaining Time First) - Apropiativo
Primero al que menos tiempo de CPU le queda para acabar.
Versión apropiativa de SJF.
4 → Planificación por prioridades - Dos modalidades.
Primero el que tiene más prioridad.
A igual prioridad, se aplica FCFS.
Las prioridades pueden ser dinámicas.
5 → ROUND ROBIN - APROPIATIVO
Todos los procesos tiene el mismo tiempo de CPU. Este tiempo se llama “QUANTUM”.
Cuando acaba el quantum, se expulsa al proceso de la CPU.
La cola de preparados, se gestiona con FIFO.
Si el valor del quantum es grande, el algoritmo degenera en FCFS. Si es pequeño, genera sobrecarga.
6 → MULTILEVEL QUEUE - APROPIATIVO
Este algoritmo propone dividir la lista de procesos en varias colas.
¿Qué es MMU?
- Unidad de Gestión de Memoria.
- Traduce Direcciones lógicas(virtuales) a físicas.
- Es un hardware que gestiona el acceso a la memoria por parte de la CPU.
- Se usa tanto en Segmentación como en Paginación.
¿Con PAGINACIÓN, se puede usar parte del disco duro, como si fuera memoria RAM?
Si.
¿Qué tenemos en el modo Kernel?
- Executive Services (E/S, Memoria, Procesos, etc..)
- Drivers
- Micro Kernel
- HAL (Hardware Abstraction Layer)
Estados de un proceso:
- Nuevo: Cuando el proceso es creado.
- Preparado: El proceso está listo para ejecutar, solo necesita del recurso procesador.
- En Ejecución: El proceso tiene asignado un procesador y está ejecutando sus instrucciones.
- Bloqueado: El proceso está esperando por un evento de E/S.
- Terminado: El proceso finalizó su ejecución.
Componentes de gestión dentro del Kernel.
- Gestión de procesos (Planificadores)
- Gestión de memoria (paginación, segmentación)
- Gestión de Entrada/Salida (dispositivos)
- Gestión de Archivos/Almacenamiento
- Sistema de Protección (niveles de seguridad)
Clasificación de SO, por el número de usuarios..
Monousuario: Solo un usuario a la vez.
Multiusuario: Varios usuarios simultaneamente.
Algoritmos a corto plazo (Dispatcher)
Tipos de planificación de procesos:
Planificación NO APROPIATIVA (non-preemptive), que no puede echar a un proceso de la CPU:
- Algoritmos no expulsivos
- Los procesos se ejecutan hasta que terminan o se bloquean.
- Sencillo de implementar
- Rendimiento negativo en general.
Planificación APROPIATIVA, que si pueden echar a un proceso de la CPU.
- Algoritmos expulsivos.
- Los procesos pueden ser expulsados de la CPU.
- Mayor coste de implementación. Necesitan soporte hardware adicional (relojes).
- Mejora el servicio y evita monopolización de la CPU.
Clasificación del SO, por Nº de procesos o taréas:
- Monotaréa
- Multitaréa o Multiprogramación
¿En qué secciones o segmentos está dividido un proceso en memoria cuando va a necesitar memoria dinámica?
- Código (Text): Instrucciones del proceso.
- Datos (Data): Variables globales del proceso.
- Pila (Stack): utilizado para preservar el estado en la invocación anidada de procedimientos y funciones.
- Memoria dinámica (Heap): Memoria que se genera en tiempo de ejecución y que se adapta al tamaño requerido en cada momento.
¿Qué se guarda en el PCB o Bloque de Control de Proceso?
- Identificador de proceso PID, de proceso padre PPID y de usuario.
- Estado del proceso: preparado, en ejecución, bloqueado..
- Contador.
- Espacio de direcciones de memoria.
- Prioridad.
- Estadísticas.
- Propietario.
- Permisos.
Una vista de la tabla de Segmentación:
¿Qué es un proceso?
Es un programa en ejecución que necesita estar cargado en memoria y disponer de recursos (CPU, RAM, archivos, etc..).
Es una entidad activa.
¿Qué es la TLB?
Translation Lookaside Buffer
- Es una memoria cache, administrada por la MMU.
- Guarda las traducciones entre las direcciones lógicas y las físicas.
¿Que es el CONTEXT SWITCH?
Se le quita a la CPU un proceso en ejecución y se le asigna otro en estado “preparado”.
Esta operación se realiza mediante un componente llamado Dispatcher o Planificador a corto plazo. Para ello se usa el PCB de cada proceso.
Di tres puntos de Comunicación/Sincronización de procesos (concurrencia).
1- Memoria Compartida. Necesita un mecanismo de sincronización externo. La comunicación la llevan a cabo los procesos.
2- Paso de mensajes. La comunicación y sincronización es por parte del SO. Los procesos solo usan dos llamadas: Send y Receive.
3- Canalizaciones (tuberías). Con nombre o sin nombre.
Para la sincronización, podemos usar Semáforos y Monitores
Para garantizar el acceso concurrente con exclusión mutua, ¿Qué algoritmos existen?
- Dekker
- Peterson
- Eisenberg - McGuire
- El de la panadería de Lamport
Di interfaces gráficos de Windows.
- Luna (XP)
- Aero (Vista y W7)
- ModernUI o Metro (W8, WPhone)
- Continum (W10)
- Fluent Design (W10)
- WinUI 3 (W11)
Tipos de asignación de espacio para ARCHIVOS.
Asignación Contigua → El directorio, tiene los nombres de los archivos, la dirección del bloque inicial del archivo, así como el tamaño total del archivo. Genera Fragmentación Externa. Como un tren.
Asignación Enlazada → Los directorios contienen los nombres de archivos y la dirección del siguiente bloque. No hace falta que estén contígüos. Como un Navegador
Asignación Indexada → En el directorio se guarda un bloque de indices para cada archivo, con apuntadores a todos sus bloques. Sacrifica varios bloques para esos apuntadores. Bueno para archivos grandes. Como las páginas amarillas
Para la sincronización de procesos,¿Qué dos herramientas tenemos?
Semáforos
Monitores
¿Qué es el Bloque de Control de Procesos?
PCB (Process Control Block)
Es una estructura de datos que se crea para cada proceso, con su descripción y otros datos. Cuando termina el proceso, su PCB se borra.