B2-T4_ Sistemas Operativos Flashcards

1
Q

¿Qué es POSIX?

A

POSIX (Portable Operating System Interface, y UNIX) es una norma escrita por la IEEE. Dicha norma define una interfaz estándar entre el sistema operativo y los programas de utilidades comunes para conseguir la portabilidad de las aplicaciones a nivel de código fuente.

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

¿Qué diferencia hay entre multitarea y multiprogramación?

A

Multitarea, hay varios procesos ejecutándose concurrentemente.

La multiprogramación es la capacidad de cargar varios programas en memoria principal para que se puedan ejecutar secuencialmente.

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

¿Qué es un sistema operativo Monolítico?

A

Sistemas operativos que se caracterizan por implementar en el núcleo los cuatro componentes fundamentales del sistema operativo,
1. planificación de procesos
2. la administración de la memoria principal
3. la administración de ficheros
4. gestión de los dispositivos de entrada/salida

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

Fragmentación externa:

A

En la memoria del sistema la fragmentación se produce cuando los procesos asignados han ocupado posiciones no contiguas de memoria dejando demasiados bloques libres de pequeño tamaño, en los que no “caben” nuevos procesos.

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

¿Qué es la tabla de segmentos?

A

Cuando los programas se almacenan en la memoria con segmentos de tamaño variable la tabla donde se traducen direcciones lógicas a direcciones físicas de memoria. Se compone de la dirección de inicio del paquete de memoria y de su longitud.

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

¿Qué es la paginación?

A

Dividir el programa en bloques de tamaño fijo (páginas), dividir la memoria en zonas de tamaño fijo (marcos) ubicar las páginas en marcos libres. El último marco no se ocupa del todo porque el último trozo de programa es más pequeño que el marco y deja un espacio libre en la memoria. Esta pérdida de espacio en un marco es lo que se llama fragmentación interna.

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

¿En que consiste el algoritmo de remplazo FIFO para sustitución de bloques en memoria principal?

A

El algoritmo reemplaza la página que lleva más tiempo en memoria principal

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

¿En que consiste el algoritmo de remplazo LRU para sustitución de bloques en memoria principal?

A

(Least Recently Used) Este algoritmo asocia a cada página el tiempo en que fue referenciada. La página elegida por el algoritmo
de reemplazo será la que fue accedida hace más tiempo

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

¿En que consiste el algoritmo de remplazo NRU para sustitución de bloques en memoria principal?

A

NRU (Not Recently Used) En este algoritmo a las páginas se les asigna un bit de referencia y otro de modificación. El bit de referencia se enciende cada vez que se lee la página, mientras que el de modificación solo se enciende cada vez que se escribe. Cada cierto tiempo el bit de referencia es apagado. Cuando una página debe ser reemplazada, el sistema operativo divide las páginas en cuatro categorías:
0: No referenciada, No modificada Categoría
1: No referenciada, modificada Categoría
2: referenciada, No modificada Categoría
3: referenciada, modificada

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

¿Cuáles son los estados de un proceso en la ejecución del so?

A
  • Nuevo: Cuando el proceso es creado.
  • En Ejecución: El proceso tiene asignado un procesador y está ejecutando sus instrucciones.
  • Bloqueado: El proceso está esperando por un evento (que se complete un pedido de E/S o una señal).
  • Preparado: El proceso está listo para ejecutar, solo necesita del recurso procesador.
  • Terminado: El proceso finalizó su ejecución.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cómo son las transiciones de los procesos?

A
  • Nuevo -> Preparado: el SO está preparado para admitir un proceso más.
  • Preparado -> Ejecución: el planificador escoge un proceso para la ejecución.
  • Ejecución -> Preparado: el proceso en ejecución es interrumpido y expulsado del procesador porque ya ha
    consumido su tiempo asignado o porque otro proceso de mayor prioridad está esperando.
  • Ejecución -> Bloqueado: el proceso abandona voluntariamente la CPU y espera a un evento externo.
  • Bloqueado -> Preparado: finaliza el evento que estaba esperando el proceso y pasa al estado preparado.
  • Ejecución -> Terminado: el proceso termina su ejecución (terminación normal).
  • Preparado/Bloqueado -> Terminado: el proceso es eliminado (terminación anormal).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es lista de procesos del sistema (job queue)?

A

Esta será una lista especial, porque los procesos que están en ella no esperan por nada en particular, sino que es la lista de todos los procesos del sistema. Al crearse un nuevo proceso se agrega el PCB a esta lista. Cuando el proceso termina su ejecución es borrado.

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

