La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Sistemi operativi Laboratorio di Informatica Elisa Mori

Presentazioni simili


Presentazione sul tema: "1 Sistemi operativi Laboratorio di Informatica Elisa Mori"— Transcript della presentazione:

1 1 Sistemi operativi Laboratorio di Informatica Elisa Mori

2 Laboratorio di Informatica – Reti di calcolatori 2 intermediario Il Sistema Operativo opera come intermediario tra lhardware del sistema e uno o più utenti. sistema operativo Allavvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Sistemi Operativi: avvio

3 Laboratorio di Informatica – Reti di calcolatori 3 gestione delle risorse hardware interfaccia verso lutente Due sono le funzioni principali svolte da un sistema operativo: Sistema Operativo: funzioni Come tali funzioni vengano svolte, e se sia interamente il sistema operativo ad occuparsene, dipende dal dispositivo in questione.

4 Laboratorio di Informatica – Reti di calcolatori 4 Esistono diversi dispositivi elettronici la cui complessità ha reso necessario dotarli di un sistema operativo. Dispositivi Tra questi, agende elettroniche e telefoni cellulari sono esempi comuni. Palm m505 Sendo z100 Nokia 7650

5 Laboratorio di Informatica – Reti di calcolatori 5 La gestione dellhardware è un aspetto di secondaria importanza per gli utenti di questi dispositivi. Dispositivi Linterfaccia ha unimportanza maggiore, ed è sia fisica che virtuale (software).

6 Laboratorio di Informatica – Reti di calcolatori 6 Sistemi operativi: un po di storia

7 Laboratorio di Informatica – Reti di calcolatori 7 I primi sistemi operativi sono stati progettati negli anni 50 per i calcolatori allora disponibili. Consistevano in poche centinaia di istruzioni per il caricamento del programma in memoria centrale e per la produzione, su un dispositivo di output, dei risultati dellelaborazione. Linterfaccia era quella comune allora – interruttori e spie luminose. I comandi venivano impartiti in codice binario. Sistemi operativi: storia

8 Laboratorio di Informatica – Reti di calcolatori 8 Nella seconda metà degli anni 60, la AT&T abbandona il progetto MULTICS – un sistema a time-sharing – rivelatosi deludente. Ken Thompson, allora ai Bell Labs della AT&T, scrive un sistema operativo in assembler e lo battezza, UNICS (Uniplexed Information and Computing Services). UNIX Nasceva così UNIX, capostipite di una numerosa e varia famiglia di sistemi operativi. Era il Sistemi operativi: storia (UNIX)

9 Laboratorio di Informatica – Reti di calcolatori 9 Nel frattempo Dennis Ritchie, che collaborava con Thompson, sviluppa il linguaggio di programmazione C. Nel 1972 UNIX viene riscritto in C, aprendo la strada allutilizzo su altre piattaforme hardware. Dal 1975 in poi, UNIX inizia a diffondersi nelle università – negli Stati Uniti, in Giappone, Australia, Europa… Sistemi operativi: storia (UNIX)

10 Laboratorio di Informatica – Reti di calcolatori 10 Sistemi operativi: storia (UNIX) La ramificazione delle versioni di UNIX diventerà poi inarrestabile. Il grafico qui riportato è aggiornato a fine 2001, e non è che la punta di un iceberg: molte varianti sono poco diffuse, e non vengono riportate. fonte:

11 Laboratorio di Informatica – Reti di calcolatori 11 Negli anni 70, iniziano a diffondersi i primi personal computer. Gary Kildall sviluppa, nel 1972, il CP/M (Control Program for Microprocessors), un sistema operativo funzionante su uno dei primi processori Intel (il 4004). Il primo BIOS fu scritto da Kildall come modulo per il proprio CP/M, in modo da rendere il sistema meno dipendente dallhardware. Sistemi operativi: storia (DOS)

