Lez. 7 – Il Sistema Operativo - afs.enea.it · Prof. Pasquale De Michele – Gruppo 2 Lez.7 –...

49
Lez. 7 – Il Sistema Operativo 1 Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1)

Transcript of Lez. 7 – Il Sistema Operativo - afs.enea.it · Prof. Pasquale De Michele – Gruppo 2 Lez.7 –...

Lez.7– IlSistemaOperativo

1Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1)

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

Dott. Pasquale De MicheleDott. Raffaele FarinaDipartimento di Matematica e ApplicazioniUniversità di Napoli “Federico II”Compl. Univ. Monte S.AngeloVia Cintia, I-80126, [email protected]@unina.it

2

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

3

• La Programmazione

• Il Sistema Operativo

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

4

Il Sistema Operativo (S.O.) è un insieme diprogrammi finalizzati a rendere utilizzabilel’elaboratore.

Le funzioni principali del S.O. sono:1.Nascondere all ’utente i dettagli dell ’hardwaredella macchina presentando una interfaccia“amichevole”;2.Gestire e controllare l’utilizzo di tutte le risorsedell’elaboratore.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

5

La parte del S.O. che interpreta i comandi forniti dall’utente eattiva i programmi corrispondenti rappresenta l’ interfaccia trautente e sistema.

Funzioni di servizio tipicamente fornite dal S.O. per svolgere ilruolo di interfaccia:

• Creazione ed esecuzione di programmi;S.O. offre servizi per la stesura dei programmi (editor ede-bugger) e per il caricamento.

• Accesso ai dispositivi di I/O;S.O. maschera i dettagli di basso livello del controllo delleperiferiche, come la gestione dei segnali per trasferimentodati …

• Archiviazione dati e programmi;S.O. fornisce una organizzazione logica dei dati sottoforma di cartelle e file per particolari dispositivi dimemorizzazione come i dischi rigidi.

• Controllo di accesso alle risorse;• Gestione dei malfunzionamenti;

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

6

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

7

InterfacciaMezzo di interazione, tramite dispositivi di input e di output, trautente ed elaboratore.

Tipi di interfaccia•Interfaccia a caratteri

Offre la possibilità di eseguire un comandoesclusivamente mediante l’uso della tastieraUsata nei primi sistemi operativi (es. DOS)

Le interfacce a caratteri sono più rapide e richiedono menomemoria rispetto alle interfacce grafiche, ma sono più difficilida utilizzare.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

8

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 puntandoe cliccando l’icona che lo rappresenta mediante l’usodel mouse.•Impiega la tecnologia WYSIWYG (What You See IsWhat You Get) che consente di visualizzare sulloschermo i documenti nel modo in cui sarannostampati.

Le prime interfacce grafiche utente (GUI) vennero sviluppate alloXerox PARC (Palo Alto Research Center) negli anni settanta efurono utilizzate per la prima volta nel 1980 su un computerchiamato Xerox Star.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

9

•Interfaccia a stiloUsa uno schermo sensibile al tatto su cui si puòscrivere o puntare un comando usando uno stilo(usata nei sistemi operativi palmari).

•Interfaccia a touchscreenConsente di operare puntando con un dito leimmagini o le icone presenti sullo schermo.

•Interfaccia conversazionaleConsente di eseguire comandi vocali o immettere datimediante programmi di riconoscimento vocale.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

10

Il S.O. è responsabile della gestione delle risorse.E ’ composto da diverse parti interagenti fra loro checonsentono di gestire l’uso di tutte le risorse da parte degliutenti 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 inesecuzione (processo) assegnare la risorsa, quando e perquanto tempo;3.Allocare e deallocare la risorsa.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

11

Sistemi MonoprogrammatiMonoprogrammazione: in memoria centrale risiede, oltre alsistema operativo, un solo programma.

Sistemi MultiprogrammatiMultiprogrammazione o Multitasking: in memoria centralerisiedono più programmi utente.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

12

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

13

Sistemi a condivisione di tempoTime-sharing

• Suddivisione del tempo di CPU in unità elementari,dette quanti, da assegnare secondo opportunepolitiche, a tutti i programmi che definiscono il caricodel sistema.• La partizione di tempo consente le elaborazioneinterattiva.• Più utenti hanno accesso simultaneo al calcolatore.

14

15

Anche i programmi elaborano i dati e i comandi in ordinesequenziale.

Ogni operazione si snoda come un singolo filo (Thread).

Nei sistemi multithreading i programmi applicativipossono 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 nellostesso tempo.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

16

Sistemi multitasking monoutenteMicrosoft Windows, Linux, Macintosh OS

