Compito di un sistema operativo è rendere disponibili a uno o più utenti le risorse di un sistema di elaborazione. Il sistema operativo è dunque un software che si occupa di gestire fisicamente l’HW della macchina fisica: computer, tablet o smartphone, console di gioco o processore embedded; contemporaneamente il sistema operativo presenta un modello logico delle funzionalità della macchina verso l’utente o l’applicazione in esecuzione. Esempi di risorse gestite sono innanzitutto i processi, ovvero programmi contemporaneamente in esecuzione in un sistema multiprocessing. L’esecuzione contemporanea di più processi pone inoltre il problema di gestire in modo efficiente la memoria a disposizione, affiancando alla gestione fisica di questa risorsa anche tecniche di virtualizzazione e protezione. La memorizzazione permanente dei dati e dei programmi è poi gestita tramite l’uso dei file, in una gerarchia denominata filesystem. L’utente interagisce con il sistema tramite dispositivi di input (tastiera, mouse, joystick, touch screen, …) e di output (monitor, stampanti, …). Un sistema operativo spesso permette l’accesso ad Internet, gestendo interfacce di rete. Si occupa poi dell’autenticazione di ciascun utente e della protezione degli accessi. Fra le molte implementazioni sviluppate per i sistemi operativi, hanno avuto particolare diffusione Microsoft Windows e GNU/Linux. Entrambi presentano un’interfaccia a linea di comando (shell in Linux, interprete dei comandi in Windows), ma soprattutto forniscono ricche funzionalità di configurazione e controllo attraverso sofisticate interfacce grafiche. Dal punto di vista di un programmatore, l’accesso al sistema operativo avviene attraverso un’interfaccia (API) che definisce le funzioni disponibili. In Linux l’accesso alle system call, e in generale ai servizi disponibili, avviene attraverso una serie di funzioni in linguaggio C. In Windows esistono diverse soluzioni di accesso, ma storicamente è sempre esistita una serie di funzioni API, anch’essa in linguaggio C, denominata Win32 (Win64).
Sistemi operativi: Coedizione Zanichelli – in riga (in riga ingegneria Vol. 116) (Italian Edition)
Sobre
Talvez você seja redirecionado para outro site