12 Laboratorio di Informatica – Reti di calcolatori 12 Nel 1980 Tim Patterson, della Seattle Computer Products, sviluppò un proprio sistema operativo basato sul CP/M. Impiegò due mesi, e lo battezzò QDOS (Quick and Dirty Operating System). Dopo quattro mesi, unaltra ditta di Seattle, la Microsoft di Bill Gates, acquista dalla SCP i diritti per rivendere il DOS ad un cliente non menzionato. lIBM Il cliente è lIBM, che nel 1981 lancerà il primo PC, dando il via alla rivoluzione dei personal computer. Sistemi operativi: storia (DOS)

13 Laboratorio di Informatica – Reti di calcolatori 13 System La Apple Computer, negli stessi anni, sta portando avanti diversi progetti, e sperimenta diversi sistemi operativi. Nel 1984, con il lancio (e il successo) dellApple Macintosh, si focalizzerà sul suo sistema operativo, il System – allora alla versione 1.0. Al contrario del DOS, nelle sue varie incarnazioni, il System ha uninterfaccia grafica. Lanno successivo, il 1985, la Microsoft lancia la prima versione di Windows. Sistemi operativi: storia (Win & Mac)

14 Laboratorio di Informatica – Reti di calcolatori 14 Dal ad oggi, sia la Apple che la Microsoft hanno aggiornato più volte i propri sistemi operativi. Linterfaccia Apple è rimasta simile (perché molto funzionale), mentre la Microsoft ha via via abbandonato il DOS, e nel 1995 ha introdotto, con Windows 95, uninterfaccia grafica più curata ed efficiente. Sistemi operativi: storia (Win & Mac)

15 Laboratorio di Informatica – Reti di calcolatori 15 Nel 1991 uno studente finlandese, Linus Torvalds, sviluppò il kernel per un sistema operativo basato su una variante di UNIX. Lo distribuì in rete secondo la GNU General Public License, una licenza che ne consentiva luso, la redistribuzione e la modifica (a certe condizioni). Iniziò a ricevere da subito contributi da altri sviluppatori. Sistemi operativi: storia (Linux)

16 Laboratorio di Informatica – Reti di calcolatori 16 Linux Nasceva così Linux, una delle varianti UNIX oggi più diffuse. Il kernel di Linux è continuamente aggiornato, e disponibile anche gratuitamente. comunità software libero Uno dei punti di forza di questo sistema è la comunità che lo supporta, e la filosofia su cui si basa, quella del software libero. Sistemi operativi: storia (Linux)

17 Laboratorio di Informatica – Reti di calcolatori 17 Sistemi operativi: struttura interna

18 Laboratorio di Informatica – Reti di calcolatori 18 struttura La struttura di un sistema operativo, tipicamente, è quella a cipolla: Livelli

19 Laboratorio di Informatica – Reti di calcolatori 19 Livelli Ciascun livello: funzionalità – usa le funzionalità di quello sottostante servizi – fornisce servizi al livello che segue nella gerarchia risorse – gestisce delle risorse mediante politiche invisibili ai livelli superiori Lhardware è dunque ricoperto da una serie di strati di software.

20 Laboratorio di Informatica – Reti di calcolatori 20 Macchine virtuali lesperto che scrive un sistema operativo vede il sistema come un insieme di risorse fisiche da comandare direttamente; colui che progetta un ambiente di programmazione vede la macchina come linsieme delle funzioni messe a disposizione dal sistema operativo; Si crea, in questo modo, una gerarchia di macchine virtuali.

21 Laboratorio di Informatica – Reti di calcolatori 21 Macchine virtuali lutente che usa un linguaggio di alto livello per progettare un programma applicativo vede lelaboratore come linsieme delle funzionalità messe a disposizione dallambiente di programmazione; per lutilizzatore di un programma applicativo, infine, il sistema appare virtualmente come linsieme dei comandi che può fornire alla macchina per soddisfare le sue esigenze.

