La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Laboratorio di Informatica Elisa Mori

Presentazioni simili


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

1 Laboratorio di Informatica Elisa Mori morie@unisi.it
Sistemi operativi Laboratorio di Informatica Elisa Mori

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

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

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

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

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

7 Sistemi operativi: storia
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 dell’elaborazione. L’interfaccia era quella comune allora – interruttori e spie luminose. I comandi venivano impartiti in codice binario. Laboratorio di Informatica – Reti di calcolatori

8 Sistemi operativi: storia (UNIX)
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). Nasceva così UNIX, capostipite di una numerosa e varia famiglia di sistemi operativi. Era il 1969. AT&T: American Telephone & Telegraph Corporation. Prima di sviluppare UNICS, Thompson dovette anche scriversi l’assembler.. Meno male che lui e Dennis Ritchie avevano trovato un PDP-7 inutilizzato (?). Laboratorio di Informatica – Reti di calcolatori

9 Sistemi operativi: storia (UNIX)
Nel frattempo Dennis Ritchie, che collaborava con Thompson, sviluppa il linguaggio di programmazione “C”. Nel 1972 UNIX viene riscritto in C, aprendo la strada all’utilizzo su altre piattaforme hardware. Dal 1975 in poi, UNIX inizia a diffondersi nelle università – negli Stati Uniti, in Giappone, Australia, Europa… Il C era pensato come linguaggio indipendente dall’hardware, al contrario dei vari assembler. UNIX era stato creato inizialmente su un PDP-7; dal 1970 venne sviluppato su un PDP-11 che Thompson e Ritchie erano riusciti a far acquistare. 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: Laboratorio di Informatica – Reti di calcolatori

11 Sistemi operativi: storia (DOS)
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 dall’hardware. Laboratorio di Informatica – Reti di calcolatori

12 Sistemi operativi: storia (DOS)
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, un’altra ditta di Seattle, la Microsoft di Bill Gates, acquista dalla SCP i diritti per rivendere il DOS ad un cliente non menzionato. Il cliente è l’IBM, che nel 1981 lancerà il primo PC, dando il via alla rivoluzione dei personal computer. Laboratorio di Informatica – Reti di calcolatori

13 Sistemi operativi: storia (Win & Mac)
La Apple Computer, negli stessi anni, sta portando avanti diversi progetti, e sperimenta diversi sistemi operativi. Nel 1984, con il lancio (e il successo) dell’Apple 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 un’interfaccia grafica. L’anno successivo, il 1985, la Microsoft lancia la prima versione di Windows. Nota: già dal 1985 la Microsoft aveva un modo particolare di inserirsi nel mercato: le interfacce grafiche (Xerox, Apple, X-Window) erano di tipo WIMP (Windows, Icons, Menus, Pointing Device). Di conseguenza la Microsoft pensò bene di battezzare il proprio sistema operativo con un nome che la legasse per sempre a un’interfaccia che non aveva inventato. Laboratorio di Informatica – Reti di calcolatori

14 Sistemi operativi: storia (Win & Mac)
Dal ad oggi, sia la Apple che la Microsoft hanno aggiornato più volte i propri sistemi operativi. L’interfaccia Apple è rimasta simile (perché molto funzionale), mentre la Microsoft ha via via abbandonato il DOS, e nel 1995 ha introdotto, con Windows 95, un’interfaccia grafica più curata ed efficiente. Spendere due parole riguardo all’evoluzione dei sistemi Microsoft, dal DOS alle varie incarnazioni di Windows, fino all’uso di Internet per aggiornare costantemente il SO. Laboratorio di Informatica – Reti di calcolatori

15 Sistemi operativi: storia (Linux)
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 l’uso, la redistribuzione e la modifica (a certe condizioni). Iniziò a ricevere da subito contributi da altri sviluppatori. Laboratorio di Informatica – Reti di calcolatori