¿Qué es Cola de procesos listos (ready queue)?

A

Esta cola se compondrá de los procesos que estén en estado listo. La estructura de esta cola dependerá de la estrategia de planificación utilizada. Son los procesos “preparados”

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

¿Qué es Cola de espera de dispositivos (device queue)?

A

Los procesos que esperan por un dispositivo de E/S
particular son agrupados en una lista específica al dispositivo. Cada dispositivo de E/S tendrá su cola de espera, por lo que existirán varias device queue. Son los proceoss bloqueados.

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

¿Qué es el problema de la “inanición” en la gestión de hilos o procesos?

A

Un proceso/hilo espera indefinidamente paraentrar a la sección crítica.

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

¿Qué es el problema de interbloqueo en la gestión de hilos?

A

Interbloqueo: es una situación de reciprocidad en elacceso a recursos múltiples.
Un conjunto de procesos está interbloqueado cuando cada proceso está esperando por un recurso que está siendo usado por otro proceso del conjunto.

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

¿Con que protocolos se pueden evitar los problemas de intebloqueo, inanición y en el acceso concurrente con exclusión mutua de hilos o procesos al procesador?

A
  1. Dekker
  2. Peterson
  3. Eisenberg
  4. McGuire
  5. El de la panadería de Lamport
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué algoritmos de planificación hay a corto plazo?

A
  • Planificación no apropiativa (non-preemptive):
  • Algoritmos no expulsivos.
  • Los procesos se ejecutan hasta queterminan o se bloquean.
  • Sencillo de implementar.
  • Rendimiento negativo en general.
  • Planificación aproviativa (preemptive):
  • Algoritmos expulsivos
  • Lo sprocesos 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.
19
Q

Algoritmos de planificación de ejecución de procesos:

A
  1. FCFS (First Come First Served) = Primero llegado Primero servido
    2.- SJF (Shortest Job First) =Trabajo más corto primero
    3.- SRTF (Shortest Remaining Time First) =Tiempo restante más corto primero
    4- Planificación por prioridades –
    5.- Round Robin
    6.- Multilevel Queue
20
Q

De los 3 tipos de asignación de espacio en disco duro (Asignación Indexada, Enlazada y Contigua), explica la Contigua:

A

Cada directorio contiene a los nombres de archivos y la dirección del bloque inicial de cada archivo, así como el tamaño total de los mismos. Por ejemplo, si un archivo comienza en el sector 17 y mide 10 bloques, cuando el archivo sea accedido, el brazo se moverá inicialmente al bloque 17 y de ahí hasta el 27. Si el archivo es borrado y luego creado otro más pequeño, quedarán huecos inútiles entre archivos útiles, lo cual se llama fragmentación externa.

21
Q

De los 3 tipos de asignación de espacio en disco duro (Asignación Indexada, Enlazada y Contigua), explica la Enlazada:

A

Con este criterio los directorios contienen los nombres de archivos y por cada uno de ellos la dirección del bloque inicial que compone al archivo. Cuando un archivo es leído, el brazo va a esa dirección inicial y encuentra los datos iniciales junto con la dirección del siguiente bloque y así sucesivamente. Con este criterio no es necesario que los bloques estén contiguos y no existe la fragmentación externa, pero en cada “eslabón” de la cadena se desperdicia espacio con las direcciones mismas. En otras palabras, lo que se crea en el disco es una lista ligada. Un sistema de asignación como este es el FAT.

22
Q

De los 3 tipos de asignación de espacio en disco duro (Asignación Indexada, Enlazada y Contigua), explica la Indexada:

A

En este esquema se guarda en el directorio un bloque de índices para cada archivo, con apuntadores hacia todos sus bloques constituyentes, de manera que el acceso directo se agiliza notablemente, a cambio de sacrificar varios bloques para almacenar dichos apuntadores. Cuando se quiere leer un archivo o cualquiera de sus partes, se hacen dos accesos: uno al bloque de índices y otro a la dirección deseada. Este es un esquema excelente para archivos grandes pero no para pequeños, porque la relación entre bloques destinados para índices respecto a los asignados para datos es incosteable. El inodo de Linux de este tipo de sistemas.

23
Q

Cualquier dato o instrucción para ser ejecutado hay que cogerlos del Disco Duro y ubicarlos en la RAM para que la CPU los ejecute.
¿Cuáles son los 3 puntos a tener en cuenta para este proceso HDD -> RAM?

