Concetti Chiave
- I sistemi operativi sono composti da moduli distinti, tra cui la gestione dei processi e il multitasking, che coordinano l'esecuzione di più programmi contemporaneamente.
- La gestione della memoria è cruciale per l'allocazione efficace delle risorse, specialmente in sistemi multitasking che devono gestire più processi simultaneamente.
- La paginazione consente di caricare i programmi in parti uguali, supportando l'uso di memoria virtuale quando la RAM è insufficiente.
- I sistemi operativi si differenziano per caratteristiche specifiche, come i sistemi batch che eseguono programmi sequenzialmente e i sistemi real-time che richiedono risposte immediate.
- I sistemi operativi embessed integrano hardware e software in una sola unità, rendendo difficile modificare le loro configurazioni, come nel caso delle automobili.
I sistemi operativi non sono formati da un unico programma ma da un insieme di moduli. I moduli più importanti sono:
Gestione dei processi e multitasking
- Gestione dei processi: il modulo che si occupa del passaggio da un processo ad un altro. Gestisce il tempo della CPU tra i vari processi attivi.
- Multitasking: sono sistemi operativi che eseguono contemporaneamente più programmi.
Gestione della memoria: modulo del SO che si occupa della gestione della memoria. Gestione della RAM. L'uso della memoria in un sistema. Multitasking è più complicato, perché deve gestire più processi contemporaneamente. La CPU può gestire un processo alla volta o un pezzo di processo.
Ottimizzazione della memoria
Ottimizzare l'uso della memoria: Allocazione lineare in questo caso non ci sono molti problemi. Ogni programma viene caricato in successione. Il limite è che si creeranno spazi svuoti di memoria. Allorquando un programma termina la sua esecuzione, il programma successivo deve aver bisogno o dello stesso spazio o essere più piccolo altrimenti andrà ad occupare altra memoria lasciando spazio inutilizzato. La RAM risulterà più piccola di quella reale.
Paginazione e memoria virtuale
Paginazione: in questo caso il programma da caricare verrà diviso in tante parti uguali. Quindi gli spazi verranno caricati senza tener conto del programma. Se la capienza della memoria RAM è esaurita ci si appoggia alla SWAP che è una memoria virtuale che si trova nella memoria di massa. Ha una piccola capienza ed è in rapporto di 1:3 con la RAM.
Gestione File System di massa: modulo del SO che si occupa della gestione delle informazioni memorizzate cioè dell'ordinamento dei file, video. I sistemi operativi utilizzano un'organizzazione gerarchica fatta di cartelle e sottocartelle. Può essere paragonato ad un albero al rovescio.
Caratteristiche dei sistemi operativi
Ovviamente i SO non sono tutti uguali molto dipende dalla macchina che utilizziamo. Caratteristiche so batch: nel PC viene caricato un programma che prima di uscire deve essere eseguito.
Es. meteo so time shaking: la CPU elabora una parte del programma in un intervallo temporale so real time deve dare una risposta in un preciso arco temporale e non può avere latenze. Tempo della risposta in un intervallo di tempo predefinito. Es. macchina su catena di montaggio.
Embessed: Hardware e software si trovano nella stessa locazione e non sono modificabili
Es.: Automobile Hypervisior: le risorse dell'hardware consentono di ospitare più sistemi operativi.
Domande da interrogazione
- Qual è il ruolo della gestione dei processi nei sistemi operativi?
- Come funziona la paginazione e quale è il suo rapporto con la memoria virtuale?
- Quali sono le caratteristiche distintive dei sistemi operativi batch e real-time?
La gestione dei processi è fondamentale nei sistemi operativi, poiché si occupa del passaggio da un processo all'altro e gestisce il tempo della CPU tra i vari processi attivi, garantendo un'efficace esecuzione multitasking.
La paginazione divide un programma in parti uguali per ottimizzare l'uso della memoria, e quando la RAM è esaurita, si utilizza la SWAP, una memoria virtuale con una capienza di 1:3 rispetto alla RAM, per gestire i dati.
I sistemi operativi batch eseguono programmi in sequenza senza interruzioni, mentre i sistemi real-time devono fornire risposte in un intervallo di tempo preciso, senza latenze, come nel caso di una macchina su una catena di montaggio.