16 Sistemi operativi: storia (Linux)
Nasceva così Linux, una delle varianti UNIX oggi più diffuse. Il kernel di Linux è continuamente aggiornato, e disponibile anche gratuitamente. Uno dei punti di forza di questo sistema è la comunità che lo supporta, e la filosofia su cui si basa, quella del software libero. Su Linux, aggiungere altre informazioni: che è stabile, che è uno dei sistemi più usati sui web server in combinazione con Apache, e così ia. Laboratorio di Informatica – Reti di calcolatori

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

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

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

20 Laboratorio di Informatica – Reti di calcolatori
Macchine virtuali Si crea, in questo modo, una gerarchia di “macchine virtuali”. • l’esperto 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 l’insieme delle funzioni messe a disposizione dal sistema operativo; Laboratorio di Informatica – Reti di calcolatori

21 Laboratorio di Informatica – Reti di calcolatori
Macchine virtuali • l’utente che usa un linguaggio di alto livello per progettare un programma applicativo vede l’elaboratore come l’insieme delle funzionalità messe a disposizione dall’ambiente di programmazione; • per l’utilizzatore di un programma applicativo, infine, il sistema appare virtualmente come l’insieme dei comandi che può fornire alla macchina per soddisfare le sue esigenze. Laboratorio di Informatica – Reti di calcolatori

22 Laboratorio di Informatica – Reti di calcolatori
Macchine virtuali Riassumendo: l’utente finale del sistema interagisce solo con il livello più esterno della gerarchia. Idealmente, l’utente 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. Laboratorio di Informatica – Reti di calcolatori

23 Laboratorio di Informatica – Reti di calcolatori
Gestione CPU Il livello più basso è quello del kernel (nucleo). Questa parte del sistema operativo si occupa di gestire l’esecuzione dei programmi. Un programma in esecuzione è detto processo. Per analogia, si può considerare un programma come una ricetta e il processore come cuoco. L’esecuzione della ricetta, che comprende la lettura, la selezione degli ingredienti, la disposizione degli stessi a portata di mano in attesa di usarli, e così via, è il processo. Per risorse di calcolo, si intende il tempo che la CPU dedica ad un particolare processo. Il kernel distribuisce le risorse di calcolo tra i vari processi attivi. Laboratorio di Informatica – Reti di calcolatori

24 Laboratorio di Informatica – Reti di calcolatori
Gestione CPU Una prima distinzione è dunque tra quei sistemi che eseguono un processo per volta e quelli in grado di gestirne diversi “contemporaneamente”. Questi ultimi sono detti multitasking. Analogia del barista come processore, che può essere adattata sia per i sistemi a task singolo che per quelli multitasking. Laboratorio di Informatica – Reti di calcolatori

25 Laboratorio di Informatica – Reti di calcolatori
Gestione memoria La memoria è una risorsa essenziale e limitata. Essenziale, perché ogni programma in esecuzione (processo) deve essere “caricato” in memoria, e così i dati su cui opera. Limitata, perché nei sistemi moderni possono essere attivi più processi nello stesso tempo. In effetti non è necessario caricare per intero un programma in memoria, ma solo quelle sue parti che si stanno effettivamente utilizzando. Laboratorio di Informatica – Reti di calcolatori

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

27 Laboratorio di Informatica – Reti di calcolatori
Gestione memoria A A B B C C In memoria sono caricati i processi A e B. Anche C viene caricato in memoria. Il processo B termina, e libera la memoria. A D C Il processo D non trova spazio in cui inserirsi, anche se la memoria libera complessiva sarebbe sufficiente. 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. Memoria (RAM) Processi 1 1 E 2 2 3 3 4 4 5 5 F 6 6 7 7 8 G 8 9 9 Laboratorio di Informatica – Reti di calcolatori

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

30 Laboratorio di Informatica – Reti di calcolatori
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. L’utilizzo di una memoria secondaria (su disco) per estendere la memoria di sistema consente di parlare di memoria virtuale. Laboratorio di Informatica – Reti di calcolatori

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