22 Laboratorio di Informatica – Reti di calcolatori 22 Macchine virtuali Riassumendo: lutente finale del sistema interagisce solo con il livello più esterno della gerarchia. Idealmente, lutente finale è ignaro di tutti i dettagli delle operazioni svolte dai livelli inferiori. Potrebbe (sempre idealmente) essere a conoscenza solo delle operazioni che è interessato ad effettuare.

23 Laboratorio di Informatica – Reti di calcolatori 23 Il livello più basso è quello del kernel (nucleo). Questa parte del sistema operativo si occupa di gestire lesecuzione dei programmi. Gestione CPU Un programma in esecuzione è detto processo. Il kernel distribuisce le risorse di calcolo tra i vari processi attivi.

24 Laboratorio di Informatica – Reti di calcolatori 24 Una prima distinzione è dunque tra quei sistemi che eseguono un processo per volta e quelli in grado di gestirne diversi contemporaneamente. multitasking Questi ultimi sono detti multitasking. Gestione CPU

25 Laboratorio di Informatica – Reti di calcolatori 25 La memoria è una risorsa essenziale e limitata. Essenziale Essenziale, perché ogni programma in esecuzione (processo) deve essere caricato in memoria, e così i dati su cui opera. Gestione memoria Limitata Limitata, perché nei sistemi moderni possono essere attivi più processi nello stesso tempo.

26 Laboratorio di Informatica – Reti di calcolatori 26 Dal momento che la memoria di sistema (RAM) è una risorsa finita, nellallocarla ai vari processi il sistema operativo deve risolvere vari problemi: Gestione memoria trovare spazio per i vari processi; rilocare il codice caricato in memoria; ridurre la frammentazione.

27 Laboratorio di Informatica – Reti di calcolatori 27 Gestione memoria A B A B C In memoria sono caricati i processi A e B. C Anche C viene caricato in memoria. Il processo B termina, e libera la memoria. A C D Il processo D non trova spazio in cui inserirsi, anche se la memoria libera complessiva sarebbe sufficiente.

28 Laboratorio di Informatica – Reti di calcolatori 28 Gestione memoria: paginazione E anche possibile suddividere la memoria in blocchi (pagine fisiche). I programmi da caricare dovranno essere divisi in pagine logiche E F G Memoria (RAM) Processi

29 Laboratorio di Informatica – Reti di calcolatori 29 Gestione memoria: swapping In memoria sono presenti A, B, e C. D non trova spazio. swapping Il sistema operativo può riservare unarea di un disco per lo swapping. D C viene copiato su un disco dal gestore della memoria. A B C D A B D viene caricato in memoria. C C

30 Laboratorio di Informatica – Reti di calcolatori 30 Memoria virtuale Le tecniche appena esposte possono coesistere tranquillamente. Il risultato della loro interazione è che il sistema può disporre, in apparenza, di una quantità di memoria maggiore di quella fisica installata. memoria virtuale Lutilizzo di una memoria secondaria (su disco) per estendere la memoria di sistema consente di parlare di memoria virtuale.

31 Laboratorio di Informatica – Reti di calcolatori 31 accesso Laccesso alle periferiche di I/O viene gestito dal sistema operativo insieme ai driver di periferica. Gestione Input/Output Questi sono programmi specifici per ciascun dispositivo che si colleghi allelaboratore (stampanti, scanner dischi…).

32 Laboratorio di Informatica – Reti di calcolatori 32 Linterazione tra un programma e una periferica è standardizzata. Un programma di elaborazione testi, ad esempio, può inviare un comando di stampa senza curarsi del tipo di stampante collegata al computer. Gestione Input/Output Spetta al sistema operativo smistare la richiesta al driver della stampante.

33 Laboratorio di Informatica – Reti di calcolatori 33 errori di I/O A questo livello è implementato anche un sistema di gestione degli errori di I/O (ad es. dischetto mancante o danneggiato, carta esaurita, ecc.). Gestione Input/Output Anche il controllo dellordine di accesso ai dispositivi è cruciale. Il sistema operativo deve prevenire, o risolvere, eventuali conflitti.

