Conceptes de Sistemes Operatius i Arquitectura de Computadors
Clasificado en Informática
Escrito el en
catalán con un tamaño de 4,61 KB
Virtualització: Màquines Virtuals i Contenidors
Màquina virtual: entorn d’execució que simula una màquina completa. Normalment s’executa sobre un hipervisor i inclou un sistema operatiu convidat propi, amb el seu propi kernel. Això permet executar sistemes operatius diferents sobre una mateixa màquina física i proporciona un aïllament fort entre entorns.
Contenidor: entorn d’execució aïllat a nivell de sistema operatiu. Els contenidors comparteixen el kernel del sistema host, però separen processos, sistema de fitxers, xarxa i dependències. Són més lleugers que les màquines virtuals perquè no necessiten un sistema operatiu convidat complet.
Funcionament de la Memòria Cau
La memòria cau és un nivell ràpid entre els registres de la CPU i la RAM que aprofita la localitat temporal i espacial dels programes per reduir la latència d'accés. Trobar una dada produeix un cache hit, accelerant el sistema. Si no hi és, ocorre un cache miss, obligant a accedir a la RAM i reduint el rendiment. Aquests misses poden ser:
- Obligatoris
- De capacitat
- De conflicte
- De coherència
En definitiva, el rendiment global millora significativament com més hits i menys misses es produeixin.
Adreçament Lògic vs. Adreçament Físic
Per què s'utilitza la mateixa adreça lògica?
Dos processos poden usar la mateixa adreça lògica perquè cada procés té el seu espai virtual i la seva pròpia taula. La MMU (Memory Management Unit) tradueix les adreces lògiques a físiques. Durant el canvi de context, el sistema operatiu actualitza la taula de pàgines que utilitza la MMU. Així, una mateixa adreça lògica apuntarà a diferents posicions físiques de la memòria RAM depenent del procés que estigui en execució en aquell moment.
Gestió de Pàgines i Page Faults
És un Page Fault sempre un error?
Un page fault ocorre quan la MMU no troba una pàgina a la RAM. Amb paginació sota demanda, algunes pàgines no es carreguen inicialment. Quan succeeix, si aquest accés és completament vàlid, el sistema operatiu simplement porta la dada des del disc cap a la memòria principal i reprèn el procés normalment. Només si aquesta adreça requerida és invàlida o falten permisos, es generarà finalment un veritable error de segmentació.
Diferències entre Processos i Threads
a) Inconsistència de dades en paral·lel
El model més probable és el de threads (fils). Com que comparteixen l'espai d'adreces, accedir a variables globals sense una sincronització adequada provoca condicions de cursa, generant resultats inconsistents. Els processos, en canvi, tenen els espais de memòria completament separats.
b) Interbloqueig de fitxers (Deadlock)
El model més probable és el de processos, en tractar-se de programes independents. S'està produint un interbloqueig o deadlock: cada procés espera un recurs retingut per l'altre, bloquejant-se mútuament. Es podria evitar aplicant ordres fixos d'adquisició o utilitzant timeouts.
Arquitectures de Processadors: CISC i RISC
- CISC: Instruccions complexes i de longitud variable. Utilitza menys instruccions per programa, però cada una requereix més temps d'execució (més cicles de rellotge) i maquinari complex.
- RISC: Instruccions simples i de longitud fixa. Necessita més instruccions per programa, però el seu temps d'execució individual és molt més ràpid i eficient gràcies a la segmentació.
Planificació en Sistemes Multiprogramats
a) Planificadors implicats i solucions
El planificador de llarg termini ha de reduir l'admissió de processos. El de mig termini pot aplicar swapping per alliberar memòria. El de curt termini ha d'usar polítiques preemptives com Round Robin o cues multinivell per afavorir processos interactius.
b) El problema del quantum petit
Un quantum massa petit genera un excés de canvis de context. Aquesta sobrecàrrega (context switch overhead) satura la CPU guardant i carregant estats interns, la qual cosa redueix dràsticament el temps real dedicat a executar les instruccions útils dels processos.