Sistemi multitasking multiutenteUnix

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 diwindows.

•Cluster

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

17

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

18

1. Nucleo (Kernel o Supervisore)Strato più interno del S.O. che risiede in memoria principaleed ha il compito di gestire i processi corrispondenti aiprogrammi che sono attivi contemporaneamente.

2. Gestore della memoriaStrato del S.O. che ha il compito di gestire l’accesso allamemoria centrale.

3. Gestore delle perifericheParte del S.O. che consente di operare su dispositivi I/O inmaniera trasparente all’utente.• Le caratteristiche fisiche delle periferiche e le specifiche

operazioni di I/O vengono mascherate all’utente e allaapplicazioni.

• L’utente usa comandi di alto livello per leggere escrivere dati, senza preoccuparsi dei problemi diindirizzamento e di sincronizzazione delle periferichestesse.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

19

4. Gestore di fileParte del S.O. che si occupa di gestire e strutturare leinformazioni 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 memoriesecondarie (Implementazione)

• Controlla l ’ uso delle strutture fisiche da parte deiprocessi permettendo l ’ accesso solo ai processiautorizzati (Protezione).

File: Unità logica di informazione.• Può contenere informazioni di vario tipo: documenti (file

di testo), programmi in codice sorgente (file binarieseguibili), immagini (bitmap).

• È in genere costituito da più blocchi fisici.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

20

5. Shell o Interprete dei comandiRappresenta l’interfaccia tra utente e sistemaModulo direttamente accessibile dall’utente• Ha la funzione di interpretare i comandi forniti dall’utente,

tipicamente da tastiera, e di attivare i programmicorrispondenti;

• 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 delcalcolatore da parte degli utenti sia degli amministratori disistema.• Compilatori, debugger, editor di sistema;• Programmi per il backup dei dati;• Programmi per la gestione dei dischi.

• Gestore della reteSoftware necessario per la gestione delle reti, locali egeografiche, di calcolatori.

21

Oltre alle funzioni descritte precedentemente, il S.O.svolge anche questi compiti:

- Controlla continuamente il sistema e in caso didisfunzioni avvisa l’utente con un messaggio dierrore;

- Assegna a ogni programma uno spazio proprio inmodo che se un ’ applicazione presenta unproblema, questo non influisce sul funzionamentodegli altri programmi;

- Regola l’alimentazione di energia del sistema inbase alle necessità;

- E’ in grado di supportare le nuove applicazionimultimediali, come la visualizzazione di video eanimazioni, l’audio e la realtà virtuale.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.6– IlSistemaOperativo17/11/16 21

22

Confronto tra sistemi operativi

- 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– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.6– IlSistemaOperativo17/11/16 22

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

23

Interfaccia a linea di comandoI primi S.O. erano di tipo a linea di comando: L’utentedoveva immettere attraverso la tastiera il comandovoluto e il sistema lo eseguiva.L’interfaccia a riga di comando è ancora presente nellagran 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 delcalcolatore.

Svantaggi:Difficile l’interazione a “prima vista”

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

24

• Sviluppata nel 1981 da Microsoft per supportare il primo PCdi 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– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

25

UNIX

Nati negli anni 60 questi S.O. sono ancora oggi(ovviamente nelle loro versioni più moderne eaggiornate) i sistemi più utilizzati negli ambitidove è critica la sicurezza e l’affidabilità delsistema (enti di ricerca, banche, strutturemilitari, etc, etc).

26

Linux

La versione oggi più diffusa di UNIX è la sua versione per PC, natanel 1991 ad opera di Linus Torvalds: Linux. Le sue principalicaratterisitiche:•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

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

27

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

28

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

29

Mac OS

Apple Macintosh è stato il primo prodotto a presentarenel 1984 (!) una interfaccia di tipo grafico. Per moltianni Mac OS è stato legato ad una famiglia diprocessori diversa da quella INTEL ma l ’ ultimaversione (dal 2005) è sviluppata per processori Intel.

Forse non tutti sanno che n realtà, dal 2001 (Mac OSX) è … un sistema UNIX !!!!

E’ il sistema operativo più utilizzato nel campo dellagrafica professionale, musica, video editing(montaggio ed effetti speciali).

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

30

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’usoUtilizzabile sia da utenti esperti e non.Elevato numero di applicazioni softwareLa maggior parte del software è scritto per WindowsLa maggior parte delle software house sviluppasoftware per Wndows.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

31

Windows 9x, ME: utenza domestica/scolasticaWindows NT, 2000: utenza professionale,gestione di più utenti, gestione della sicurezza.

32

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

