SS.OO. Flashcards

SISTEMAS OPERATIVOS (81 cards)

1
Q

ALGORITMOS DE REEMPLAZO

A

determinan qué página de memoria se reemplazará cuando se produce un fallo de página y se necesita traer una nueva página desde el disco
FIFO la página que lleva más tiempo es la primera en salir
LRU Least Recently Used se quita la página que hace más tiempo que no se accede
LFU Least Frequently Used se quita la página que menos veces se ha accedido
NRU Not Recently Used: mezcla de FIFO y LRU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

ASIGNACIÓN CONTIGUA

A

cada proceso ocupa un bloque contiguo de memoria. Produce fragmentación externa. Dificultad para reubicar procesos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ASIGNACIÓN ENLAZADA

A

cada bloque de memoria tiene un puntero al siguiente bloque lo que permite que los bloques de los procesos estén dispersos. Elimina la fragmentación externa. Acceso más lento y sobrecarga por los punteros

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

ASIGNACIÓN INDEXADA

A

se utiliza una tabla de índices para mantener un registro de las ubicaciones de los bloques de un proceso. Fácil reubicación de procesos pero requiere memoria significativa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

BUFFERING

A

“Área de memoria intermedia que almacena datos temporalmente mientras se transfieren entre dos dispositivos o procesos. Ejemplo: El vídeo que se carga por adelantado en YouTube para que no se corte si el internet fluctúa”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

CACHING

A

“Región de memoria rápida que almacena copias de datos que se usan con frecuencia. Evita acceder al dispositivo original (más lento). Ej. Un navegador guarda imágenes de una web en una caché para cargarla en otra ocasión de manera más rápida”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CICLO DE VIDA DE UN PROCESO

A

Nuevo: se está creando (cargando en memoria);
Preparado: en la cola esperando al scheduler le dé su turno;
En Ejecución: se ejecuta en el hardware;
Bloqueado: se detiene esperando un evento externo, volverá a estado Preparado
Terminado: el SO libera su memoria y recursos.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

COLAS

A

son estructuras de datos que el sistema operativo usa para organizar los procesos que están esperando algo, ya sea el procesador o un dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

CONTEXT SWITCH

A

capacidad que tiene la CPU para dejar de ejecutar un proceso y empezar a ejecutar otro de forma tan rápida que parece que ocurren al mismo tiempo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

DEVICE QUEUE

A

son las colas asociadas a cada dispositivo de entrada / salida. (procesos bloqueados esperando una operación para volver a la cola de preparados)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

E/S CONTROLADA POR INTERRUPCIONES

A

“la CPU envía la orden y continúa ejecutando otros procesos. Cuando el dispositivo termina envía una IRQ para avisar a la CPU que se detiene para ejecutar la ISR, transferir el dato y volver a lo que estaba haciendo
Elimina la espera activa y mejora la eficiencia del sistema”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

E/S MEDIANTE DMA (Direct Memory Access)

A

DMA accede directamente a la memoria sin molestar a la CPU “la CPU da la orden al controlador de DMA para que inicie la transferencia, la CPU se va a ejecutar otras tareas el DMA transfiere el dato a la memoria y envía una sola interrupción a la CPU cuando la operación ha terminado
Es el método más eficiente por que libera casi por completo a la CPU”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

E/S PROGRAMADA (POLLING)

A

es la CPU la que se encarga de la interrupción, mandando la señal al dispositivo y esperando en bucle a que el dispositivo termine con su tarea. (muy ineficiente, impide que la CPU realice otras tareas)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

FALLO DE PAGINA

A

interrupción que se produce cuando un programa intenta acceder a una página que no está cargada en la RAM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

FCFS

A

Algoritmo de planificación
First Come First Served: NO apropiativo. La CPU es asignada en el orden de llegada de los procesos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

FIFO

A

First in, first out: (algoritmo de reemplazo) la página primera en cargar en memoria, es la primera en salir. Simple de implementar, pero se pueden quitar páginas que se usen frecuentemente y dar fallos de página

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

FRAGMENTACION EXTERNA

A

espacios libres de memoria entre segmentos (se desperdicia memoria; Disco duro con huecos vacíos)
SOLUCIÓN: PAGINACION pero crea Fragmentación Interna

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

FRAGMENTACION INTERNA

A

espacio desperdiciado en una página si el tamaño del programa no es un múltiplo exacto del tamaño de la página
SOLUCIÓN: Segmentación Paginada (programa se divide en segmentos lógicos y éstos a su vez en páginas fijas de tamaño)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

HILO / THREAD

A

Es la unidad básica de uso de la CPU. Se representa mediante un TCB (Thread Control Block). Un proceso se compone de uno o más hilos. Permite realizar múltiples tareas a la vez

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

HIPERPAGINACION

A

