Ministero dell’Interno Dipartimento per gli Affari Interni e Territoriali Centro Elaborazione Dati SISTEMI OPERATIVI SU PIATTAFORMA NT CONSIDERAZIONI GENERALI E ANALISI DI MICROSOFT WINDOWS NT/2000/XP 3 E 17 APRILE 2002 CORSO DI RIQUALIFICAZIONE PER L’ACCESSO AL PROFILO PROFESSIONALE DI COLLABORATORE INFORMATICO 2 – 26 APRILE 2002
Dispensa e lucidi LA DISPENSA FORNITA, TUTTI I LUCIDI COMMENTATI DURANTE IL CORSO ED ALTRO MATERIALE RIGUARDANTE I SISTEMI OPERATIVI SU PIATTAFORMA NT SONO DISPONIBILI SUL SITO INTERNET www.francescopugliese.it
Il sistema operativo Un sistema operativo gestisce un insieme di risorse hardware con la finalità di offrire servizi agli utenti di un sistema di elaborazione.
Obiettivi del sistema operativo Il sistema operativo è un programma che controlla l’esecuzione di programmi applicativi e svolge funzione di interfaccia tra l’utente e l’hardware. Più concretamente: SEMPLICITA’, EFFICIENZA, FLESSIBILITA’ e VIRTUALIZZAZIONE DELLE RISORSE.
Primo obiettivo: SEMPLICITA’ Rende l’uso del computer più semplice, mascherando la complessità della piattaforma hardware.
Secondo obiettivo: EFFICIENZA Ottimizza l’uso delle risorse da parte dei programmi applicativi.
Terzo obiettivo: FLESSIBILITA’ Garantisce la trasparenza verso le applicazioni di modifiche dell’hardware, e quindi la portabilità del software.
Quarto obiettivo. Funzione fondamentale: virtualizzazione delle risorse All’utente ed alle applicazioni vengono mostrate risorse virtuali, più semplici da usare rispetto alle risorse reali. La corrispondenza tra risorse virtuali e risorse reali è mantenuta dal sistema operativo in modo trasparente (mascherandone la struttura). La disponibilità di una molteplicità di risorse virtuali rimuove i vincoli e favorisce l’esecuzione concorrente di più applicazioni. Esempi di risorse virtuali: CPU, memoria, I/O.
Multiprogrammazione Per l’esecuzione concorrente di più applicazioni, i moderni sistemi operativi sono tutti basati sul principio di multiprogrammazione. CPU inattiva durante i tempi di I/O nei sistemi monoprogrammati. Bassissima utilizzazione della CPU. Possibilità di assegnare CPU ad un altro programma durante le attese di I/O.
Multiprogrammazione (continua) In origine tutte le applicazioni erano eseguite secondo il sistema “batch”; nel pensare alla multiprogrammazione si sono innanzitutto immaginati “sistemi batch multiprogrammati”. Successivamente si è fatta strada una modalità nuova di multiprogrammazione: quella dei “sistemi time-sharing”.
Multiprogrammazione: sistemi batch multiprogrammati Ipotesi per perseguire l’esecuzione concorrente di più applicazioni (naturalmente non interattive). Più programmi sono caricati in memoria contemporaneamente. Non appena un programma inizia un’operazione di I/O la CPU viene assegnata ad un altro.
Multiprogrammazione: sistemi time-sharing Usano la multiprogrammazione per gestire più lavori interattivi. Il tempo della CPU (processor) è diviso (shared) tra più utenti. E’ come se ciascuno degli n utenti avesse una CPU di velocità 1/n. Un utente tipico richiede mediamente 2 sec. di tempo di CPU al minuto.
Sistemi time-sharing (continua) Il sistema gestisce una molteplicità di terminali interattivi per mezzo dei quali gli utenti accedono. Cambiano gli obiettivi iniziali della multiprogrammazione; è importante: - minimizzare i tempi di risposta; - gestire efficacemente l’interattività. Necessaria protezione nel file system.
Innovazioni conseguenti a time-sharing e multiprogrammazione Gestione dei processi. Gestione della memoria. Schemi di protezione e sicurezza. Architettura del sistema. Politiche di scheduling.
Gestione dei processi Un processo è un programma eseguibile con associati: - i dati su cui opera; - un contesto di esecuzione, cioè le informazioni necessarie alla CPU per eseguirlo, ed al sistema operativo per schedularlo. Il sistema operativo utilizza particolari strutture per mantenere tutta l’informazione relativa a ciascun processo, ed il suo stato.
Gestione dei processi (continua) Quando un processo va in esecuzione sulla CPU può interagire sia con il sistema operativo che con altri processi. Anche il sistema operativo è costituito da un insieme di processi. Gerarchie di processi: un processo può creare altri processi (figli), demandando loro parte dei propri compiti.
Gestione della memoria: memoria virtuale La memoria può essere virtualizzata allo scopo di: - far condividere lo stesso spazio di memoria fisica a più programmi; - far vedere a ciascun programma uno spazio di indirizzamento più ampio di quello effettivamente disponibile.
Gestione della memoria: il file system Il file system è la parte del sistema operativo che gestisce l’accesso ai file. Per ciascun file il sistema operativo mantiene dati per: - identificazione; - protezione; - accesso fisico. Informazioni organizzate in directory (cataloghi) con struttura ad albero. Ciascun file è organizzato come una successione di record logici.
Schemi di protezione e sicurezza Protezione del sistema nei confronti di accessi non autorizzati. Protezione del sistema operativo stesso nei confronti dei processi utente. Protezione di ciascun processo nei confronti degli altri. Mantenimento di uno schema di controllo degli accessi. Ogni richiesta di accesso è autorizzata solo in base allo schema.
Architettura del sistema Sistema proprietario: progettato dal costruttore con riferimento ad una sua particolare piattaforma hardware (es. BS2000). Sistema aperto: architettura indipendente dalla piattaforma hardware: - disponibili su diverse piattaforme; - favoriscono la portabilità del software e l’interconessione tra sistemi; - esempi: UNIX, NT.
Politiche di scheduling Allocazione della CPU ai processi che sono nella ready list (cioè in stato ready). Vengono utilizzati particolari algoritmi di scheduling, basati su criteri diversi, e spesso contrastanti.
Storia di Microsoft Windows Il successo commerciale di Microsoft è conseguenza di un grande errore strategico di IBM. IBM DOS – Disk Operating System (1980). Realizzato da Bill Gates e Paul Allen (Microsoft), per il nuovo PC IBM.
Storia di Microsoft Windows (continua) OS/2 (1986). IBM, per contrastare l’interfaccia grafica dei SO Apple, fa realizzare a Microsoft OS/2, cedendole in cambio i diritti di sfruttamento, non in esclusiva di DOS. OS/2 è moderno, ma il DOS è radicato, e con Windows della prima generazione (fino a 3.11 for Workgroup), si contrappone efficacemente a OS/2 anche per la possibilità che MS DOS offre per tutti di produrre PC.
Storia di Microsoft Windows (continua) MS DOS (1985). Windows 1, 2, 3 (1991: un successo), fino a 3.11 for Workgroup. Poi anche Microsoft fa uscire un vero e nuovo sistema operativo, Windows 95, che vince la concorrenza degli altri evolvendosi anche come NT (dal 1989).
Storia di Microsoft Windows (continua) Windows NT (1989); una piattaforma originale, già pensata all’origine, ma solo oggi finalmente destinata a ricomprendere la piattaforma 95/98/ME; NT, NT 3.51, NT 4.0 con 6 Service Packs, Windows 2000, Windows XP. Windows 95 (1995), poi 98 ed Millennium Edition (ME).
Storia di Microsoft Windows (continua) IBM esce sconfitta dal confronto con Microsoft, al quale ha, praticamente, regalato il monopolio dei sistemi operativi per PC.
Storia di Microsoft Windows (continua) La piattaforma NT era pensata inizialmente solo per i server, ma a partire da NT 4.0 è stata proposta la versione Workstation accanto a quella Server; il fine di ricondurre la piattaforma 95/98/ME nell’alveo di NT (come Workstation) è stato perseguito con vigore con Windows 2000 (versioni Professional e Server).
Storia di Microsoft Windows (continua) Solo con Windows XP sembra destinato a realizzarsi uno degli scopi principali di Microsoft: commercializzare un solo sistema operativo, con un unico motore, per tutti i tipi di personal computer; XP dovrebbe sostituire tanto NT/2000 (da cui eredita l’efficace piattaforma), quanto Windows 95/98/ME.
Storia di Microsoft Windows (continua) La situazione è, tuttavia, ancora i forse, perché, se da un lato ancora è commercializzato Windows ME, d’altro lato non è ben chiaro quando uscirà una versione definitiva di XP per server, utilizzo per il quale è ancora proposto Windows 2000 Server, peraltro anche in una recente versione cosiddetta Advanced.
Storia di Microsoft Windows (continua) Da alcuni anni ha fatto la sua comparsa Windows CE, versione ridotta della piattaforma 95/98/ME e destinata a computer cosiddetti palmari, cioè macchine portatili alimentate da batterie, con limitati quantitativi di memoria RAM e spesso privi di dispositivi di memorizzazione di massa (dischi fissi e floppy disk). Windows CE è portabile e funziona su diversi processori, come Intel X86, MIPS, ecc.
Windows NT Sviluppato da Microsoft per superare Windows 3.1 ancora basato sul DOS (poi superato, ovviamente, anche dai sistemi operativi 9x). Disponibile su varie piattaforme (Intel, DEC Alpha). NT4, versioni Workstation e Server. Service Packs, per NT4 fino a 6 e 6a. Stessa interfaccia di Windows 95/98/ME. Windows 2000 e XP con architettura NT.
Windows NT/2000/XP Single-user multitasking. Supporta piattaforme multiprocessore. Nella versione Server, fino a 8 CPU, 4 rilevate automaticamente. Supporta applicazioni sviluppate per altri sistemi operativi (DOS, POSIX, Windows 9x).
Windows NT/2000/XP (microkernel) Architettura a Microkernel: solo un ristretto ambito di funzionalità sono implementate nel kernel: - gestione delle interruzioni (trap, per condizioni eccezionali, e interrupt, originate all’esterno della CPU); - gestione della memoria; - comunicazione tra processi; - scheduling.
Windows NT/2000/XP: microkernel (continua) Gli altri servizi del sistema operativo sono realizzati da processi che girano in modo utente: - driver di periferiche; - file system; - memoria virtuale. Ciò comporta maggiore flessibilità, estensibilità e portabilità, ma minore efficienza a causa della maggiore frammentazione (del sistema operativo in processi).
Analisi di Windows NT/2000/XP Le funzioni che seguono sono comuni a Windows NT, a Windows 2000 e Windows XP; sulla dispensa fornita si fa, però, espressamente riferimento a Windows NT (Workstation e Server).
Interfaccia grafica di Windows Ragione del successo. Press’a poco uguale in 95/98/ME, NT/2000/XP e CE. Metafore per abbinare al sistema un ambiente di lavoro tradizionale, una scrivania con accessori (desktop, icone, finestre, etc.) Sistema di puntamento con mouse.
Interfaccia grafica di Windows (continua) Icone. Finestre. Scrivania (desktop). Cestino. Casella postale. Barra delle applicazion attive o attivabili (con Avvio o Start). Tutto virtualizzato: si tratta di file.
Interfaccia grafica di Windows (continua) Sistema di puntamento con mouse. Solo tasti sinistro (anche con “doppio click”) e destro attivi, non anche l’eventuale tasto centrale come in Macintosh.
File system FAT16 e FAT32 per Windows 95/98/ME. NTFS per Windows NT/2000/XP. Organizzati entrambi in forma gerarchica, con simulazione di cartelle (directory). NTFS ricorda per ogni file chi può manipolarlo e in che misura può disporne, come fa Unix, ma considerando anche ipotesi nuove (ad es. divieti per alcuni utenti).
File system (estensione dei file) Un'ultima considerazione a proposito del file system Windows riguarda la possibilità di caratterizzare i file sulla base di un tipo, definito dall'estensione del file stesso. Per esempio, un file chiamato documento.doc è un file con un'estensione doc, che viene solitamente utilizzata per identificare i file creati con Microsoft Word.
File system (gestione) Risorse del computer (explorer.exe). Gestione risorse (explorer.exe). Risorse di rete (explorer.exe). Explorer per Internet è un altro programma (iexplore.exe), che viene assimilato graficamente per creare una dipendenza dal sistema operativo anche durante la navigazione in Internet (vicende giudiziarie con condanna durante l’amministrazione Clinton e accordi per transazione durante l’attuale amministrazione Bush).
File system (gestione) (continua) Ricerca di un file (comando Trova o Find).
Gestione dei processi I processi leggeri (thread). Strumenti di gestione: - Task manager; - Performance monitor.
Memoria virtuale Come gestirla in Windows 2000.
Sicurezza e protezione Autenticazione degli utenti (come si definiscono gli utenti ed i loro diritti). Protezione delle risorse (file system NTFS, che conserva i dati degli autorizzati alla manipolazione ed i relativi diritti per ogni file o cartella; anche una cartella è comunque un file gerarchicamente sovraordinato con file che solo convenzionalmente si dicono in essa “contenuti”).
Protezione delle risorse con NTFS Differenza tra controllo della condivisione e autorizzazioni a manipolare i file Autorizzazioni a manipolare i file: - Autorizzazioni; - Controllo; - Proprietario.
Ambiente di rete. Supporto di rete di Windows Protocolli per colloquiare con tutte le piattaforme. Netbeui, proprietario Microsoft ed oggi abbandonato con XP. TCP/IP, anche per il “mondo Unix”. IPX/SPX, per colloquiare con il “mondo Novell”. Monitor di Accesso remoto, per ricevere chiamate ed autenticare chi si connette telefonicamente (previa autorizzazione a questo nella dichiarazione dell’utente), dandogli accesso alla rete ed alle sue risorse.
Ambiante di rete. Organizzazione di rete Windows Il modello a “workgroup”. Il modello a “dominio”. PDC (Primary Domain Controller), BDC (Backup Domain Controller) e Cluster (prodotto Microsoft Cluster Server).
Ambiente di rete. Strumenti per la gestione della rete Risorse di rete (come per la gestione del file system: explorer.exe). Condivisione delle risorse. Trova computer (come Trova file: virtualizzazione delle risorse).
Gestione di un sistema Windows NT/2000/XP Pannello di controllo. Sistema (da 2000 anche per le periferiche). Installazione applicazioni. Servizi. Strumenti di amministrazione.
Strumenti di amministrazione User manager. Disk administrator (da 2000 in Gestione computer). Performance monitor. Backup.
Arrivederci! Per rivedere questi lucidi, o per analizzare altro materiale: www.francescopugliese.it