32 Gestione Input/Output
L’interazione 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. Spetta al sistema operativo smistare la richiesta al driver della stampante. L’interazione è standardizzata in questo senso: un programma di scrittura, ad esempio, può inviare un comando di stampa senza curarsi del tipo di stampante collegata al computer. Spetta al SO, insieme al driver della stampante, provvedere all’esecuzione dell’operazione. Laboratorio di Informatica – Reti di calcolatori

33 Gestione Input/Output
A questo livello è implementato anche un sistema di gestione degli errori di I/O (ad es. dischetto mancante o danneggiato, carta esaurita, ecc.). Anche il controllo dell’ordine di accesso ai dispositivi è cruciale. Il sistema operativo deve prevenire, o risolvere, eventuali conflitti. Il SO deve inoltre curarsi della gestione degli errori di I/O (dischetto mancante o danneggiato, carta esaurita) così come della corretta gestione della coda di accesso ai dispositivi stessi (se il programma P1, che sta usando la risorsa R1, vuole accedere anche alla risorsa R1, e il programma P2 sta usando la risorsa R2, allora P1 viene messo in attesa. Ma se P2 richiede la risorsa R1 per usarla contemporaneamente a R2, allora ci si può trovare potenzialmente in una fase di stallo – è il SO a doverla risolvere, o a doverla prevenire). Laboratorio di Informatica – Reti di calcolatori

34 Laboratorio di Informatica – Reti di calcolatori
Gestione file Il file system è il modo in cui il sistema operativo organizza i file (documenti) sulle unità di memorizzazione. Un file è un’astrazione che rappresenta un insieme di byte logicamente collegati. Con “protezione” intendo la caratteristica per cui nei SO multiutente possono essere impostati dei permessi di accesso ai file basati su utenti e gruppi. I file e le directory sono in tal modo protetti da accessi non autorizzati. Laboratorio di Informatica – Reti di calcolatori

35 Gestione file: funzioni
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) Chiaramente la combinazione delle operazioni sopra elencate consente di compierne altre: leggere un file, crearne uno vuoto, scrivere in questo il contenuto letto in quello precedente equivale a copiare il file… Laboratorio di Informatica – Reti di calcolatori

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

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

38 Sistemi operativi: implicazioni
La scelta di un sistema operativo ha un’importanza 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. Tale scelta non è sempre possibile. Vedi fallimento della Be, Inc. e questioni sulle licenze Microsoft per i rivenditori. Laboratorio di Informatica – Reti di calcolatori

39 Inteprete dei comandi (shell)
L’interprete dei comandi è quella parte del sistema operativo che riceve ed elabora le istruzioni impartite da un utente. Nota: sul modo di impartire comandi, cominciano a vedersi i primi timidi tentativi di implementare comandi basati su “gesti”, gesti fatti con il mouse: un gioco uscito nel 2001, Black & White, funzionava in questo modo (ed il cursore era in effetti una mano) e una libreria di Litestep fa la stessa cosa. Laboratorio di Informatica – Reti di calcolatori

40 Inteprete dei comandi (shell) e interfaccia
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. Shell vuol dire “guscio”. Il nome deriva dall’interprete dei comandi utilizzata nel sistema Multics. Laboratorio di Informatica – Reti di calcolatori

41 Laboratorio di Informatica – Reti di calcolatori
Interfaccia L’interfaccia è il mezzo attraverso il quale l’utente invia comandi alla shell. Esistono diverse interfacce possibili per l’interazione uomo-macchina. Il loro successo dipende, oltre che da un’accurata progettazione, dal tipo di utente cui sono rivolte. In effetti, gli utenti sono in generale di bocca buona. Se effettivamente l’usabilità dell’interfaccia ne potesse decretare il successo, Windows non reggerebbe il confronto con altri sistemi più funzionali. La curva di apprendimento per interfacce poco intuitive può essere alta, ma la produttività, una volta “addestrati”, ne risente solo in minima parte – anche perché l’utente impara ad aggirare i lati negativi dell’interfaccia. Le interfacce a riga di comando, ad esempio, vanno benissimo per il tipo di comunità al cui interno sono state sviluppate: programmatori, o comunque persone dotate delle competenze, dell’interesse e del tempo necessari ad apprendere una sintassi e dei comandi, e il modo di combinarli. Laboratorio di Informatica – Reti di calcolatori