34 Laboratorio di Informatica – Reti di calcolatori 34 file system Il file system è il modo in cui il sistema operativo organizza i file (documenti) sulle unità di memorizzazione. Gestione file Un file è unastrazione che rappresenta un insieme di byte logicamente collegati.

35 Laboratorio di Informatica – Reti di calcolatori 35 file system Il file system deve mettere a disposizione diverse funzioni per la manipolazione dei file: creazione/eliminazione lettura/scrittura/esecuzione coordinamento accessi contemporanei controllo degli accessi (nei sistemi multiutente) Gestione file: funzioni

36 Laboratorio di Informatica – Reti di calcolatori 36 interprete dei comandi Linterprete dei comandi è quella parte del sistema operativo che riceve ed elabora le istruzioni impartite da un utente. Inteprete dei comandi (shell) shell E possibile utilizzare lo stesso sistema operativo con shell differenti. Questo può rendere molto diverso il modo di impartire comandi.

37 Laboratorio di Informatica – Reti di calcolatori 37 interfaccia La shell è dunque lo strato più esterno di un sistema operativo. Di fatto, rappresenta linterfaccia tra utente e sistema. Inteprete dei comandi (shell) MacOS XWindows XPLinux – KDE 3.0

38 Laboratorio di Informatica – Reti di calcolatori 38 La scelta di un sistema operativo ha unimportanza sia teorica che culturale. Un sistema operativo non è solo una realizzazione ingegneristica, ma rispecchia in qualche misura la filosofia che scegliamo di adottare nel nostro rapporto con il computer. Bisogna dunque guardarsi dal considerare il sistema operativo come una sorta di dato tecnologico: si tratta, piuttosto, del risultato di un processo che ha anche fondamentali aspetti culturali e comunicativi. Sistemi operativi: implicazioni

39 Laboratorio di Informatica – Reti di calcolatori 39 interprete dei comandi Linterprete dei comandi è quella parte del sistema operativo che riceve ed elabora le istruzioni impartite da un utente. Inteprete dei comandi (shell)

40 Laboratorio di Informatica – Reti di calcolatori 40 interprete dei comandi shellinterfaccia utente Che differenza cè tra interprete dei comandi,shell, e interfaccia utente? I primi due termini sono sinonimi. Shell vuol dire guscio, in riferimento al fatto che si tratta dello strato più esterno di un sistema operativo. Inteprete dei comandi (shell) e interfaccia

41 Laboratorio di Informatica – Reti di calcolatori 41 mezzo Linterfaccia è il mezzo attraverso il quale lutente invia comandi alla shell. tipo di utente Esistono diverse interfacce possibili per linterazione uomo-macchina. Il loro successo dipende, oltre che da unaccurata progettazione, dal tipo di utente cui sono rivolte. Interfaccia

42 Laboratorio di Informatica – Reti di calcolatori 42 Due sono i tipi di interfaccia più diffusi per interagire con un computer: a caratteririga di comando Interfacce a caratteri, anche dette a riga di comando ( CLI, command line interfaces ) grafiche Interfacce grafiche ( GUI, graphical user interfaces ), in particolare di tipo WIMP ( Windows, Icons, Menus, Pointing device ) Interfacce

43 Laboratorio di Informatica – Reti di calcolatori 43 Storicamente, per motivi legati allhardware, le interfacce a caratteri vengono prima delle altre. Il CP/M, il DOS, alcuni sistemi operativi in uso sui mainframe negli anni 60, UNIX.. Hanno tutti uninterfaccia a caratteri. Interfacce a caratteri

44 Laboratorio di Informatica – Reti di calcolatori 44 Interfacce a caratteri DOS shell

45 Laboratorio di Informatica – Reti di calcolatori 45 Unix shell (linux console) Interfacce a caratteri

