1. Máquina Virtual
El objetivo es presentar al usuario una versión simplificada de la máquina, denominada máquina virtual o máquina extendida, que abstrae al usuario de las particularidades físicas del equipo.
2. Complejidad O(1)
Implica una complejidad constante.
3. Cambio de Contexto
Es el intercambio del proceso activo con uno preparado para ejecutarse. Implica:
- Salvar el estado del proceso en ejecución.
- Cargar los registros del próximo proceso.
4. Estados de un Proceso
- En ejecución: Se está ejecutando en el procesador.
- Listo: Esperando la asignación de la CPU.
- Bloqueado: Esperando un evento (e.g., fin de E/S).
- Suspendido listo: Suspendido, al reanudarse pasa a la cola de listos.
- Suspendido bloqueado: Suspendido esperando un evento.
5. Interrupciones E/S
Se inician por dispositivos hardware de E/S. Indican un cambio de estado, por ejemplo, la finalización de una operación de lectura o escritura.
6. Exclusión Mutua
Consiste en que un solo proceso excluye temporalmente a los demás para usar un recurso compartido, garantizando la integridad del sistema.
7. Sección Crítica
Es la parte del programa, con un comienzo y un final, que actualiza variables compartidas. Un proceso que accede a datos compartidos modificables se encuentra en su sección crítica.
8. Primitivas de Exclusión Mutua
Requisitos de Edsger Dijkstra:
- No asumir nada sobre instrucciones o número de procesos.
- No asumir nada sobre velocidades relativas de ejecución (salvo que no son 0).
- Un proceso fuera de su sección crítica no debe bloquear a otros.
- Equidad: Ningún proceso debe esperar indefinidamente para entrar a su sección crítica.
9. Semáforos
Son variables enteras (o colas de procesos bloqueados) accesibles solo mediante las operaciones wait y signal. El semáforo se puede inicializar a un valor específico.
10. Ventaja de FCFS
Garantiza que todos los procesos serán servidos.
22.- Son operaciones sobre ficheros… (destroy no es una operación de fichero)
CREATE,DELETE,OPEN,CLOSE,READ,WRITE,SEEK, GET/SET ATTRIBUTES
25.- Virtualización
27.- El swapping o intercambio es una técnica que…
La necesidad de atender a varios usuarios en los sistemas de tiempo compartido, impulsó el desarrollo de técnicas de intercambio de almacenamiento o swapping. Consisten en liberar espacio de memoria extrayendo un programa residente en ella para que pueda ser ocupado por otro que necesita ejecutarse.
Cuando el programa cargado en memoria quede a la espera de una operación de entrada/salida , el sistema lo descargará haciendo una copia exacta del programa tal y cómo está en memoria(almacenamiento primario), en el disco(almacenamiento secundario).
Un trabajo ocupa el almacenamiento principal de una vez, este trabajo se ejecuta hasta que no puede continuar y entonces cede el almacenamiento y la UCO al siguiente trabajo. Así, todo el trabajo está dedicado a un trabajo por un periodo breve, después se descarga ese trabajo y se carga el siguiente.
29.- El desperdicio de la memoria no es evidente hasta que los trabajos empiecen a terminar Tema 8
En multiprogramación con particiones variables el desperdicio de memoria no se hace evidente hasta que los trabajos empiezan a terminar y dejan huecos en el almacenamiento principal.
33.- Hiperpaginación (más tiempo paginando que ejecutandose)
Usualmente se refiere a cuando se cargan y descargan sucesiva y constantemente partes de la imagen de un proceso desde y hacia la memoria principal y lamemoria virtualoespacio de intercambio. Cuando se produce hiperpaginación, los ciclos delprocesadorse utilizan en llevar y traer páginas (o segmentos, según sea el caso) y el rendimiento general del sistema se degrada notablemente.
Conjuntos de trabajo
Para ejecutar un programa de forma eficiente, hay que tener en memoria principal su conjunto de trabajo, evitando así una hiperpagínación (trashing) debida a que el programa tendría que estar realizando continuamente operaciones de intercambio con el almacenamiento secundario(disco duro).
34.- La estrategia de paginación anticipada
El sistema intenta predecir que páginas necesitará un proceso y entonces las carga en memoria cuando haya espacio disponible. Mientras que el proceso se ejecuta con sus páginas actuales, el sistema carga nuevas páginas, que estarán disponibles cuando las requiera el proceso.
Ventajas:
1.- Si se pueden tomar las direcciones correctas en casi todos los casos, se reducirá bastante el tiempo de ejecución de un proceso.
2.- Si la toma de decisiones se puede realizar un trabajo extra relativamente bajo, entonces la ejecución de un proceso dado se puede acelerar en gran medida sin afectar negativamente otros procesos activos.
3.- Cuando el hardware del computador se vuelve cada vez económico, las consecuencias de una mala decisión son menos serias. Se puede adquirir almacenamiento extra para manejar la acumulación de páginas excedentes que un mecanismo de anticipación transferiría al almacenamiento principal.
37.- Como evita el SO que los procesos se comuniquen directamente con los dispositivos de E/S
El SO debe ser capaz de comunicarse con los dispositivos de E/S y evitar que un programa de usuario se comunique directamente con los dispositivos de I/O. Tres tipos de comunicaciones se necesitan
1.- El SO debe ser capaz de enviar comandos a los dispositivos.
2.- El dispositivo debe ser capaz de informar al SO cuando la operación ha sido completada o ha detectado un error
3.- Debe ser posible realizar transferencias de datos entre el dispositivo y la memoria