42 Laboratorio di Informatica – Reti di calcolatori
Interfacce Due sono i tipi di interfaccia più diffusi per interagire con un computer: Interfacce a caratteri, anche dette a riga di comando (CLI, command line interfaces) Interfacce grafiche (GUI, graphical user interfaces), in particolare di tipo WIMP (Windows, Icons, Menus, Pointing device) Altri tipi di interfacce grafiche: Microsoft BOB, per restare nell’ambito dei sistemi operativi, o quelle fornite dai giochi per computer, spesso innovative (due esempi: Black & White [2001] e Monkey Island III [1997]). Laboratorio di Informatica – Reti di calcolatori

43 Interfacce a caratteri
Storicamente, per motivi legati all’hardware, 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 un’interfaccia a caratteri. Laboratorio di Informatica – Reti di calcolatori

44 Interfacce a caratteri
DOS shell Due parole sulla finestra, su cosa compare, sul comando appena eseguito (dir), e così via. Laboratorio di Informatica – Reti di calcolatori

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

46 Interfacce a caratteri
Esistono molti tipi di shell con interfaccia a caratteri, così come con interfaccia grafica. La differenza tra le interfacce a caratteri è nella sintassi e nella maggiore o minore flessibilità. Per quanto riguarda la sintassi, gli esempi sono facili (i comandi DIR e LS, magari); riguardo alla flessibilità, alludo alla possibilità di creare script o file batch più o meno potenti, o all’autocompletamento dei comandi, o alla “history” degli stessi. Al limite anche la colorazione dei file in base al tipo, in alcune shell Unix. Laboratorio di Informatica – Reti di calcolatori

47 Laboratorio di Informatica – Reti di calcolatori
Interfacce grafiche Cosa rende diverse le interfacce grafiche le une dalle altre? Evidenziamo due aspetti: il tipo di metafora usata; gli elementi costitutivi che l’utente può manipolare. Un’interfaccia grafica si basa sulle capacità grafiche dell’hardware per disegnare ciò che l’utente vedrà sul monitor. Cosa viene disegnato, e come, è ciò che permette di distinguere tra diverse interfacce. Altri tipi di interfacce grafiche: quelle fornite dai giochi per computer, spesso innovative (due esempi: Black & White [2001] e Monkey Island III [1997]). Laboratorio di Informatica – Reti di calcolatori

48 Laboratorio di Informatica – Reti di calcolatori
Metafore 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. Da più parti si sente affermare che la metafora della scrivania, per quanto funzionante, è obsoleta. C’è del vero: è una metafora pensata per permettere di usare il computer ad utenti che avevano familiarità con un certo tipo di lavoro da ufficio, e il computer rappresentava un elemento nuovo in quel contesto. Tuttavia oggi il computer è uno strumento presente in molti contesti, lavorativi e non; il vantaggio che si aveva utilizzando una metafora basata su un contesto che gli utenti già padroneggiavano non c’è più; il computer non è, inoltre, un elemento sconosciuto. Molte attività sono state ormai ristrutturate profondamente attraverso l’uso del computer (le comunicazioni e il flusso dei documenti, ad esempio), e rimanere legati ad una metafora antiquata limita i potenziali sviluppi dell’interfaccia. Laboratorio di Informatica – Reti di calcolatori

