1. Macchina estesa:
Il sistema operativo estende le capacità dell'hardware sottostante, rendendo più semplice ed efficiente per gli utenti e le applicazioni con cui interagire. Lo fa in diversi modi:
* Abstrazione: Il sistema operativo nasconde le complessità dell'hardware dall'utente e dalle applicazioni. Invece di gestire istruzioni di basso livello per la gestione della memoria, l'accesso al disco o la comunicazione di rete, i programmi interagiscono con il sistema operativo attraverso API di alto livello (interfacce di programmazione delle applicazioni). Ciò semplifica lo sviluppo e rende il sistema più facile da usare. Ad esempio, un programmatore non deve preoccuparsi di quale settore del disco specifico scrivere; Usano semplicemente una funzione del file system.
* Virtualization: Il sistema operativo crea risorse virtuali che non corrispondono direttamente ai componenti hardware fisici. Questo è cruciale per il multitasking ed efficiente allocazione delle risorse. Ad esempio, la memoria virtuale consente ai programmi di utilizzare più memoria che fisicamente disponibili scambiando parti del programma tra RAM e disco rigido. Le macchine virtuali (VM) forniscono ambienti isolati, eseguendo più sistemi operativi su una singola macchina.
* Funzionalità migliorata: Il sistema operativo fornisce servizi che l'hardware stesso non offre, come un file system, una connettività di rete e un'interfaccia utente grafica (GUI). Questi servizi sono costruiti sopra l'hardware, espandendo la sua funzionalità oltre le sue capacità di base.
2. Resource Manager:
Il sistema operativo gestisce le risorse hardware e software del computer in modo efficiente ed equo, garantendo che tutti i programmi in esecuzione e gli utenti abbiano accesso a ciò di cui hanno bisogno. Questo include:
* Gestione della memoria: Allocazione e deallocazione della memoria a diversi processi, prevenendo conflitti e garantendo un uso efficiente della RAM disponibile.
* Gestione del processore (pianificazione): Determinare quali processi ottengono il tempo della CPU e per quanto tempo, garantendo la reattività e l'equa allocazione del potere di elaborazione. Diversi algoritmi di pianificazione ottimizzano per diversi obiettivi (ad esempio, minimizzando i tempi di risposta, massimizzare il throughput).
* Gestione I/O: Gestione delle operazioni di input e output, come input della tastiera, clic del mouse, accesso al disco e comunicazione di rete. Ciò comporta dati di buffering, richieste di accodamento e coordinamento dell'uso delle periferiche.
* Gestione del file system: Organizzazione e gestione di file e directory su dispositivi di archiviazione. Ciò include la gestione delle autorizzazioni di accesso ai file, la fornitura di metodi per la creazione, l'eliminazione e la modifica dei file e la garanzia di integrità dei dati.
* Gestione della sicurezza: Controllo dell'accesso alle risorse, prevenire l'accesso e l'uso non autorizzati e la protezione del sistema dal malware.
In sintesi, il sistema operativo funge da macchina estesa estraggendo le complessità hardware, aggiungendo funzionalità e creando risorse virtuali. Contemporaneamente, funziona come un gestore delle risorse, allocando e controllando in modo efficiente l'accesso a tali risorse (sia fisiche che virtuali), garantendo un funzionamento di sistema equo ed efficiente. Questi due ruoli sono intrecciati; Le funzionalità della macchina estesa si basano sulle capacità di gestione delle risorse e le funzioni di gestione delle risorse sono rese più efficienti e robuste attraverso l'astrazione fornita dall'aspetto della macchina estesa.
sistemi © www.354353.com