46 Laboratorio di Informatica – Reti di calcolatori 46 Esistono molti tipi di shell con interfaccia a caratteri, così come con interfaccia grafica. sintassi flessibilità La differenza tra le interfacce a caratteri è nella sintassi e nella maggiore o minore flessibilità. Interfacce a caratteri

47 Laboratorio di Informatica – Reti di calcolatori 47 Cosa rende diverse le interfacce grafiche le une dalle altre? Evidenziamo due aspetti: metafora il tipo di metafora usata; elementi costitutivi gli elementi costitutivi che lutente può manipolare. Interfacce grafiche

48 Laboratorio di Informatica – Reti di calcolatori 48 La metafora più utilizzata nei personal computer, oggi, è quella della scrivania (in inglese, desktop). Dalla sua introduzione ad oggi sono state introdotte interfacce alternative, allo scopo di superarne le limitazioni, ma ancora senza successo. Metafore

49 Laboratorio di Informatica – Reti di calcolatori 49 Xerox Star

50 Laboratorio di Informatica – Reti di calcolatori 50 Magic Cap, della General Magic Interfacce grafiche: Magic Cap

51 Laboratorio di Informatica – Reti di calcolatori 51 Interfacce grafiche: BOB Microsoft BOB (1995).

52 Laboratorio di Informatica – Reti di calcolatori 52 Linterfaccia grafica dellApple Macintosh: il Finder (ver. 0.97) Interfacce grafiche: Macintosh

53 Laboratorio di Informatica – Reti di calcolatori 53 Uninterfaccia per il DOS: Windows 1.0 Interfacce grafiche: Windows 1.0

54 Laboratorio di Informatica – Reti di calcolatori 54 Uninterfaccia per il DOS: Windows 3.1 Interfacce grafiche: Windows 3.1

55 Laboratorio di Informatica – Reti di calcolatori 55 Windows 95 Interfacce grafiche: Windows 95

56 Laboratorio di Informatica – Reti di calcolatori 56 Luso – e limplementazione - di una metafora pone di fronte, tipicamente, a tre problemi: nel dominio virtuale sono possibili azioni impraticabili in quello reale; nel dominio reale sono possibili azioni impraticabili in quello virtuale; alcune azioni sono presenti in entrambi i domini, ma funzionano in maniera diversa. Interfacce grafiche: metafore

57 Laboratorio di Informatica – Reti di calcolatori 57 Si tratta di uninterfaccia a manipolazione diretta: esistono degli oggetti discreti sui quali lutente può compiere delle azioni (spostarli, trascinarli, gettarli nel cestino..). La metafora associa questi oggetti ai loro corrispettivi nel mondo reale; lutente ha già unidea di quali azioni è possibile compiere. Interfacce grafiche: il desktop

58 Laboratorio di Informatica – Reti di calcolatori 58 Il problema delle interfacce a manipolazione diretta è che lutente deve manipolare direttamente ogni oggetto… per compiti ripetitivi, è frustrante; per compiti complessi, a volte non tutti i passaggi sono noti. Interfacce grafiche: manipolazione

59 Laboratorio di Informatica – Reti di calcolatori 59 Le interfacce attuali, basate sulla metafora della scrivania, sono di tipo WIMP. widget Gli elementi che le compongono vengono detti widget. Una widget è un elemento che fornisce informazioni allutente o gli permette di interagire con il sistema operativo o con unapplicazione. Elementi grafici

60 Laboratorio di Informatica – Reti di calcolatori 60 Esempi di widget sono le icone, i menu, i pulsanti, le finestre, le barre di scorrimento, le caselle di testo… Solitamente è il sistema operativo a mettere a disposizione un insieme di widget. Interfacce grafiche

61 Laboratorio di Informatica – Reti di calcolatori 61 Interfacce grafiche Macintosh Windows Linux (KDE)


Scaricare ppt "1 Sistemi operativi Laboratorio di Informatica Elisa Mori"

Presentazioni simili


Annunci Google