A

a) Que quepan el mayor número de procesos.

b) Aprovechar la memoria al máximo (no huecos libres).

c) Separación entre direccionamiento físico y lógico para no saturar los recursos hardware.

*MMU: (Unidad de Gestión de Memoria) es una parte de la circuitería de la CPU que se encarga de que exista esta separación físico/lógica.

NOTA: al ubicar el programa en memoria hay que segmentarlo (CS, SS o DS).

24
Q

Al ubicar el programa en la memoria RAM hay que segmentarlo.
Define este proceso:

A

1º Dividir el programa en segmentos variables: text (segmentos de código), data, stack, … en los diferentes registros:
CS: segmento de Código.
SS: segmento de Stack (pila).
DS: segmento de Datos.

2º Ubicar dichos segmentos en una zona libre y contigua de la memoria.

NOTA: esta segmentación produce Fragmentación EXTERNA cuando el trozo del segmento es más pequeño el hueco de la memoria.
Esto relentiza la lectura de la misma, así que habría que DESFRAGMENTAR para obtener huecos continuos.

25
Q

Ahora, todas las direcciones de memoria que se manejan en una aplicación son lógicas.
Define las 2 partes de una dirección lógica:

A

1ª El número de Segmento (s), que es el índice de segmento para localizar la “BASE” en la Tabla de Segmento.

Desplazamiento (OFFSET) (d): antes de sumarse con la BASE, que calculamos a partir del índice S (nº de Segmento), se tiene que comprobar por seguridad, que el Desplazamiento u offset no salga del límite del Segmento.

*Una vez sumados s+d habríamos traducido la dirección lógica a la física con la ayuda de esta Tabla de Memoria.

26
Q

Sabemos que la Fragmetnación EXTERNA se produce en la SEGMENTANCIÓN y la INTERNA en la PAGINACIÓN.
Pero, definelas:

A

Y la FRAGMENTACIÓN INTERNA se da cuando el último MARCO de la Ram no esta relleno, porque la última PÁGINA en que hemos divido el programa es de menor tamaño.
Habría que DESFRAGMENTAR para rellenar todo hueco de la RAM y conseguir una lectura más ágil.

27
Q

¿Qué es la SEGMENTACIÓN y PAGINACIÓN?

A

SEGMETNACIÓN:
1. Dividir el programa en SEGMENTOS VARIABLES:
CS: segmento de Código.
SS: segmento de Stack (pila).
DS: segmento de Datos.
2. Ubicar los SEGMENTOS en una zona libre y contigua.

*Produce Fragmentación Externa, pues puede haber mucha memoria libre (pequeños huecos)..
*Donde no entra un SEGMENTO grande habría que DESFRAGMENTAR.

PAGINACIÓN:

  1. Dividir el programa en bloques de tamaño fijo (páginas).
  2. Dividir la memoria en zonas de tamaño fijo (marcos).
  3. Ubicar las PÁGINAS en los MARCOS.

*NO produce Fragmentación Externa, pero SI Interna (si el último Marco NO esta relleno).
*La MMU nos ayuda con el TLB (cache de la Page Table) a realizar la traducción de físico a lógico.

NOTA: la MMU tiene que ver con la Paginación NO con la Segmentación y es una parte de la CPU que separa la parte física de la lógica.

28
Q

¿Qué utilidad tiene la memoria cache TLB (Translation Lookaside Buffer)?

A

El componente más lento con el que trabaja una CPU es la memoria RAM.
Ya que una vez que recibe la información la compara con la memoria CACHE (tablas) y con los REGISTROS (log).

Por ello, se creó la memoria Cache TLB, que utiliza la MMU para almacenar las traducciones / asignaciones recientes y no tener que dirigirnos constantemente a la RAM.

NOTA: la MMU tiene que ver con la Paginación NO con la Segmentación y es una parte de la CPU que separa la parte física de la lógica.

29
Q

Sabemos que la HIPERPAGINACION se produce cuando hay un excesivo número de intercambios con el almacenamiento secundario.
Y, cuando la memoria esta llena se ejecuta un ALGORITMO DE REEMPLAZO para tener en memoria principal las páginas más importantes y en disco (swap) las demás.
Enumera dichos ALGORITMOS DE REEMPLAZO:

NOTA: Swap, es una zona del disco (un fichero o partición) que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física.

A

FIFO: el algoritmo reemplaza la página que lleva más tiempo en memoria.

