Concetti sui Sistemi Operativi Classificazione Per comprendere le funzionalità di un sistema operativo, è importante capire alcuni termini di base. I seguenti termini sono spesso impiegati quando si confrontano diversi sistemi operativi: Multi-user (Multi-utente) Multi-tasking (Multi-programmazione) Multi-processing (Multi-processore) Multi-threading (Multi-thread) DEFINIZIONI Multi-user (Multi-utente) - Due o più utenti possono contemporaneamente lavorare con programmi e condividere periferiche, come le stampanti. Multi-tasking (Multi-programmazione) - Il computer è in grado di eseguire più applicazioni nello stesso istante. Multi-processing (Multi-processore) - Il computer può avere due o più unità centrali di elaborazione (CPU) condivise dai programmi. Multi-threading (Multi-thread) - Un programma può essere suddiviso in parti più piccole che possono essere caricate a seconda delle necessità dal sistema operativo. Il multi-threading permette a singoli programmi di essere suddivisi in più attività. Considerazioni Quasi tutti gli attuali sistemi operativi sono multi user e multi-tasking, e supportano: multi-processing e multi-threading. Modalità di Funzionamento Tutte le moderne CPU possono lavorare in diverse modalità di funzionamento. La modalità di funzionamento si riferisce alla capacità della CPU e dell'ambiente operativo. La modalità di funzionamento determina la maniera con la quale la CPU gestirà le applicazioni e la memoria. La Figura 1 mostra un esempio di allocazione logica della memoria. Modalità di funzionamento Le quattro modalità comuni di funzionamento sono: la modalità reale, la modalità protetta, la modalità virtuale reale la modalità compatibile. Modalità Reale Una CPU che opera in modalità reale può soltanto eseguire un programma alla volta e può indirizzare soltanto 1 MB di memoria di sistema alla volta. Sebbene tutti i moderni processori abbiano una modalità reale disponibile, essa è usata soltanto dal DOS e dalle applicazioni DOS oppure da sistemi operativi a 16 bits quali il Windows 3.x. In modalità reale, quando un'applicazione genera un errore, l'intero computer può esserne coinvolto perchè il programma ha accesso direttamente alla memoria. Questo può comportare il blocco del computer, il riavvio o l'arresto del sistema dovuto alla corruzione dello spazio di memoria. Modalità Protetta Una CPU che opera in modalità protetta ha accesso a tutta la memoria del computer, inclusa la memoria virtuale. La memoria virtuale è costituita da spazio sull'hard disk che è usato per emulare la RAM. I sistemi operativi che usano la modalità protetta possono gestire più programmi contemporaneamente. La modalità protetta fornisce un accesso a 32 bit alla memoria, ai driver, e ai trasferimenti tra le periferiche di input ed output (I/O). La modalità protetta è usata dai sistemi operativi a 32 bit quali Windows 2000 o Windows XP. In modalità protetta, le applicazioni sono protette dall'utilizzo della memoria riservata ad altre applicazioni correntemente in esecuzione. Modalità Virtuale Reale Una CPU che opera in modalità virtuale reale permette ad un'applicazione per modalità reale di essere eseguita da un sistema operativo in modalità protetta. Questo caso può essere testimoniato dall'esecuzione di applicazioni DOS in sistemi operativi a 32 bit, quali Windows XP. Modalità Compatibile La modalità compatibile ricrea l’ambiente di un sistema operativo precedente per applicazioni che non sono compatibili con il sistema operativo correntemente utilizzato. Per fornire un esempio, un'applicazione che verifica la versione del sistema operativo potrebbe essere stata scritta per Windows NT e richiedere un particolare service pack. La modalità compatibile potrebbe ricreare l'appropriato ambiente o versione del sistema operativo per permettere l'esecuzione dell'applicazione, come se fosse nell'ambiente previsto. Tipi di Sistemi Operativi Scenario Un cliente potrebbe richiedere ad un tecnico la scelta e l'installazione di un sistema operativo. Il tipo di OS scelto dipende dalle esigenze del cliente relative al computer. Ci sono due tipi distinti di sistemi operativi: sistemi operativi desktop e sistemi operativi di rete. Un sistema operativo desktop è impiegato in piccoli uffici o in ambiente domestico (SOHO, Small Office/Home Office) con un numero limitato di utenti. Un sistema operativo di rete (NOS) è progettato per un ambiente aziendale, per servire molti utenti, con un'ampia gamma di necessità. Sistemi Operativi Desktop Un sistema operativo desktop ha le seguenti caratteristiche: Supporta un singolo utente Esegue le applicazioni di un singolo utente Condivide documenti e cartelle su piccole reti con sicurezza limitata Nel mercato attuale del software, i sistemi operativi desktop più comunemente usati possono essere suddivisi in tre gruppi: Microsoft Windows, Apple Mac OS e Unix/Linux. Esempi Microsoft Oggi Windows è uno dei sistemi operativi più popolari. I prodotti seguenti sono versioni desktop dei sistemi operativi Microsoft Windows: Windows XP Professional - Usato sulla maggior parte dei computer che si connettono in rete ai Server Windows Windows XP Home Edition - Usato sui computer personali ed ha un livello di sicurezza molto limitato Windows XP Media Center - Usato su computer adibiti all'intrattenimento per vedere film ed ascoltare musica Windows XP Tablet PC Edition - Usato per computer tablet Windows XP 64-bit Edition - Usato per computer con processori a 64 bit Windows 2000 Professional - Sistema operativo Windows più vecchio che è stato rimpiazzato da Windows XP Professional Windows Vista - Nuova versione di Windows Esempi Altri Apple Mac OS I computer Apple sono sistemi proprietari ed usano un sistema operativo denominato Mac OS. Mac OS è stato progettato per essere un sistema operativo dalla interfaccia utente grafica (GUI) facile da usare. Le versioni correnti di Mac OS attualmente sono basate su una versione adattata di UNIX. UNIX/Linux UNIX, che è stato introdotto alla fine degli anni '60, è uno dei più vecchi sistemi operativi. Oggi esistono molte differenti versioni di UNIX. Linux è una delle più recenti ed estremamente popolare di queste. Linux è stato sviluppato da Linus Torvalds nel 1991, ed è stato progettato come sistema operativo open-soruce. I programmi open-source permettono la libera distribuzione del codice sorgente che può essere modificato, a costi molto più bassi rispetto agli altri sistemi operativi, da chi lo scarichi gratuitamente o dagli sviluppatori. Sistemi operativi di rete Un sistema operativo di rete ha le seguenti caratteristiche: Supporta più utenti Esegue applicazioni multi-utente È robusto e ridondante Fornisce maggior sicurezza se confrontato con i sistemi operativi desktop Esempi Microsoft Windows - I sistemi operativi di rete offerti da Microsoft sono Windows 2000 Server e Windows Server 2003. I sistemi operativi Windows Server usano un database centralizzato, chiamato Active Directory, per gestire le risorse di rete. Novell Netware - Novell NetWare è stato il primo OS a soddisfare i requisiti per un sistema operativo di rete e ha avuto ampia diffusione nelle reti di PC negli anni '80. Linux - I sistemi operativi Linux includono Red Hat, Caldera, SuSE, Debian, e Slackware. UNIX - Sistemi operativi proprietari basati su UNIX sono offerti da diversi produttori.