TEMA 59 Tornar al Hub

Sistemes Operatius (Fonaments)

Conceptes bàsics, tipologia i gestió de memòria.

1. Fonaments del Sistema Informàtic

4 Components Principals

  • HW (Hardware): La part física.
  • S.O. (Sistema Operatiu): El programari base.
  • Programes d'aplicació: El programari d'usuari.
  • Usuaris: Qui interactua amb el sistema.

Funcions del S.O.

  • Ús eficient i assignació de recursos.
  • Gestió d'E/S i sistemes de fitxers.
  • Executar programes i administrar processos.
  • Administrar la memòria.
  • Garantir disponibilitat i confiabilitat.
💡 Tasques més crítiques: Gestió de Memòria, Processos i Entrada/Sortida (Fitxers).

2. Tipologia de Sistemes Operatius

Per Usuaris

  • Monousuari
  • Multiusuari

Per Tasques

  • Monotasca
  • Multitasca

Per Processadors

  • Uniprocés
  • Multiprocés (Simètric/Asimètric)

Segons la seva Estructura Interna

🧱 Monolítica: Un sol programa massiu. Inflexible amb el HW però molt utilitzat històricament. Sense capes clares. Ex: L'origen de Linux.

🥞 Geràrquica: Com el monolític però estructurat en capes de permisos i privilegis clars.

💻 Màquina Virtual: Proporciona HW virtual per poder muntar i aïllar un S.O. a sobre.

⚙️ Client/Servidor (Microkernel): El Nucli només té les funcions bàsiques. La resta funcionen en mode usuari.

Híbrids: SO com Windows o MacOS. Combinen l'arquitectura de microkernel però executant serveis en mode kernel per no perdre rendiment.

Segons la manera d'oferir serveis

3. El Gestor de Memòria (Multiprogramats)

La CPU s'encarrega de la protecció fixant un límit superior i inferior per a cada procés perquè no trepitgin la memòria d'altres.

Assignació de memòria (On va?)

  • Estàtica: Es decideix al compilar. Fucked si el procés és massa gran.
  • Dinàmica: Es decideix en temps d'execució mitjançant registres.

El Problema: La Fragmentació

  • Interna: L'espai que sobra i es desaprofita dins d'una partició assignada.
  • Externa: Espais lliures petits i separats (fora de les particions).

Evolució de les solucions

1. Partició Estàtica
↓ Causa Fragmentació Interna ↓
2. Partició Dinàmica
↓ Causa Fragmentació Externa ↓
3. Desfragmentar Memòria (Antic)
↓ Massa lent ↓
4. Assignació Paginada (Actual)

Com es llegeixen les direccions?

Resolució: S'usa una dupla lògica (pàgina, desplaçament).

Memòria Associativa (TLB): Buffer ultra ràpid que guarda les últimes traduccions d'adreces.

Assignació Paginada vs Per Demanda (EL GUANYADOR 🏆)

Paginada clàssica: Es carrega TOT el procés dividit en pàgines abans de començar.

Per Demanda: Només es carrega a la RAM allò que es necessita al moment.

  • Usa la PMT (Page Map Table) amb 3 bits extres per controlar l'estat.
  • Page Fault: Salta quan la CPU demana una pàgina que NO està a la RAM.
  • SWAP: Si la RAM està plena durant un Page Fault, es mou una pàgina al disc (molt lent).
  • Algoritmes de substitució: Òptim, FIFO i LRU/NRU (Least Recently Used).

Assignació Segmentada

Divideix el programa per mòduls lògics (DLLs). NO s'usa sola perquè fa reaparèixer la fragmentació externa.

Segmentada + Paginada (Demanda)

Divideix en segments i després aquests en pàgines de mida fixa per sota. Soluciona la fragmentació externa.

4. Taula Resum: Esquemes d'assignació

Esquema Problema Resolt Problema Creat Canvis al SW
Monousuari contigu Mida limitada a la memòria física; CPU inactiva. Cap
Particions fixes Temps d'inactivitat de la CPU. Fragmentació interna; Mida limitada a la partició. Planificador; Gestor de protecció.
Particions dinàmiques Fragmentació interna. Fragmentació externa. Cap
Dinàmiques recol·locables Fragmentació interna. Sobrecàrrega compactació; Mida limitada a memòria. Algoritme compactació.
Paginat Necessitat de compactació. Memòria per a taules; Torna fragmentació interna. Algoritmes per PMT.
Paginació sota demanda Treball no limitat per memòria física. Risc de thrashing; Sobrecàrrega maquinari. Reemplaçament; Cerca en disc.
Segmentat Fragmentació interna. Gestió a disc; Fragmentació externa. Enllaç dinàmic; Adreçament 2D.
Segmentat / Paginat demanda Memòria virtual gran. Sobrecàrrega en gestió de taules. Adreçament 3D.