Sistemi operatori parti

Cards (650)

  • Sistema Operativo (SO)

    Software che agisce da intermediario tra l'utente e l'hardware del computer, fornendo servizi e caratteristiche per gli utenti
  • Scopi del sistema operativo
    • Eseguire i programmi, supportando l'utente nel "risolvere problemi"
    • Rendere agevole l'interfaccia fra l'uomo e la macchina
    • Gestire in modo efficiente le risorse (hardware/software) del sistema di calcolo
    • Prevenire le interferenze fra/con le attività degli utenti
  • Programmi applicativi
    Definiscono le modalità di utilizzo delle risorse del sistema per risolvere i problemi di calcolo degli utenti
  • Utenti
    Persone, altri macchinari, altri elaboratori
  • Struttura del sistema di calcolo (modello a cipolla)

    Hardware al centro, circondato da strati di software che lo gestiscono/utilizzano
  • Kernel
    Nucleo del sistema operativo, a contatto diretto con l'hardware
  • Shell
    Interfaccia utente del sistema operativo, che consente l'accesso alle funzioni più evolute
  • Gli utenti si aspettano un sistema facile da usare e dotato di buone prestazioni, senza preoccuparsi della gestione delle risorse
  • Certi computer, come i sistemi embedded, hanno sistemi operativi che non dispongono neppure di una interfaccia utente
  • Sistema operativo
    Programma di controllo che controlla l'esecuzione dei programmi utente per prevenire errori e/o uso improprio delle risorse del sistema
  • Problemi del sistema operativo
    • Esecuzione dei programmi utente
    • Efficienza nell'uso delle risorse (processori, memoria, dischi, etc.)
    • Coordinamento dei processi
    • Protezione nell'uso delle risorse (e terminazione dei processi che ne abusano)
  • Middleware
    Insieme di programmi informatici che fungono da intermediari tra diverse applicazioni e componenti software, integrando processi e servizi su sistemi con tecnologie e architetture diverse
  • Sia iOS di Apple che Android dispongono di un middleware che supporta lo sviluppo di app multimediali, grafiche e database oriented
  • BIOS
    Firmware che fornisce una serie di funzioni di base per l'accesso all'hardware, inizializza e controlla tutte le componenti del sistema, procede al caricamento del kernel del sistema operativo e ne lancia l'esecuzione
  • UEFI
    Firmware più recente che ha sostituito il BIOS, con funzionamento del boot loader sostanzialmente diverso
  • Boot loader
    Il suo funzionamento è cambiato sostanzialmente a cominciare dal fatto che si trova, fisicamente, nella cartella efi contenuta nella relativa partizione di sistema
  • Intel ha scelto di fare un ulteriore passo avanti, lavorando a un nuovo strumento chiamato PFRUT (Platform Firmware Runtime and Telemetry), che permetterà al sistema operativo di aggiornare il firmware UEFI senza necessità di riavviare la macchina
  • Lo strumento PFRUT per ora sarà destinato esclusivamente al mercato server, dove la possibilità di effettuare questo tipo di operazioni senza necessità di riavviare le macchine è fondamentale per offrire standard di sicurezza elevati, senza bloccare intere aziende
  • Lo sviluppo di PFRUT procede spedito con il codice già incluso in "Linux Next" e quindi pianificato con la prossima release del kernel
  • È lecito aspettarsi l'arrivo di questa funzionalità anche nei sistemi operativi Microsoft, tuttavia non sappiamo se (o quando) verrà effettivamente implementata
  • Parte 2
  • Bootloader
    • LILO
    • GRUB
    • SYSLINUX
    • PXELINUX
    • BootX
  • Computer sono anche, ad esempio, un navigatore satellitare o un PLC e tanti altri tipi: questi hanno boot loader per lo più specifici
  • Architettura del sistema di calcolo
    • Una o più CPU e diversi controllori di device connessi ad un bus comune, che permette l'accesso ad una memoria condivisa
    • Esecuzione concorrente delle CPU e dei controllori di device, che competono per garantirsi cicli di memoria
  • Interrupt

    1. Al verificarsi di un interrupt, il controllo viene trasferito all'opportuna routine di gestione, utilizzando il vettore degli interrupt (residente nella memoria) che contiene gli indirizzi di tutte le routine di servizio
    2. Si salva inoltre l'indirizzo dell'istruzione "interrotta" e lo "stato" della CPU, dalla quale dovrà riprendere l'esecuzione al termine della gestione dell'interruzione
    3. Durante la gestione di un interrupt, altri eventuali interrupt giunti al sistema sono momentaneamente "disabilitati"
    4. Una trap (o eccezione) è un interrupt generato via software, causato da un errore o da una richiesta utente (effettuata tramite una system call)
  • Dispositivi di memoria
    • Velocità di accesso
    • Costo
    • Volatilità
  • Caching
    Produzione di una copia dell'informazione in un dispositivo di memoria più veloce (situato più in alto nella gerarchia delle memorie); la memoria principale costituisce una cache per le memorie secondarie
  • Device driver, uno per ciascun controllore di device, per guidarne le operazioni di I/O. Garantiscono un'interfaccia comune fra kernel e controllori
  • Attuale tendenza è sviluppare strutture 3D-multistrato per i dispositivi di memoria
  • RAM disk
    Porzione di RAM utilizzata (via software) come se fosse una memoria secondaria
  • Caching & I/O
    • La cache ha dimensioni inferiori rispetto al supporto di memoria dal quale si effettua il caching
    • Una percentuale cospicua del codice del SO è dedicata alla gestione dell'I/O, l'interazione con i dispositivi di I/O è fondamentale per il progetto di un sistema affidabile ed efficiente, vi è una grande variabilità nei dispositivi di ingresso/uscita
    • Ciascun controllore si occupa di un particolare tipo di dispositivo (può gestire una o più unità ad esso connesse, e.g. più schede video SLI di NVIDIA). Il driver del dispositivo è il "sistema operativo" del controllore
  • I/O
    1. In seguito ad una richiesta di I/O, da parte di un processo utente, si verifica un'interruzione
    2. Dopo l'inizio dell'operazione di I/O il flusso di esecuzione può seguire due percorsi distinti: I/O sincrono (si restituisce il controllo al processo utente solo dopo il completamento dell'operazione di I/O) o I/O asincrono (si restituisce immediatamente il controllo al processo utente)
  • Device driver
    Il software di livello più basso che gira su un calcolatore, in quanto è direttamente connesso alle caratteristiche hardware della periferica
  • Direct Memory Access (DMA)

    • Utilizzato per dispositivi di I/O ad alte prestazioni, con velocità di trasferimento comparabili alla velocità di accesso alla memoria centrale
    • Il controllore di device trasferisce blocchi di dati dal buffer locale direttamente nella memoria principale, senza intervento della CPU
    • Viene generato un solo interrupt per regolare il trasferimento di ciascun blocco (invece di un interrupt per byte)
  • DMA è usato da molti sistemi hardware come controller di unità a disco, schede grafiche, schede di rete e schede audio
  • Multiprocessori
    • Multielaborazione asimmetrica (ad ogni processore viene assegnato un compito specifico; un processore principale sovrintende all'intero sistema)
    • Multielaborazione simmetrica (ogni processore è abilitato all'esecuzione di tutte le operazione del sistema)
  • Multicore
    • Più efficienti, perché le comunicazioni, sul singolo chip, sono più veloci
    • Un chip multicore usa molta meno potenza di diversi chip single core
  • 151 Introduzione Progettazione SO
  • Windows 11 in ambito gaming ha introdotto alcune delle funzionalità nate sulle nuove Xbox, come DirectStorage
  • 152 Introduzione Sviluppo SO