Sistemi Operativi 1 Sistema operativo Il sistema operativo (Operating System - OS): offre le operazioni base necessarie per: ♦ luso efficace del computer mediante funzionalità che non sono fornite direttamente dallhardware ♦ agisce da intermediario fra lUtente e lHardware, con lo scopo di fornire un ambiente nel quale lutente possa eseguire i programmi applicativi in maniera sicura ed efficiente è un insieme di programmi che gestisce tutte le funzioni basilari di un computer (gestione disco, tastiera, video, mouse, reti, ecc.) installato nellhard disk, è un software (di sistema) che viene caricato allaccensione del computer (fase di boot) e rimane attivo fino allo spegnimento 2 Sistema operativo - funzioni esegue il boot gestisce la memoria centrale (RAM) gestisce i dispositivi di input/output (disco, stampante, tastiera, video, mouse, ecc.) gestisce lorganizzazione logica dei file gestisce le connessioni alle reti e le relative comunicazioni di dati Gestisce il caricamento ed esecuzione di programmi Gestisce gli account degli utenti 3 Sistemi operativi - tipi Mondo MICROSOFT Windows Hp /UX Mondo Unix - Linux 4 Sistemi operativi - tipi Sistemi operativi più usati: Microsoft Windows Linux Unix (Sun Solaris) MacOSX di Apple (per Macintosh) 5 Microsoft Windows Ventanni di versioni: 1.0 (1985) - 2.0 (1987) - 3.0 (1990) 95 NT 98 2000 Penultimo: XP Ultimo (2007): Vista Esistono anche versioni specifiche per dispositivi palmari: Windows CE e Pocket PC 6 Unix Unix è utilizzato principalmente in ambito aziendale ed in particolare su computer inseriti in rete Sviluppato dal Computing Science Research Group dei Bell Laboratories AT&T Nato nel 1969 (prima versione in lingaggio assembly), si è diffuso rapidamente in ambito accademico grazie al fatto che i sorgenti (scritti in linguaggio di programmazione C dal 1973) venivano inviati gratuitamente Oggi, lo Unix più diffuso è Sun Solaris 7 Linux Nel settembre 1991 viene completata la versione 0.01, resa liberamente disponibile sul server delluniversità di Helsinki da Linus Torvalds Il motivo di tanto successo è stato dovuto alla possibilità di reperire liberamente il codice sorgente di Linux 16 Gennaio 1992: viene rilasciata la versione 0.12 che porta novità a livello legale riguardanti la licenza In precedenza era esplicitamente vietato ottenere un qualsiasi ritorno economico dalla sua diffusione Da questa versione viene adottata la GNU General Pubblic License 14 Marzo 1994: si arriva alla versione 1.0 8 Struttura del Sistema Operativo 9 Sistemi operativi - componenti Kernel (nucleo) la parte più vicina allhardware Programmi di gestione dei dispositivi (driver) Interprete dei comandi Gestore della memoria primaria Gestore dei processori Gestore dellI/O Gestore dei file (File System) 10 Sistemi operativi - componenti Hardware Sistema Op. Elementi principali di un sistema operativo e dei componenti hardware: Kernel del Sistema Operativo (gestione memoria, CPU) Sottosistema di gestione Input/Output Driver SCSI Driver Keyboard Driver Mouse Driver PCI Bus Driver Floppy Driver ATAPI Controller SCSI Controller Keyboard Controller Mouse Controller PCI Bus Controller Floppy Controller ATAPI SCSI Bus Tastiera Mouse PCI Bus Floppy ATAPI Devices (es. CD-ROM) Meglio fare un passo indietro 11 Sistema di Elaborazione + Utente Hardware Software UTENTE APPLICAZIONI Sistema Operativo ? Controller SCSI Controller Keyboard Controller Mouse Controller PCI Bus Controller Floppy Controller ATAPI SCSI Bus Tastiera Mouse PCI Bus Floppy CD-ROM 12 Un quadro più preciso Hardware Sistema Operativo SW UTENTE APPLICAZIONI Interfaccia utente Gestione file system Gestione memoria, Gestione CPU Sottosistema di gestione Input/Output Driver SCSI Driver Keyboard Driver Mouse Driver PCI Bus Driver Floppy Driver ATAPI Controller SCSI Controller Keyboard Controller Mouse Controller PCI Bus Controller Floppy Controller ATAPI SCSI Bus Tastiera Mouse PCI Bus Floppy (es. CD-ROM) 13 Scopi di un Sistema Operativo 1. Rendere disponibile uninterfaccia user-friendly (amichevole) per linterazione uomo-macchina 2. Fornire un supporto interattivo e per utenti multipli (nel caso di sistema multi-programmato o multi-tasking) 2.1 Gestire i Processi (e luso della CPU) 2.2 Gestire la Memoria Centrale 1. Fornire un supporto uniforme per lInput/Output 2. Gestire la memoria secondaria 14 Prima impressione Se limpressione che avete avuto è che: il Sistema Operativo gestisca tutto, senza il Sistema Operativo, la vita degli informatici professionisti sarebbe molto più complessa senza il Sistema Operativo, la vita degli utilizzatori dellinformatica sarebbe molto più complessa levoluzione e la diffusione dellinformatica si deve in larga parte anche ai progressi nel campo dei sistemi operativi siete sulla buona strada per capire 15 Funzioni del Sistema Operativo Il Sistema Operativo è un software (di sistema) sempre attivo, ovvero sempre caricato in memoria centrale, in tutte le fasi: Fase di avvio (bootstrap) Fase di funzionamento Fase di spegnimento 16 Fase di avvio: BOOTSTRAP Fase iniziale che, allaccensione del computer, carica il Sistema Operativo in memoria principale (RAM) per poterlo rendere attivo Il bootstrap avviene in fasi successive: prima viene caricata una piccola parte che si trova in un supporto di memoria elettronica permanente (ROM), che sa dove andare a prendere e caricare unaltra, ..., fino a che tutto il Sistema Operativo (necessario) è in memoria centrale e in esecuzione 17 Bootstrap 18 Fase di spegnimento: SHUTDOWN Quando il computer è in funzione, utilizza molti dati temporanei che (per efficienza) vengono mantenuti in memoria centrale (RAM) e solo periodicamente o a richiesta vengono memorizzati su memoria secondaria (disco) Lo shutdown consente di fare ordine e pulizia: le informazioni utili temporaneamente in RAM vengono copiate su memoria secondaria che non è volatile le informazioni non necessarie vengono eliminate i canali aperti vengono chiusi, ecc. Se lo shutdown non viene effettuato correttamente (es., guasto, black-out) cè il rischio di perdere informazioni utili o di trovarsi con dati incongruenti 19 Componenti I Sistemi Operativi sono generalmente costituiti da un insieme di moduli, ciascuno dedicato a svolgere una determinata funzione I vari moduli del Sistemi Operativi interagiscono tra di loro secondo regole precise al fine di realizzare le funzionalità di base dalla macchina 20 Componenti Interfaccia utente Gestore dellI/O Gestore dei Processi Gestore del File System Gestore della Memoria Centrale *KERNEL 21 Componenti Nucleo (kernel) Costituito da quei programmi che realizzano le funzioni più critiche e più vicine allhardware come Operazioni di I/O, Gestione dei programmi di base, Gestione del controllo dei processi File System Gestisce la memorizzazione, il reperimento,il trasferimento delle informazioni contenute nelle memorie di massa. Consente all'utente di organizzare tali dati servendosi delle strutture logiche e delle funzioni ad alto livello Gestione Memoria Interfaccia utente (Shell) Manipolazione (visuale) ed amichevole di file e directory, Informazioni sullo stato, Caricamento ed esecuzione di programmi 22 Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni modulo ha una funzione diversa Funzioni più importanti: gestione processore gestione processi gestione memoria (principale e secondaria) gestione dispositivi di I/O 23 Shell del Sistema operativo Shell (guscio): interfaccia tra SO e utenti Di solito grafica (GUI Graphical User Interface), ma anche testuale 24 Interfaccia utente 25 Componenti Interfaccia utente Gestore dellI/O Gestore dei Processi Gestore del File System Gestore della Memoria Centrale *KERNEL 26 Interfaccia utente Tutti i Sistemi Operativi implementano dei meccanismi per rendere agevole lutilizzo del sistema da parte degli utente Linsieme di questi meccanismi di accesso al computer prende il nome di Interfaccia Utente 27 Due tipi di interfaccia Interfaccia testuale Interprete dei comandi (shell) Esempi: Linux/Unix (prime versioni), MS-DOS Interfaccia grafica (a finestre) Graphical User Interface (GUI) Loutput dei vari programmi viene visualizzato in maniera grafica allinterno di finestre Lutilizzo di disegni rende più intuitivo luso del calcolatore Esempi: Linux/Unix, Microsoft WINDOWS 28 Interfaccia testuale 29 Interfaccia grafica (GUI) 30 Il desktop come interfaccia Limmagine visualizzata sul monitor quando si accende il PC è colorata o dotata di sfondo linformazione è visualizzata lungo i bordi esterni del desktop, sotto forma di icone ci sono tre tipi base di icone: ♦ applicazioni (programmi) ♦ cartelle (directory) ♦ file (documenti) 31 Il desktop (cont.) Il desktop è una metafora ORIGINE: lavorare al PC è come sedere ad una scrivania ♦ si possono archiviare lavori (file) ♦ organizzare gli archivi in raccoglitori (directory) ♦ usare applicazioni (un programma o la calcolatrice) OGGI: stare al PC è molto di più di una scrivania: riproduzione video e audio, giochi, apprendimento, navigazione Web, 32 PC per Ascoltare la musica Esempio di metafora per linterfaccia utente il software che riproduce i CD sul computer sfrutta uninterfaccia grafica (GUI) la GUI somiglia a un comune lettore musicale ♦i pulsanti somigliano a quelli di un tipico lettore CD ♦ lutente può applicare alla GUI la sua conoscenza del funzionamento del lettore CD fisico senza avere bisogno di ulteriori istruzioni perché la simbologia gli è familiare 33 Simboli Ci sono pulsanti, controlli a scorrimento, pulsanti triangolari, ecc. Tutte forme che mirano ad essere intuitive (da usare senza dover consultare il manuale) 34 Esempio: iTunes 35 Menu Lista di operazioni che il software può eseguire Quali operazioni sono disponibili (operazioni simili sono raggruppate) Prendono la forma di una barra dei menu Tutte le operazioni che un programma può eseguire sono elencate nei menu Quando è necessario fornire informazioni aggiuntive 36 37 Funzionamento dei menu I menu che si aprono scendendo giù dalla barra si chiamano menu a tendina Quando si clicca il pulsante destro del mouse sono visualizzati i cosiddetti menu pop-up Con un click del mouse si apre il menu, che rivela un elenco di operazioni Scorrendo il mouse lungo la lista, il comando prescelto viene evidenziato Cliccare o rilasciare il pulsante sul comando evidenziato fa sì che il computer esegua loperazione 38 39 Shell testuali in un sistema Unix Shell più diffuse Bourne shell (sh) C Shell (csh) Korn Shell (ksh) Bourne Again Shell (bash, sviluppata dalla Free Software Foundation, standard su sistemi GNU/Linux) Programmi di utilità da linea di comando Comandi esterni utilizzabili principalmente dalla shell 40 Shell grafiche in Unix Sistema grafico (GUI) Gestisce le funzioni di grafica basilari (disegno di figure geometriche sullo schermo) Lo standard si chiama X-window, sviluppato presso il MIT Versione attuale: X11R7 (X-Window versione 11 release 7) Desktop environment Si appoggia alla GUI Fornisce un'interfaccia grafica consistente e gradevole Comprende funzioni per gestire i componenti dell'interfaccia grafica (bottoni, scrollbar,...) 41 Struttura di un sistema Unix (4) Desktop environment più diffusi KDE (K Desktop Environment) ♦ Diffuso su sistemi GNU/Linux ♦ Basato su sistema QT di Trolltech Gnome (Gnu Network Object Model Environment) ♦ Il più popolare DE su GNU/Linux ♦ Sponsorizzato da Novell (Ximian), Red Hat e altre importanti società CDE (Common Desktop Environment) ♦ Primo DE su Unix, sviluppato da HP, Sun e altre, ora defunto XFce 42 Gnome e KDE: look and feel a confronto Sia GNOME che KDE hanno enormi possibilità di essere personalizzate KDE tende ad essere ricco di opzioni per essere molto flessibile GNOME punta ad essere semplice ed essenziale per essere più semplice da usare 43 KDE vs. Gnome Gnome KDE Sintesi delle filosofie di Gnome e KDE vista da Jakub Steiner 44 Gestione dei Processi 45 Componenti Interfaccia utente Gestore dellI/O Gestore dei Processi Gestore del File System Gestore della Memoria Centrale *KERNEL 46 Motivazione Vi sono molte attività in parallelo su un computer. Es., terminali che richiedono servizi ad un calcolatore stampa di un documento e scrittura di un altro Il sistema operativo serve a coordinare queste attività e far comunicare le parti coinvolte 47 Passato Anni 40 e 50: un solo programma in esecuzione (job) alla volta monotasking Il computer a disposizione del programma dallinizio alla fine della sua esecuzione Svantaggi Nessuna interazione utente-programma Lentezza: la CPU non poteva essere usata da nessun processo mentre il programma in esecuzione svolge operazioni di I/O (molto piu lente di letture/scritture in Memoria) Es., non si può fare niente altro mentre si stampa o si memorizzano dati su disco 48 Gestore dei processi E il modulo che si occupa di controllare la sincronizzazione, interruzione e riattivazione dei programmi in esecuzione cui viene assegnato un processore La gestione dei processi viene compiuta in vari modi, in funzione del tipo di utilizzo cui il sistema è rivolto 49 Sistemi Mono-tasking I Sistemi Operativi che gestiscono lesecuzione di un solo programma per volta sono catalogati come mono-tasking Non è possibile sospendere lesecuzione di un programma per assegnare la CPU a un altro Sono storicamente i primi Sistemi Operativi per computer di grandi dimensioni, e anche in seguito per i primi Personal Computer (es., MS-DOS) 50 Sistemi Mono-tasking Tempo di utilizzo della CPU Tempo di attesa di eventi esterni C B A t T 51 Sistemi Multi-tasking I Sistemi Operativi che permettono lesecuzione contemporanea di più programmi sono definiti multi-tasking Esempi attuali: Linux, Windows Un processo può essere interrotto e la CPU può essere passata a un altro processo 52 Sistemi Multi-tasking Tempo di utilizzo della CPU. Tempo di attesa di eventi esterni. C B A t T multi-tasking T mono-tasking 53 Sistemi Time-sharing Unevoluzione dei sistemi multi-tasking sono i sistemi time sharing Ogni programma in esecuzione viene eseguito ciclicamente per piccoli quanti di tempo Se la velocità del processore è sufficientemente elevata si ha limpressione di unevoluzione parallela dei processi 54 Time sharing Ripartizione del tempo di CPU tra tutti i processi che la vogliono Ogni processo rimane in esecuzione solo per un quanto di tempo, poi lesecuzione passa al prossimo processo e il primo va in attesa Esecuzione globale piu veloce Durata del quanto di tempo: tra 100 e 200 millisecondi A ciascun utente sembra di avere la CPU tutta per lui 55 Time-sharing: diagramma temporale D C B A t 56 Altro diagramma temporale 57 Gestione della Memoria Principale 58 Componenti Interfaccia utente Gestore dellI/O Gestore dei Processi Gestore del File System Gestore della Memoria Centrale *KERNEL 59 Gestione della Memoria Lorganizzazione e la gestione della memoria centrale è uno degli aspetti più critici nel progetto e realizzazione di un Sistema Operativo Il gestore della memoria è quel modulo del Sistema Operativo incaricato di assegnare la memoria ai vari processi (per eseguire un programma, infatti, è necessario che il suo codice sia caricato in memoria) 60 Gestione della Memoria La complessità del gestore della memoria dipende dal tipo di Sistema Operativo Nei sistemi mono-tasking un solo programma può essere caricato in memoria centrale, quindi la gestione della memoria è relativamente semplice: Sistema Operativo Processo in esecuzione Nei sistemi multi-tasking più programmi possono essere caricati contemporaneamente in memoria Problema: come allocare lo spazio in maniera ottimale 61 Sistema Operativo mono-tasking Memoria 0000 Sistema Operativo Programma B (codice + dati) 62 Sistema Operativo multi-tasking (Allocazione lineare) Memoria 0000 Programma A Programma B Programma C 63 Sistema Operativo multi-tasking (Allocazione con paginazione) Memoria 0000 Programma A Programma A Programma A Programma B Programma B Programma D 64 Concetto di memoria virtuale Quando lo spazio richiesto è maggiore di quello fisico MEMORIA VIRTUALE Tecnica per Svincolare il codice di un programma dalla sua allocazione in memoria centrale Consentire ad un programma di essere eseguito come se avesse più memoria di quella reale 65 Realizzazione della Memoria virtuale Sposta programmi e dati tra memoria principale e memoria di massa per avere in ogni momento quello che serve Operativamente: Lo spazio richiesto è suddiviso in pagine (qualche Kbyte) Solo le pagine necessarie per iniziare sono caricate in memoria centrale, le altre sono lasciate su memoria secondaria (disco) Poi le pagine vengono scambiate tra memoria centrale e memoria secondaria a seconda della necessità 66 Gestione delle Periferiche (Dispositivi di input/output) 67 Dispositivi di Input/Output I dispositivi sono oggetti complessi da gestire! Ad esempio, la maggior parte dei dispositivi sono seriali (es., stampante) possono essere usati da un solo processo alla volta Tuttavia, molti dispositivi (es., stampante di rete) possono ricevere molte richieste contemporaneamente Servono: Meccanismi per la coordinazione delle varie richieste Diverse strategie per la gestione dei processi in attesa di utilizzare una risorsa 68 Necessità per la gestione Input/Output Gestione delle periferiche Rende trasparenti le caratteristiche fisiche delle periferiche Gestisce la comunicazione di segnali verso di loro Coordina laccesso di più utenti (processi) Driver delle periferiche (uno per ogni periferica) 69 Gestione delle Periferiche di Input/Output Il Sistema Operativo deve Fornire allutente ♦ visione astratta dei dispositivi ♦ comandi per utilizzare i dispositivi Ottimizzare lutilizzo dei dispositivi 70 Gestione Input/Output Il SO fornisce un insieme di comandi (linguaggio dinterazione tra utente e sistema) che fornisce una visione astratta del dispositivo Es. Stampa: per lutente equivale allinvio di un messaggio, indipendentemente da come avviene il trasferimento dei byte Lettura dello stato della stampante Modifica delle caratteristiche della stampa: lutente utilizza un pannello di controllo, senza curarsi dei dettagli implementativi 71 Device Driver Il controllo dei dispositivi di I/O avviene attraverso speciali programmi detti Device Driver I device driver sono spesso realizzati dai produttori dei dispositivi stessi che ne conoscono le caratteristiche fisiche in maniera approfondita I device driver servono per tutti i dispositivi che si connettono al computer (compresi lettori DVD, pen drive, macchina fotografica, ecc.) 72 Device Driver (Cont.) Questi programmi implementano normalmente le seguenti funzioni: Rendono trasparenti le caratteristiche fisiche tipiche di ogni dispositivo Gestiscono la comunicazione dei segnali verso i dispositivi Gestiscono i conflitti, nel caso in cui due o più processi vogliono accedere contemporaneamente allo stesso dispositivo 73 Hardware Sistema Op. Device Driver (Cont.) Kernel del Sistema Operativo (gestione memoria, CPU) Sottosistema di gestione Input/Output Driver SCSI Driver Keyboard Driver Mouse Driver PCI Bus Driver Floppy Driver ATAPI Controller SCSI Controller Keyboard Controller Mouse Controller PCI Bus Controller Floppy Controller ATAPI SCSI Bus Tastiera Mouse PCI Bus Floppy (es. CD-ROM) 74 Esempio: Spooling Processo che svincola la stampa di un file dal resto dellelaborazione: il sistema continua la sua attività mentre la stampa è in corso Stampante più lenta della CPU un file non può essere trasferito troppo velocemente dalla CPU alla stampante Invece di inviare il file: Il file viene messo su disco Il Sistema Operativo crea il processo di spooling che fa procedere la stampa Il processo che ha richiesto la stampa è svincolato da essa Lo spooling può andare in esecuzione anche su un elaboratore remoto collegato in rete (print server) lo eseguirà unaltra CPU 75 Modulo 4: Gestione della Memoria Secondaria (File System) 76 Componenti Interfaccia utente Gestore dellI/O Gestore dei Processi Gestore del File System Gestore della Memoria Centrale *KERNEL 77 Gestione della memoria secondaria Realizzata dal modulo del Sistema Operativo, detto file system, che si occupa di: Associare un nome di file ad una parte dello spazio del disco Fornire metodi per accedere ai file Rendere trasparente la struttura fisica del disco 78 Gestore del File System Il gestore del file system è quel modulo del sistema operativo incaricato di gestire le informazioni memorizzate sui dispositivi di memoria di massa DISCO Il gestore del file system deve garantire: la correttezza la coerenza il recupero efficiente delle informazioni memorizzate 79 Gestore del File System Insieme di programmi per lorganizzazione Logica Fornire allutente una visione logica dei file (che astrae dallorganizzazione fisica) Fisica gestire i file nella memoria secondaria (dischi) e ottimizzare lutilizzo dello spazio disponibile 80 Organizzazione logica Lutente deve poter organizzare le proprie informazioni in file e insiemi di file accedere ai dati identificare ogni file con un nome logico operare sui file (creare, eliminare, cambiare nome, modificare) proteggere i propri file (da accessi non desiderati) 81 Organizzazione fisica Il Sistema Operativo deve: tener traccia dei file memorizzati e della loro posizione fisica sui dischi ottimizzare lutilizzo dello spazio su disco gestire le comunicazioni tra la memoria principale e la memoria secondaria (disco) 82 Altre funzioni Nei sistemi multi-utente, il Sistema Operativo deve mettere a disposizione dei meccanismi di protezione in modo tale da consentire agli utenti di proteggere i propri dati dallaccesso da parte di altri utenti non autorizzati 83 File Unica unità logica di informazione usata dal Sistema Operativo Fisicamente: Sequenza di byte che contiene informazioni omogenee Es., programma, testo, dati simili, Byte = 8 bit Tutti i dati vengono suddivisi in file I file vengono memorizzati nelle memorie di massa 84 File Un insieme di informazioni (dati, documenti) memorizzate su supporti di memoria secondaria Una sequenza di bit, byte, record logici, record fisici (dipende dal tipo del file e dal punto di vista), il cui significato è definito dal creatore del file file Disco 85 Tipo di file Ogni file è composto tipicamente da: Nome: stringa arbitraria decisa dallutente Estensione: insieme (fissato) di caratteri che definiscono il TIPO di un file Esempi relazione.doc report.txt foto.jpg articolo.pdf 86 Operazioni su file Creazione Apertura Chiusura Cancellazione Copia Rinomina Visualizzazione Lettura Scrittura Modifica 87 Operazioni sui file Nuovo: crea una nuova istanza di file Apri: localizza un file sul disco e lo apre Chiudi: termina lelaborazione dellistanza corrente dellinformazione e chiude la finestra, ma tiene il programma aperto per elaborare altre istanze Salva: scrive listanza corrente sul disco, usando lo stesso nome e la stessa posizione Salva come: scrive listanza corrente sul disco con un nuovo nome e/o una posizione differente 88 Nuova istanza di file Il comando Nuovo crea una istanza vuota Cosè una informazione vuota? linformazione è suddivisa in tipi basati su caratteristiche. Es., ♦ le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà ♦ i documenti di testo sono un tipo di informazione; il numero di caratteri è una delle sue proprietà Unistanza vuota è una struttura vuota, senza alcuna caratteristica se non per quanto riguarda il formato Istanza di una rubrica 89 Organizzazione di più file: directory Quasi tutti i sistemi operativi utilizzano unorganizzazione gerarchica del File System Lelemento utilizzato per raggruppare più file insieme è la directory Linsieme gerarchico delle directory e dei file può essere rappresentato attraverso una rappresentazione grafica: albero delle directory 90 Organizzazione dei file Possibilità di organizzare i file in Directory (dette anche Cartelle), ovvero come insiemi di: file altre directory Il tutto arricchito da un elenco dei contenuti Organizzazione attualmente scelta: gerarchica Organizzazione solo logica. Non cè alcuna relazione con la posizione fisica dei file di una directory (cartella) sul disco 91 Organizzazione ad albero Albero rovesciato (come genealogico) Nodi e collegamenti padre-figlio tra nodi Nodo: file o directory directory Nodi divisi per livelli file Collegamenti tra nodi di livelli vicini: nodo sopra = padre nodo sotto = figlio Ogni nodo ha un solo padre Padre più in alto = radice I nodi file non hanno figli Cammino assoluto o relativo (per file) 92 Albero delle Directory Directory File 93 Esempio: Albero delle directory in Unix 94 Operazioni su directory Organizzazione di file in strutture chiamate cartelle (directory) Creazione directory Eliminazione directory Elenco file di una directory Ricerca di un particolare file di tutti i file che soddisfano una particolare relazione Operazioni più complesse: backup, 95 Modulo 5: Consigli 96 RICORDARE: Applicazioni simili hanno caratteristiche simili Tutte le applicazioni nellelaborazione di testi: usano un cursore per marcare il punto di inserimento dei caratteri includono le operazioni per digitare parole, cancellarle, selezionarle, copiarle, cercarle, sostituirle, ecc. queste operazioni funzionano tutte in modo simile ♦ ad es., il tasto di backspace cancella il carattere subito a sinistra del cursore Come fanno i venditori di software a competere? aggiungendo caratteristiche non fondamentali cercando di rendere i sistemi più convenienti, facili da usare, veloci e meno propensi agli errori, ecc. 97 Sfruttare le somiglianze La nuova versione di un programma già noto condividerà le funzioni base e molte caratteristiche e peculiarità delle versioni precedenti Ma anche quando si deve svolgere un compito familiare con un programma che non si conosce, in realtà si sanno già usare le sue caratteristiche di base 98