se produce cuando el SO pasa más tiempo moviendo páginas entre el disco duro y la RAM que ejecutando programas (por fallos de página)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

HYPER-THREADING

A

nombre comercial que Intel da al Simultaneous Multithreading (un único núcleo físico aparezca ante el sistema operativo** como dos núcleos lógicos**). Ej una cpu con 4 núcleos puede trabajar como una con 8 hilos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

IRQ

A

“Interrupt Request: ** señal que envía un dispositivo de hardware a la CPU solicitando su atención**. Cada dispositivo suele tener asignado su propio número de IRQ, lo que permite al procesador identificar qué dispositivo está pidiendo ayuda”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

ISR

A

Interrupt Service Routine: fragmento de código que ejecuta el driver de un dispositivo en respuesta a una IRQ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

JOB QUEUE

A

Cola de trabajo. Se almacenan los procesos que están esperando para ser ejecutados. (Son los procesos nuevos en cola para ser cargados en memoria y pasar al estado preparado)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
KERNEL
es el núcleo del S.O. Primer programa que se carga al arrancar el ordenador. Es el puente entre el software y el hardware
26
LONG-TERM SCHEDULER
**Decide qué nuevos procesos se admitirán en el sistema operativo**. Se ejecuta cuando se crea un proceso nuevo
27
LRU
LEAST Recently Used: (**algoritmo de reemplazo**) se eliminan las páginas que menos se han usado recientemente (mejor rendimiento que fifo ya que deja las páginas más usadas)
28
MECANISMOS DE SINCRONIZACION DE PROCESOS
Exclusión mútua; Semáforos; Monitores; Variables de condición
29
MEMORIA VIRTUAL
"permite al SO tener más memoria de la físicamente disponible. Las páginas menos usadas se almacenan en el disco duro y se cargan en la RAM cuando son necesarias. La tabla de páginas mantiene un mapeo entre las direcciones virtuales y las direcciones físicas."
30
MICRONUCLEOS
"es un **núcleo muy pequeño** que proporciona solo las **funciones esenciales** para la gestión de procesos y la comunicación entre procesos. La **mayoría de funcionalidades** se ejecutan **en servidores**. Modularidad y portabilidad. Ej. **Minix y QNX**"
31
MID-TERM SCHEDULER & SWAPPING
Decide **qué procesos deben ser trasladados de la memoria principal al disco y viceversa**. Se ejecuta cuando la memoria está llena o un proceso bloqueado ha de ser reactivado
32
MMU
"Memory Management Unit: componente de **hardware dentro del procesador** que **traduce direcciones virtuales en direcciones físicas de la RAM** (permite que los programas utilicen más memoria de la físicamente disponible)" comunica los fallos de página
33
MULTIPROCESAMIENTO ASIMÉTRICO
**procesador principal (Master) se ocupa del SO** y el **secundario (Slave) ejecuta las tareas de usuario** que le asigna el master (más fácil de implementar; Master posible cuello de botella)
34
MULTIPROCESAMIENTO SIMÉTRICO
**todos los procesadores son iguales y actúan en conjunto** (modelo dominante). La concurrencia (acceso de varios procesadores a la misma información) puede ser compleja
35
MULTIPROGRAMACION
capacidad de un sistema operativo de ejecutar **múltiples programas de forma concurrente** (Hace referencia a tener cargados varios programas a la vez en memoria)
36
MULTITAREA
**caso específico de multiprogramación** que se enfoca en la experiencia del usuario, permitiendo que un usuario ejecute múltiples tareas al mismo tiempo (**concurrencia de procesos**)
37
NRU
**Algoritmo de reemplazo** "Not Recently Used: mezcla de FIFO y LRU. Usa dos bits asociados a cada página Bit R cuando se **accede a la página**. Bit M cuando se **modifica la página**. 00 no utilizada no modificada; 01 no utilizada Si modificada 10 Si utilizada no modificada; 11 Si utilizada Si modificada"
38
NUCLEOS HIBRIDOS
tienen un núcleo pequeño y eficiente que se encarga de las funciones más críticas del sistema, mientras que otras funciones se ejecutan como procesos en el espacio del usuario. Ej. **Windows NT y posteriores, Windows 10, 11** (las versiones anteriores eran monolíticos) y **macOS**
39
NUCLEOS MONOLITICOS
"un gran bloque de código que contiene todos los componentes del sistema operativo, desde la gestión de la memoria hasta los controladores de dispositivos la comunicación entre componentes es rápida. Ej. **Linux, Windows (en gran medida)**"
40
PAGINACION
la **memoria** se divide en **marcos de tamaño fijo** y los **programas** se dividen en **paginas del mismo tamaño** (512 o 8192 bytes). **Se elimina la fragmentación externa pero se crea Fragmentación Interna**: (la última página del programa puede dejar un trozo vacío en el marco último) Técnica adecuada para la gestión de la memoria virtual
41
PCB
Bloque de Control de Procesos. Es como la **ficha de identidad de un proceso**: PID; Estado del proceso; Contador del programa; Registros; Puntero a la pila; Tabla de páginas; Prioridad; Lista de recursos asignados **Los PCBs se agrupan en la Tabla de Procesos** que se ubica en la RAM
42
PLANIFICACION (ALGORITMOS) APROPIATIVOS
El sistema operativo puede interrumpir un proceso en ejecución en cualquier momento para ejecutar otro (algoritmos **expulsivos**): **SRTF** (shortest remaining time first) **Round Robin** **Multilevel Queue** **Por prioridades apropiativo**
43
PLANIFICACION (ALGORITMOS) NO APROPIATIVOS
un proceso comienza a ejecutarse, continúa hasta que finaliza o se bloquea voluntariamente (algoritmos **NO expulsivos**): **FCFS** (first come first served) **SJF** (shortest job first) **Por prioridades No apropiativo**
44
PLANIFICACIÓN POR PRIORIDAD
DOS modalidades (apropiativo y NO apropiativo). **Los procesos se ejecutan por la prioridad que tienen.**
45
POSIX
"PORTABLE OPERATING SYSTEM INTERFACE **conjunto de estándares que define una interfaz común para sistemas operativos UNIX.** Siguiendo las reglas POSIX se pueden hacer scripts, APIs, etc que funcionen igual de correcto en Linux, macOS o BSD"
46
PROCESAMIENTO POR LOTES (BATCH)
los trabajos se agrupan en lotes y se ejecutan de forma secuencial. Se procesa **un trabajo completo antes de pasar al siguiente**. Ej. Copias de seguridad
47
PROCESO
es un **programa en ejecución**. Es una entidad activa que **consume recursos** Necesita estar cargado en memoria
48
PROCESO HUERFANO
(MUERTO PERO NO ENTERRADO) es un proceso que **continúa en ejecución** después de que su padre haya finalizado (el proceso **init o systemd** se ocupará de él) **SI consume recursos**
49
PROCESO ZOMBI
es un **proceso terminado** pero que **conserva su entrada (PCB)** en la tabla de procesos (**No consume recursos**) Hay que matar al proceso padre
50
PROGRAMA
es una **entidad pasiva** que puede dar lugar a muchas **entidades activas (procesos)**
51
READY QUEUE
cola que contiene aquellos procesos listos para ser ejecutados y que esperan al scheduler para pasar al estado en ejecución
52
ROUND ROBIN
Algoritmo de planificación **Apropiativo**. A cada proceso se le otorga un tiempo de ejecución (**quantum**) y cuando termina ese quantum se expulsa de la cpu
53
SECCIONES
el **SO divide los procesos en secciones** para gestionarlos. Constan de: Texto (instrucciones en código máquina); Datos (variables del proceso); Memoría dinámica (Heap); Pila (stack) datos temporales
54
SEGMENTACION
Los programas se dividen en segmentos de **tamaño variable**. Se asigna la memoria de forma eficiente pero **crea fragmentación externa** (espacios vacíos en los que no se pueden poner nuevos programas)
55
SEGMENTACION PAGINADA
El **programa** se divide en **segmentos lógicos (de tamaño variable)**, y cada **segmento** se divide a su vez en **páginas de tamaño fijo**. Elimina la fragmentación externa. Cada página puede estar en un lugar de la RAM Segmentar el programa lógicamente y luego, cada uno de esos segmentos, dividirlo físicamente en páginas. para encontrar un dato en memoria hay que tener en cuenta: **S (Segmento)**: Identifica el bloque lógico (ej. el segmento de "Datos"). **P (Página)**: Identifica la página específica dentro de ese segmento. **D (Desplazamiento/Offset)**: La posición exacta dentro de esa página.
56
SHORT-TERM SCHEDULER & DISPATCHER
Decide **qué proceso en ejecución debe ser interrumpido y cuál debe comenzar a ejecutarse**. Se ejecuta cuando se interrumpe un proceso (termina o se agota el tiempo de quantum)
57
SIMULTANEOUS MULTITHREADING
"técnica de diseño de procesadores que permite que múltiples hilos de ejecución utilicen los recursos de un solo núcleo de CPU de forma simultánea (**un único núcleo físico** aparezca ante el sistema operativo **como dos núcleos lógicos**)" Intel: Hyper-Threading AMD: Simultaneous Multithreading
58
SISTEMA OPERATIVO
"software completo que permite a un usuario interactuar con un ordenador. **Funciones**: Gestionar recursos hardware. Interfaz usuario y hardware. Gestión de memoria. Control dispositivos. Llamadas al sistema **Componentes**: Interfaz de usuario (GUI -Graphical User Interface); Interprete de comandos (SHELL); Utilidades del sistema (programas para gestionar archivos) ; Librerias (funciones que los programas pueden usar)"
59
SJF
Algoritmo de planificación Shortest Job First: **NO apropiativo**. Primero el proceso que menos tiempo requiera.
60
SO MONOPROCESADOR
contiene una sola CPU que realiza todas las tareas ej: sistemas embebidos
61
SO MONOUSUARIO
un solo usuario pueda usarlo a la vez Ej. MS-DOS (versiones antiguas de Windows 95 y 98)
62
SO MULTIPROCESADOR
contiene dos o más CPUs que comparten la memoria principal y los dispositivos de E/S.
63
SO MULTIUSUARIO
permite que **varios usuarios** accedan al sistema **al mismo tiempo**. (Gestiona autenticación y recursos de varios usuarios). Ej. Linux, Unix, Windows Server, Windows 11, macOS
64
SPOOLING
Técnica donde los datos se envían a un dispositivo de almacenamiento masivo (como el disco duro) antes de llegar al dispositivo final (que es más lento). Ej. La **cola de impresión de una impresora**
65
SRTF
Algoritmo de planificación Shortest Remaining Time First: **Apropiativo**. Primero el proceso que menos tiempo le quede para terminar
66
TABLA DE PROCESOS
estructura de datos (array o lista enlazada) que **contiene una entrada por cada proceso**. Cuando un proceso se ejecuta, el SO le asigna un espacio de direcciones de memoria y lo añade a la tabla de procesos **SE ENCUENTRA EN LA RAM y cada entrada es un PCB**
67
TCB
Thread Control Block: es la estructura con la que el SO representa a un hilo; es el equivalente del PCB de un Proceso TCB-->ficha de un hilo PCB-->ficha de un proceso
68
TIEMPO COMPARTIDO (TIME SHARING)
el SO asigna intervalos de tiempo a cada usuario, cambiando muy rápido entre ellos que parece que todos lo están usando el sistema a la vez Ej. Servidores web y sistemas modernos de escritorio
69
TIEMPO REAL (REAL TIME)
Garantiza que las tareas se completen dentro de un plazo de tiempo muy estricto y predecible. Ej. Sistemas de control industrial, robótica…
70
TLB
Translation Lookaside Buffer: pequeña **cache de la MMU** que almacena las **traducciones recientes de virtuales a físicas**. Evita la búsqueda en tablas de páginas de la RAM (proceso más lento -> acceso aleatorio)
71
Algoritmos de planificación
**No apropiativos**: FCFS y SJF **Apropiativos**: SRTF, Por prioridades (versión apropiativa) y Round Robin
72
Concepto de planificación apropiativa = expulsivo
algoritmo que mejora el servicio y evita la monopolización de la CPU. Expulsa al proceso que estuviera. Algoritmos apropiativos: Round Robin, SRTF y Planificación por Prioridades (versión apropiativa)
73
Exclusión mutua (MUTEX)
Es el protocolo de sincronización que impide que dos o más procesos concurrentes accedan simultáneamente a un mismo recurso compartido o ejecuten un segmento de código denominado sección crítica (fragmento de código de un programa donde se accede a un recurso compartido que no puede ser utilizado por más de un proceso a la vez)
74
Algoritmos de exclusión mutua
Dekker Peterson Eisenberg-McGuire La panadería de Lamport
75
Banderas (flags)
Son variables booleanas (0/1) que indican el estado de un recurso o la intención de un proceso de entrar en su sección crítica
76
Semáforos
Es un mecanismo de sincronización basado en una variable entera protegida que solo se puede manipular mediante dos operaciones atómicas: wait (P) y signal (V).
77
Monitores
Es una estructura de alto nivel (propia de lenguajes de programación). Garantizan la exclusión mutua automática
78
Tuberías (pipes)
mecanismo de control de flujo (con nombre y sin nombre)
79
Interbloqueo o Bloqueo Mutuo (Deadlock)
situación en la que un **conjunto de procesos se bloquean permanentemente** porque **cada uno está esperando un recurso que tiene asignado otro** proceso del mismo grupo
80
Segmentación paginada
La programa se divide en segmentos lógicos de tamaño variable y cada segmento se divide en páginas de tamaño fijo. **Elimina** la fragmentación **externa** Pero **no elimina** la fragmentación **interna**
81
Concurrencia vs Paralelismo
Concurrencia (**software**): las tareas progresan **al mismo tiempo, pero NO se ejecutan en el mismo instante**. Basta con **un solo núcleo**. Es la ilusión que genera el context switch Paralelismo (**hardware**): **dos tareas** se ejecutan **al mismo tiempo**. Requiere de **MAS de un núcleo**.