49 Laboratorio di Informatica – Reti di calcolatori
Xerox Star Da più parti si sente affermare che la metafora della scrivania, per quanto funzionante, è obsoleta. C’è del vero: è una metafora pensata per permettere di usare il computer ad utenti che avevano familiarità con un certo tipo di lavoro da ufficio, e il computer rappresentava un elemento nuovo in quel contesto. Tuttavia oggi il computer è uno strumento presente in molti contesti, lavorativi e non; il vantaggio che si aveva utilizzando una metafora basata su un contesto che gli utenti già padroneggiavano non c’è più; il computer non è, inoltre, un elemento sconosciuto. Molte attività sono state ormai ristrutturate profondamente attraverso l’uso del computer (le comunicazioni e il flusso dei documenti, ad esempio), e rimanere legati ad una metafora antiquata limita i potenziali sviluppi dell’interfaccia. Laboratorio di Informatica – Reti di calcolatori

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

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

52 Interfacce grafiche: Macintosh
L’interfaccia grafica dell’Apple Macintosh: il Finder (ver. 0.97) Laboratorio di Informatica – Reti di calcolatori

53 Interfacce grafiche: Windows 1.0
Un’interfaccia per il DOS: Windows 1.0 Laboratorio di Informatica – Reti di calcolatori

54 Interfacce grafiche: Windows 3.1
Un’interfaccia per il DOS: Windows 3.1 Laboratorio di Informatica – Reti di calcolatori

55 Interfacce grafiche: Windows 95
Confronto tra il primo sistema operativo Microsoft *realmente* dotato di interfaccia grafica e il Finder del Mac. Barra dei menu in alto nel Mac, Barra delle applicazioni in basso in Windows. Icone in alto a destra nel Mac, in alto a sinistra nel PC. Cestino sotto le icone principali nel PC, cestino in basso a destra, isolato, nel Mac. L’interfaccia del Mac è costruita secondo dei criteri precisi; la priorità data dalla disposizione delle icone è voluta, così come la barra dei menu (centralizzata per tutte le applicazioni, in modo da risparmiare spazio) in alto. E via dicendo… (per riferimenti: Laboratorio di Informatica – Reti di calcolatori

56 Interfacce grafiche: metafore
L’uso – e l’implementazione - 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. Consideriamo di paragonare un programma di elaborazione testi ad una macchina da scrivere. Primo caso: l’utente non penserà mai che esiste un comando “sostituisci”.. Laboratorio di Informatica – Reti di calcolatori

57 Interfacce grafiche: il desktop
Si tratta di un’interfaccia a manipolazione diretta: esistono degli oggetti discreti sui quali l’utente può compiere delle azioni (spostarli, trascinarli, gettarli nel cestino..). La metafora associa questi oggetti ai loro corrispettivi nel mondo reale; l’utente ha già un’idea di quali azioni è possibile compiere. Discutere dei problemi legati alle interfacce ispirate al mondo reale, e all’uso di metafore in genere. Laboratorio di Informatica – Reti di calcolatori

58 Interfacce grafiche: manipolazione
Il problema delle interfacce a manipolazione diretta è che l’utente deve manipolare direttamente ogni oggetto… per compiti ripetitivi, è frustrante; per compiti complessi, a volte non tutti i passaggi sono noti. Esempio di compito ripetitivo: rinominare tutti i file in una directory. Compito complesso: è il problema delle metafore, di quanto l’utente si aspetta e delle funzionalità aggiuntive, inattese, che pure sono presenti. Alcuni passaggi necessari potrebbero non essere derivabili dalla metafora. Laboratorio di Informatica – Reti di calcolatori

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

60 Laboratorio di Informatica – Reti di calcolatori
Interfacce grafiche 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. Laboratorio di Informatica – Reti di calcolatori

61 Laboratorio di Informatica – Reti di calcolatori
Interfacce grafiche Macintosh Windows Citare la possibilità, in ambiente Unix, di avere Desktop multipli – e dunque la necessità di poter rendere visibile una finestra in ciascuno di essi, e non solo in quello in cui è stata creata. In Windows XP le widget sono diverse, ma la disposizione è la stessa. Linux (KDE) Laboratorio di Informatica – Reti di calcolatori


Scaricare ppt "Laboratorio di Informatica Elisa Mori"

Presentazioni simili


Annunci Google