33

In Windows le risorse sono rappresentate da icone e hanno un nomeIl Desktop di Windows è una risorsa speciale di WindowsE’ un contenitore di risorse e le presenta in modo graficoE’ realizzato come cartella

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

34

Cartelle•Sono risorse checontengono altre risorse.

•Utilizzando le cartelle, epossibile organizzare informa gerarchica le risorse.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

35

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 titoloBarra dei menùBarre di scorrimentoBarra di stato

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

36

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– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

37

Drag and drop

Una delle interazioni fondamentali con gli oggetti diun sistema operativo a finestre è la possibilità dispostare oggetti da una posizione all’altra tramite ildrag and drop:

• Spostare il puntatore del mouse sull’oggetto;• Premere il tasto sinistro del mouse per “prendere”l’oggetto;• Tenendolo premuto spostare il puntatore nellaposizione desiderata;• Rilasciare il tasto del mouse.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

38

Scrolling

Quando non tutto il contenuto di una finestraè visibile, è possibile utilizzare le barre discorrimento (o scrolling) orizzontali e verticalifacendo drag and drop su di esse perspostarle. Se il mouse possiede una rotellinadi scorrimento si può utilizzarla alla scopo.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

39

Il Desktop

All ’ avvio del sistema operativo Windows(nell’esempio ci riferiremo a Windows Xp)dopo una schermata di selezione dell’utenteviene visualizzato il desktop (= scrivania) coni suoi elementi fondamentali:

• Risorse• Cestino• Menù avvio (Start)• Barra delle applicazioni

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

40

Il menù Start

È il vero e proprio “cruscotto”del nostro elaboratore, epermette di accedere alleinformazioni più utili quali:

• Utente• Ultimi programmi utilizzati• Menù scelta programmi• Pannello controllo• Ricerca files• Cambioutente/spegnimento

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

41

Esistono essenzialmente due modi per eseguire un programma:Selezionare la voce corrispondente al programma nel sottomenù discelta dei programmi del menù startEseguire un “doppio click” con il tasto sinistro del mouse sull’iconacorrispondete al programma.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

42

Che significa “Aprire” un file? In generale significa accedereall’informazione che è contenuta nel file. Se il file è un semplicefile ASCII un apposito programma (text editor) mi mostrerà lasequenza di caratteri che contiene. Se è un ’ immagine unprogramma di visualizzazione lo mostrerà sullo schermo. Se è unaudio un programma lo farà suonare dalle casse del computeretc.

In generale a seconda del tipo di file dovrò eseguire un tipodiverso di programma per aprirlo. Per facilitare il riconoscimentodel tipo di file vengono comunemente utilizzate le estensioniovvero gruppi di lettere (tipicamente tre) poste dopo un punto allafine del nome del file stesso.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

43

.exe (es. explorer.exe) files eseguibili ovvero programmi

.html Hypertext Markup Language ovveropagine Web. Visualizzati dal broserWeb come Internet Explorer o Firefox

.txt Files ASCII (testo non formattato).Visualizzati da semplici text editorcome Notepad (Blocco Note)

.doc Documenti di testo formattato di tipo diquelli creati da Microsoft Word.

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

44

.bmp, .tiff, .jpg Files Immagini compresse

.mp3 Files audio compressi. Apribili conWinAmp o Windows Media Player,…

.mpg, .mpeg, .avi Files video compressi. Aprobili conWindows Media Player

.xls Fogli di lavoro nel formato del tipo diquelli creati da Microsoft Excel

.ppt presentazioni Power Point come quellache state vedendo

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

45

Una volta individuato un file nel file system posso manipolarlo in varimodi, tutti visualizzabili usando il tasto di DESTRA del mouse dopoaverlo selezionato cliccando una volta con quello di sinistra. Tra leazioni 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 tastoCtrl)• 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– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

46

Per installare un’applicazione tipicamente bisogna eseguire unprogramma di installazione (che in genere si chiama setup.exe osimilare) che si trova tipicamente insieme al programma stesso (adesempio sullo stesso CD). Una volta installato il programmacomparirà nel menù dei programmi di Start.

Per disinstallarlo non è una buona idea limitarsi a cancellarel ’ eseguibile (.exe). Occorre invece utilizzare l ’ appositoprogramma di disinstallazione (se fornito) o selezionare:

Start-> Pannello di Controllo -> Installazione applicazioni

Cercarlo nell’elenco e rimuoverlo

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo

47

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 48

Prof.RaffaeleFarina– Gruppo1Prof.PasqualeDeMichele– Gruppo2 Lez.7– IlSistemaOperativo 49