LRU: (Least Recently Used = Menos usado recientemente) asocia a cada página el tiempo en que fue referenciada.
La página elegida será este algoritmo de reemplazo será la que fue accedida hace más tiempo.

NRU: (Not Recently Used = No usado recientemente) a las páginas se les asigna un bit de referencia y otro de modificación.
El bit de referencia se enciende cada vez que se LEE la página y el de modificación cuando se ESCRIBE.
Cada cierto tiempo el bit es apagado.
Cuando una página debe ser reemplazada, el sistema operativo divide las páginas en 4 categorías:
Categoría 0: No referenciado / no modificado
Categoría 1: No referenciado / modificado
Categoría 2: referenciado / no modificado
Categoría 3: referenciado / modificado

Las mejores páginas para cambiar son las de categoría 0 y las peores las ed categoría 3.

30
Q

Para gobernar los PROCESOS en ejecución el sistema operativo usa un registro para cada proceso con información del mismo y poderlo localizar, denominada PCB (Bloque de Control de Proceso).
Pero, ¿cuáles son las secciones o segmentos que constituyen un proceso en memoria?

A
  • CÓDIGO (Text): instrucciones del proceso => CS (Segmento de Código).
  • DATOS (Data): variables globales del proceso => DS (Segmento de Datos).
  • PILA (Stack): utilizado para preservar el estado en la invocación anidada de procedimiento y funciones => SS (Segmento Stack).
  • Memoria Dinámica (Heap): memoria dinámica que genera al proceso.
31
Q

CONTEXT SWITCH o cambio de contexto, es el proceso que realiza el DISPATCHER (Planificador), que para o detiene un proceso para dar paso a la ejecución de otro. Pero, ántes de sacarlo, salva en el PCB (Bloque de Control de Proceso) el estado de la CPU para agilizar su vuelta una vez finalice el proceso.

Pero, ¿cuáles son los 5 estados de un proceso?

A
  1. NUEVO: cuando el proceso es creado.
  2. EN EJECUCIÓN: el proceso tiene asignado un procesador, que esta ejecutando sus instrucciones.
  3. BLOQUEADO: el proceso esta esperando por u evento.
  4. PREPARADO: el proceso esta listo para ejecutarse, sólo necesita del recurso procesador (CPU).
  5. TERMINADO: el proceso finalizó su ejecución.

NOTA: Hay 3 listas para dichos procesos como se aprecia en la foto:
job queue: procesos en estado NUEVO.
ready queue: procesos PREPARADOS.
device queue: procesos en estado BLOQUEADO.

32
Q

Además de los algoritmos de PLANIFICACIÓN DE PROCESOS:

*FCFS: (First Come First Served = Por orden de llegada)
*SJF: (Shortest Job First = El trabajo más corto primero)
y
SRTF: (Shortest Remaing Time First = 1º el que le queda menos tiempo),

¿qué otros algoritmos existen?

A

Planificación por PRIORIDADES - 2 MODALIDADES:
*Apropiativo: expulsivo.
*NO Apropiativo: NO expulsivo.
1º el que tiene más prioridad.
Cada proceso tiene asignada su prioridad y el PLANIFICADOR selecciona el proceso con prioridad más alta.
Las prioridades pueden ser tanto DINÁMICAS (cambian con el tiempo), como ESTÁTICAS (no cmabian).

Round Robin (APROPIATIVO):
Es el más justo, porque a todos se les signa el mismo tiempo por turno.
A cada proceso se le asigna una “cantidad de tiempo” (QUANTUM), pero si el proceso requiere un intervalo de tiempo mayor que el QUANTUM es expulsado de la CPU.
La cola de preparados se gestiona con política FIFO.
Si el QUANTUM es pequeño se genera SOBRECARGA debido a demasiados cambios de contexto.

Multilevel Queue (APROPIATIVO): divide la lista de procesos LISTOS en varias colas (una por proceso).
Los procesos NO podrán cambiar de cola, cada cola tendrá su propio algoritmo de planificación y también existe un algoritmo de planificación entre colas.

33
Q

Además de los algoritmos de PLANIFICACIÓN DE PROCESOS:

*Planificación por PRIORIDADES (Apropiativo y NO Apropiativo)
*Round Robin (APROPIATIVO)
y
*Multilevel Queue (APROPIATIVO)

¿qué otros algoritmos existen?

A

FCFS: (First Come First Served = Por orden de llegada) o FIFO
La CPU es asignada a los procesos en el mismo orden que lo solicitan.

