Lez.7– IlSistemaOperativo Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli “Federico II” Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli [email protected] [email protected] Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 2 • La Programmazione • Il Sistema Operativo Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 3 Il Sistema Operativo (S.O.) è un insieme di programmi finalizzati a rendere utilizzabile l’elaboratore. Le funzioni principali del S.O. sono: 1.Nascondere all ’ utente i dettagli dell ’ hardware della macchina presentando una interfaccia “amichevole”; 2.Gestire e controllare l’utilizzo di tutte le risorse dell’elaboratore. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 4 La parte del S.O. che interpreta i comandi forniti dall’utente e attiva i programmi corrispondenti rappresenta l ’ interfaccia tra utente e sistema. Funzioni di servizio tipicamente fornite dal S.O. per svolgere il ruolo di interfaccia: • Creazione ed esecuzione di programmi; S.O. offre servizi per la stesura dei programmi (editor e de-bugger) e per il caricamento. • Accesso ai dispositivi di I/O; S.O. maschera i dettagli di basso livello del controllo delle periferiche, come la gestione dei segnali per trasferimento dati … • Archiviazione dati e programmi; S.O. fornisce una organizzazione logica dei dati sotto forma di cartelle e file per particolari dispositivi di memorizzazione come i dischi rigidi. • Controllo di accesso alle risorse; • Gestione dei malfunzionamenti; Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 5 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 6 Interfaccia Mezzo di interazione, tramite dispositivi di input e di output, tra utente ed elaboratore. Tipi di interfaccia •Interfaccia a caratteri Offre la possibilità di eseguire un comando esclusivamente mediante l’uso della tastiera Usata nei primi sistemi operativi (es. DOS) Le interfacce a caratteri sono più rapide e richiedono meno memoria rispetto alle interfacce grafiche, ma sono più difficili da utilizzare. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 7 Interfaccia •Interfaccia grafica •Caratterizzata da finestre, ognuna delle quali può contenere un programma applicativo o un documento (es. windows). •Offre la possibilità di eseguire un comando puntando e cliccando l’icona che lo rappresenta mediante l’uso del mouse. •Impiega la tecnologia WYSIWYG (What You See Is What You Get) che consente di visualizzare sullo schermo i documenti nel modo in cui saranno stampati. Le prime interfacce grafiche utente (GUI) vennero sviluppate allo Xerox PARC (Palo Alto Research Center) negli anni settanta e furono utilizzate per la prima volta nel 1980 su un computer chiamato Xerox Star. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 8 •Interfaccia a stilo Usa uno schermo sensibile al tatto su cui si può scrivere o puntare un comando usando uno stilo (usata nei sistemi operativi palmari). •Interfaccia a touchscreen Consente di operare puntando con un dito le immagini o le icone presenti sullo schermo. •Interfaccia conversazionale Consente di eseguire comandi vocali o immettere dati mediante programmi di riconoscimento vocale. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 9 Il S.O. è responsabile della gestione delle risorse. E ’ composto da diverse parti interagenti fra loro che consentono di gestire l’uso di tutte le risorse da parte degli utenti e del software applicativo. Risorse •Le risorse possono essere sia componenti fisici quali CPU, memoria, dispositivi di I/O sia componenti logici quali file, cartelle o programmi. •La gestione di una risorsa comprende: 1.Tener traccia dello stato della risorsa; 2.Stabilire la politica che determina a quale programma in esecuzione (processo) assegnare la risorsa, quando e per quanto tempo; 3.Allocare e deallocare la risorsa. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 10 Sistemi Monoprogrammati Monoprogrammazione: in memoria centrale risiede, oltre al sistema operativo, un solo programma. Sistemi Multiprogrammati Multiprogrammazione o Multitasking: in memoria centrale risiedono più programmi utente. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 11 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 12 Sistemi a condivisione di tempo Time-sharing • Suddivisione del tempo di CPU in unità elementari, dette quanti, da assegnare secondo opportune politiche, a tutti i programmi che definiscono il carico del sistema. • La partizione di tempo consente le elaborazione interattiva. • Più utenti hanno accesso simultaneo al calcolatore. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 13 14 Anche i programmi elaborano i dati e i comandi in ordine sequenziale. Ogni operazione si snoda come un singolo filo (Thread). Nei sistemi multithreading i programmi applicativi possono svolgere più operazioni contemporaneamente. Per esempio, un programma di video-scrittura, può leggere i dati immessi dall ’ utente tramite tastiera, visualizzarli sullo schermo e stampare il documento nello stesso tempo. 15 Sistemi multitasking monoutente Microsoft Windows, Linux, Macintosh OS Sistemi multitasking multiutente Unix Sistemi Distribuiti e Sistemi di rete •Cliente/server •Windows NT, OS/2, Unix •Linux: costo di base nullo, pochi programmi disponibili, poche periferiche supportate, facilità d’uso più bassa di windows. •Cluster Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 16 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 17 1. Nucleo (Kernel o Supervisore) Strato più interno del S.O. che risiede in memoria principale ed ha il compito di gestire i processi corrispondenti ai programmi che sono attivi contemporaneamente. 2. Gestore della memoria Strato del S.O. che ha il compito di gestire l’accesso alla memoria centrale. 3. Gestore delle periferiche Parte del S.O. che consente di operare su dispositivi I/O in maniera trasparente all’utente. • Le caratteristiche fisiche delle periferiche e le specifiche operazioni di I/O vengono mascherate all’utente e alla applicazioni. • L ’ utente usa comandi di alto livello per leggere e scrivere dati, senza preoccuparsi dei problemi di indirizzamento e di sincronizzazione delle periferiche stesse. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 18 4. Gestore di file Parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su memorie di massa. • Consente all’utente di organizzare l’informazione in strutture logiche (organizzazione logica) • Traduce le strutture logiche create dall ’ utente in strutture fisiche di dati memorizzate su memorie secondarie (Implementazione) • Controlla l ’ uso delle strutture fisiche da parte dei processi permettendo l ’ accesso solo ai processi autorizzati (Protezione). File: Unità logica di informazione. • Può contenere informazioni di vario tipo: documenti (file di testo), programmi in codice sorgente (file binari eseguibili), immagini (bitmap). • È in genere costituito da più blocchi fisici. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 19 5. Shell o Interprete dei comandi Rappresenta l’interfaccia tra utente e sistema Modulo direttamente accessibile dall’utente • Ha la funzione di interpretare i comandi forniti dall’utente, tipicamente da tastiera, e di attivare i programmi corrispondenti; • Mostra sullo schermo il risultato dell’esecuzione. Il sistema operativo è definito dai primi 5 livelli. Al di sopra di questi, si hanno: • Programmi di utilità Programmi che consentono di ottimizzare l ’ utilizzo del calcolatore da parte degli utenti sia degli amministratori di sistema. • Compilatori, debugger, editor di sistema; • Programmi per il backup dei dati; • Programmi per la gestione dei dischi. • Gestore della rete Software necessario per la gestione delle reti, locali e geografiche, di calcolatori. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 20 Oltre alle funzioni descritte precedentemente, il S.O. svolge anche questi compiti: - Controlla continuamente il sistema e in caso di disfunzioni avvisa l’utente con un messaggio di errore; - Assegna a ogni programma uno spazio proprio in modo che se un ’ applicazione presenta un problema, questo non influisce sul funzionamento degli altri programmi; - Regola l’alimentazione di energia del sistema in base alle necessità; - E’ in grado di supportare le nuove applicazioni multimediali, come la visualizzazione di video e animazioni, l’audio e la realtà virtuale. 17/11/16 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.6– IlSistemaOperativo 21 21 Confronto tra sistemi operativi - 17/11/16 Monotaskinng o multitasking Monothreading o multithreading Interfaccia a caratteri o grafica Sicurezza alta o bassa Capacità di elaborazione (8, 16, 32 o 64 bit) Portabilità Proprietario o aperto Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.6– IlSistemaOperativo 22 22 Interfaccia a linea di comando I primi S.O. erano di tipo a linea di comando: L’utente doveva immettere attraverso la tastiera il comando voluto e il sistema lo eseguiva. L’interfaccia a riga di comando è ancora presente nella gran parte dei S.O. a fianco delle moderne GUI. Vantaggi: Operazioni complesse possono essere eseguite più semplicemente. L ’ utente dopo la difficoltà iniziale acquisisce “naturalmente” una conoscenza più approfondita del calcolatore. Svantaggi: Difficile l’interazione a “prima vista” Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 23 • Sviluppata nel 1981 da Microsoft per supportare il primo PC di IBM • È un sistema monoutente e monotask • La Shell è a linea di comando • Ha equipaggiato la quasi totalità dei PC prodotti fino al 1995 • È disponibile solo per processori INTEL Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 24 UNIX Nati negli anni 60 questi S.O. sono ancora oggi (ovviamente nelle loro versioni più moderne e aggiornate) i sistemi più utilizzati negli ambiti dove è critica la sicurezza e l’affidabilità del sistema (enti di ricerca, banche, strutture militari, etc, etc). Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 25 Linux La versione oggi più diffusa di UNIX è la sua versione per PC, nata nel 1991 ad opera di Linus Torvalds: Linux. Le sue principali caratterisitiche: •Multitasking •Multiutente •Open Source •Diverse shell grafiche (KDE, Gnome) •Diverse “distribuzioni” (es. Ubuntu) Le “doti minime” richieste a un computer con Linux sono in genere molto minori rispetto a quelle richieste da un Windows. Elevata sicurezza contro attacchi di virus 26 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 27 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 28 Mac OS Apple Macintosh è stato il primo prodotto a presentare nel 1984 (!) una interfaccia di tipo grafico. Per molti anni Mac OS è stato legato ad una famiglia di processori diversa da quella INTEL ma l ’ ultima versione (dal 2005) è sviluppata per processori Intel. Forse non tutti sanno che n realtà, dal 2001 (Mac OS X) è … un sistema UNIX !!!! E’ il sistema operativo più utilizzato nel campo della grafica professionale, musica, video editing (montaggio ed effetti speciali). Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 29 S.O. Windows •Prodotto dalla Microsoft •Multitasking •User-friendly Intrfaccia grafica evoluta, cartelle e risorse •Plug-and-play Connessione facile di dispositivi esterni •Supporto di Internet •Ampia diffusione Decine di milioni di computer con Windows. Sistema Operativo più diffuso al mondo. •Facilità d’uso Utilizzabile sia da utenti esperti e non. Elevato numero di applicazioni software La maggior parte del software è scritto per Windows La maggior parte delle software house sviluppa software per Wndows. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 30 Windows 9x, ME: utenza domestica/scolastica Windows NT, 2000: utenza professionale, gestione di più utenti, gestione della sicurezza. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 31 32 In Windows le risorse sono rappresentate da icone e hanno un nome Il Desktop di Windows è una risorsa speciale di Windows E’ un contenitore di risorse e le presenta in modo grafico E’ realizzato come cartella Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 33 Cartelle •Sono risorse che contengono altre risorse. •Utilizzando le cartelle, e possibile organizzare in forma gerarchica le risorse. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 34 Finestre e barre Una finestra è una regione rettangolare con vari elementi grafici di controllo e una zona interna di lavoro. Le barre principali che contraddistinguono una finestra sono: Barra del titolo Barra dei menù Barre di scorrimento Barra di stato Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 35 Operazioni di base La “cornice” esterna di una finestra (inclusa la barra del titolo) contiene gli elementi grafici che permettono di effettuare operazioni di base quali: •Ridurre a icona •Ingrandire/ripristinare •Chiudere •Spostare la finestra •Cambiare dimensione Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 36 Drag and drop Una delle interazioni fondamentali con gli oggetti di un sistema operativo a finestre è la possibilità di spostare oggetti da una posizione all’altra tramite il drag and drop: • Spostare il puntatore del mouse sull’oggetto; • Premere il tasto sinistro del mouse per “prendere” l’oggetto; • Tenendolo premuto spostare il puntatore nella posizione desiderata; • Rilasciare il tasto del mouse. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 37 Scrolling Quando non tutto il contenuto di una finestra è visibile, è possibile utilizzare le barre di scorrimento (o scrolling) orizzontali e verticali facendo drag and drop su di esse per spostarle. Se il mouse possiede una rotellina di scorrimento si può utilizzarla alla scopo. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 38 Il Desktop All ’ avvio del sistema operativo Windows (nell’esempio ci riferiremo a Windows Xp) dopo una schermata di selezione dell’utente viene visualizzato il desktop (= scrivania) con i suoi elementi fondamentali: • Risorse • Cestino • Menù avvio (Start) • Barra delle applicazioni Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 39 Il menù Start È il vero e proprio “cruscotto” del nostro elaboratore, e permette di accedere alle informazioni più utili quali: • Utente • Ultimi programmi utilizzati • Menù scelta programmi • Pannello controllo • Ricerca files • Cambio utente/spegnimento Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 40 Esistono essenzialmente due modi per eseguire un programma: Selezionare la voce corrispondente al programma nel sottomenù di scelta dei programmi del menù start Eseguire un “doppio click” con il tasto sinistro del mouse sull’icona corrispondete al programma. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 41 Che significa “Aprire” un file? In generale significa accedere all’informazione che è contenuta nel file. Se il file è un semplice file ASCII un apposito programma (text editor) mi mostrerà la sequenza di caratteri che contiene. Se è un ’ immagine un programma di visualizzazione lo mostrerà sullo schermo. Se è un audio un programma lo farà suonare dalle casse del computer etc. In generale a seconda del tipo di file dovrò eseguire un tipo diverso di programma per aprirlo. Per facilitare il riconoscimento del tipo di file vengono comunemente utilizzate le estensioni ovvero gruppi di lettere (tipicamente tre) poste dopo un punto alla fine del nome del file stesso. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 42 .exe (es. explorer.exe) files eseguibili ovvero programmi .html Hypertext Markup Language ovvero pagine Web. Visualizzati dal broser Web come Internet Explorer o Firefox .txt Files ASCII (testo non formattato). Visualizzati da semplici text editor come Notepad (Blocco Note) .doc Documenti di testo formattato di tipo di quelli creati da Microsoft Word. Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 43 .bmp, .tiff, .jpg Files Immagini compresse .mp3 Files audio compressi. Apribili con WinAmp o Windows Media Player,… .mpg, .mpeg, .avi Files video compressi. Aprobili con Windows Media Player .xls Fogli di lavoro nel formato del tipo di quelli creati da Microsoft Excel .ppt presentazioni Power Point come quella che state vedendo Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 44 Una volta individuato un file nel file system posso manipolarlo in vari modi, tutti visualizzabili usando il tasto di DESTRA del mouse dopo averlo selezionato cliccando una volta con quello di sinistra. Tra le azioni più importanti: • Aprirlo (anche con doppio click) • Spostarlo un un’latra cartella (anche drag and drop) • Copiarlo in un’altra cartella (anche drag and drop con tasto Ctrl) • Rinominarlo (anche cliccando sul nome) • Creare un collegamento al file • Eliminarlo (anche premendo il tasto Del) • Visualizzarne le proprietà • Inviarlo via posta elettronica o stamparlo Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 45 Per installare un’applicazione tipicamente bisogna eseguire un programma di installazione (che in genere si chiama setup.exe o similare) che si trova tipicamente insieme al programma stesso (ad esempio sullo stesso CD). Una volta installato il programma comparirà nel menù dei programmi di Start. Per disinstallarlo non è una buona idea limitarsi a cancellare l ’ eseguibile (.exe). Occorre invece utilizzare l ’ apposito programma di disinstallazione (se fornito) o selezionare: Start-> Pannello di Controllo -> Installazione applicazioni Cercarlo nell’elenco e rimuoverlo Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 46 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 47 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 48 Prof.RaffaeleFarina– Gruppo1 Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 49