SJF: (Shortest Job First = El trabajo más corto primero)
Primero el que menos tiempo total de CPU requiere y se ejecuta hasta que termine o suspenda.

SRTF: (Shortest Remaing Time First = 1º el que le queda menos tiempo)
Primero al que menos tiempo de CPU le quede para acabar.
Es la versión APROPIATIVA (expulsivo) de SJF, porque si llega otro proceso mejor entra sustituyendo al que este ejecutándose actualmente. A diferencia de SJF, donde se permite que cada proceso termine su trabajo.

34
Q

POSIX (Portable Operating System Interface) e refiere a un conjunto de estándares (IEEE) que definen formas para que los programas interactúen con el Sistema Operativo, facilitando su INTEROPERATIVIDAD.

¿Cuál es la biblioteca para el manejo de hilos en POSIX?

A

PTHREADS

P: POSIX.
THREADS: hilos.

*pthread_create: Crea un nuevo hilo.
*pthread_join: Espera a que un hilo termine su ejecución.
*pthread_cancel: Cancela la ejecución de un hilo.

35
Q

La responsabilidad de la comunicación y sincronización recaen en el Sistema Operativo, que proporciona un enlace lógico entre procesos.
Pero, ¿qué llamadas básicas o PRIMITIVAS tienen que invocar los procesos para comunicarse usando dicho enlace de la RAM?

A

Send
y
Receive

ENVIAMOS o RECIBIMOS mensajes entre procesos usando la memoria principal (RAM).

NOTA: NO usa memoria comaprtida (shm = shared memory).

36
Q

La memoria compartida o SHARED MEMORY (shm) es creada por el Kernel para que 2 servicios tengan una zona de memoria donde intercambiar datos.
¿Qué técnica sirve para sincronizar dicho proceso?

A

SEMÁFOROS o MONITORES

*ABIERTO => acceso.
*CERRADO => no acceso.

NOTA: para garantizar el acceso concurrente con EXCLUSIÓN MUTUA (sólo 1 accede a la información) existen algoritmos:
*Dekker
*Peterson
*Eisenberg
*McGuire
*El de la panadería de Lamport.

37
Q

¿Cuáles son los algoritmos que garantizan que los procesos accedan a esa Memoria Compartida (shm), facilitada por el Sistema Operativo (Kernel), de forma ordenada (EXCLUSIÓN MUTUA ) sin producir INTERBLOQUEOS ni INANICIONES (que se queda algún proceso sin entrar)?

A

*Dekker
*Peterson
*Eisenberg
*McGuire
*El de la panadería de Lamport.

NOTA: algoritmos para garantizar el acceso concurrente con EXCLUSIÓN MUTUA (sólo 1 accede a la información) y evitar INANICIÓN e INTERBLOQUEOS.

38
Q

Define los 3 Tipos de Asignación o manera en la que el Sistema Operativo guarda los bloques de datos de un FICHERO:

A
  1. Asignación CONTIGUA: los bloques van uno a continuación del otro.
  2. Asignación ENLAZADA: un bloque apunta al siguiente aunque no este contiguo.
  3. Asignación INDEXADA: se realiza en 2 accesos:
    a) ÍNDICE: localizar dirección deseada.
    b) DESTINO.
    Es decir, se sacrifican varios bloques o directorios para guardar índices con apuntadores hacia todos sus bloques cosntituyentes.
    Por lo cua, cuando se quiere leer un archivo o cualquiera de sus partes (bloques), se realizan 2 accesos: uno al bloque de índices y otro a la dirección destino deseada.
    Recomendable para archivos grandes, pues con pequeño habría que destinar demasiados bloques a índices.
39
Q

La CPU necesita que se la informe de lo que ocurre con los distintos PERIFÉRICOS, para luego comunicárselo al Sistema Operativo.
¿Cómo se denomina y se define este sistema de comunicación a 3 bandas?

A

Mecanismo de INTERRUPCIÓN

Un controlador o chip llamado PIC (Controlador Programable de Interrupciones), tiene varios pines (IRQ0, IRQ1, …) a los que están conectados los PERIFÉRICOS.

Al usar un PERIFÉRICO se encenderá (activará) su pin correspondiente, indicándole a la CPU (por medio de su nº de interrupción) de que PERIFÉRICO se trata.

Entonces, la CPU consulta una rutina de tratamiento de interrupciones (ISR) de una tabla donde esta todas las rutinas.

En resumen, llega una “IRQ” al PIC y este se lo dice a la CPU con el nº de interrupción correspondiente.
La CPU consulta en la tabla cual es la dirección de la RUTINA y se ejecuta esa rutina en el sistema operativo.

NOTA: ISR (Interrupt Service Routine o rutina de tratamiento de interrupciones) o rutinas => pequeños programas que se cargan en ciertas zonas de la memoria, cuya dirección está en una tabla del sistema y que la CPU consulta.

Estos ISR o rutinas, las proporciona o sobreescribe en la tabla el Sistema Operativo y en menor medida la BIOS para los dispositivos.

IMPORTANTE: una ISR (Interrupt Service Routine ) es una rutina de código que se ejecuta en respuesta a una interrupción generada por eventos o hardware, un driver es un conjunto de software que permite la comunicación entre el sistema operativo y un dispositivo de hardware específico.

40
Q

¿Es lo mismo ISR que driver?

A

No, una ISR (Interrupt Service Routine ) es una rutina de código que se ejecuta en respuesta a una interrupción generada por eventos o hardware, un driver es un conjunto de software que permite la comunicación entre el sistema operativo y un dispositivo de hardware específico.

Las ISRs a menudo forman parte de los drivers, ya que las interrupciones suelen ser una forma crucial de comunicarse con los dispositivos.

Sin embargo, un driver puede contener más que solo ISRs, incluyendo código para gestionar la configuración, la comunicación y otros aspectos relacionados con el dispositivo.

41
Q

Define las 3 Técnicas de COMUNICACIÓN / SINCRONISMO de E/S de dispositivos o periféricos:

A
  1. E/S Programada: el procesador ejecuta un programa que controla las operaciones de E/S.
    El problema es que el procesador se tiene que quedar esperando (parado) a recibir respuesta (polling).
  2. E/S Controlada por Interrupciones: los dispositivos envían una señal de interrupción para llamar la atención del sistema.
  3. E/S mediante el uso de DMA: (Acceso Directo a Memoria => sin pasar por CPU)
    Un chip se encarga de la transferencia y accede a la memoria para leer o escribir datos que recibe y envía el dispositivo sin pasar por el procesador.

Es decir, permite a los componentes del PC acceder a la memoria del sistema, para leer o escribir, INDEPENDIENTEMENTE de la CPU.

42
Q

Define las 3 Técnicas de ALMACENAMIENTO INTERMEDIO en la memoria:

A
  1. Caching: (= almacenamiento en caché)
    Consiste en almacenar en una caché temporal, de rápido acceso, los datos que se usan con más frecuencia.
  2. Buffering: (= almacenamiento en buffer)
    Consiste en utilizar un área de memoria como buffer, simulando un dispositivo o un periférico lógico y hará de dispositivo intermedio entre el periférico real y el procesador.
    Evita que un periférico lento afecte al sistema del PC, porque el buffer es independiente, por lo que el procesador puede trabajar en el buffer mientras la información del periférico se va almacenando o extrayendo (E/S) en dicho buffer.
  3. Spooling: (= en cola)
    La computadora introduce trabajos en un buffer (área especial de la memoria), de manera que un dispositivo pueda acceder a ellos cuando esté listo.
    El spooling en caso de dispositivos que accedan a los datos a distintas velocidades. Pues, el buffer proporciona u lugar de espera donde los datos pueden estar hasta que el dispositivo más lento los procesa.
    Esto permite que la CPU pueda trabajar en otras tareas mientras que espera que el dispositivo más lento acabe su trabajo.
    En la impresión de documentos es donde se aplica mayormente.
43
Q

¿Cuáles son las 3 principales formas de organizacion/acceso a un fichero?

A
  1. Acceso Secuencial: En este método, los registros (bloques de datos) se almacenan en el archivo en un orden secuencial.
    Para acceder a un registro en particular, se debe recorrer todo el archivo desde el principio hasta llegar al registro deseado.
  2. Acceso Directo o Aleatorio: Aquí, los registros se almacenan en ubicaciones específicas dentro del archivo y se pueden acceder directamente utilizando una dirección o un índice.
    Esto permite acceder a cualquier registro de manera inmediata, sin tener que recorrer el archivo.
  3. Acceso Indexado: En este enfoque, se crea una estructura de índice adicional para el archivo, que contiene entradas de índice que apuntan a las ubicaciones físicas de los registros en el archivo principal.
    El índice actúa como una tabla de búsqueda que acelera la recuperación de registros.