Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old ›...

45
Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 1 Funzioni del Sistema Operativo Concetto di OS Gestione dei processi Gestione della memoria Gestione dell’I/O Gestione del file system Compilatori/interpreti Programmi di utilità

Transcript of Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old ›...

Page 1: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 1

Funzioni del Sistema OperativoConcetto di OS

Gestione dei processi Gestione della memoria Gestione dell’I/O Gestione del file system

Compilatori/interpretiProgrammi di utilità

Page 2: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2

CPU

La macchina nuda

CU ALU

Cache

RAM

Controllori I/O

Bus

I/O

010101011101110001101011001

???

Page 3: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 3

InterfacciaCome funziona quel televisore ?

Beh, c’è un sottile pennello di elettroni cheviene sparato contro uno schermofluorescente con elevata frequenza. Uncircuito di sintonia permette di visualizzarele diverse stazioni che

Non fa nulla, ho trovato sultelecomando il tasto peraccenderlo e quelli per cambiarecanale…

Page 4: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 4

La macchina virtualeTra la macchina nuda e l’utente si inserisce, con funzionedi interfaccia, la macchina virtuale.Si tratta di un insieme di programmi (software), che da una partecomunicano con l’hardware per gestire la macchina reale e dall’altraforniscono all’utente un ambiente virtuale i cui servizi fondamentalisono:

Accesso semplificato alla realizzazione edesecuzione di programmi

Accesso e gestione delle risorse di I/O“ad alto livello”

Accesso a dati e informazioni e protezionedegli stessi

Page 5: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 5

Il sistema operativoL’OS gestisce le risorse hardware e controlla l’esecuzione ditutti gli altri programmi.

Servizi richiesti dagli utenti( programmi, operazioni di I/O etc.)

Interfaccia verso l’esterno (system call)

Gestioneprocessi

Gestionememoria

GestioneI/O

Gestione filesystem

Traduttori

Hardware

Livello utente

Livello kernel(privilegiato)

Kernel

Page 6: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 6

Protezione e condivisioneOltre a costituire una macchina virtuale un sistema operativosistema operativo(OS) deve essere in grado di condividere le risorse fra leapplicazioni, nel contempo proteggendo ciascuna dai dannipotenzialmente arrecati dalle altre.

Esempi:Memoria non protetta: un’applicazione può invadere lo spazio usato daun’altra o addirittura dallo stesso OS

I/O non protetto: un’applicazione può “appropriarsi” di un dispositivo di I/O a tempo indeterminato

User mode (non privilegiato) Kernel mode (privilegiato)

Page 7: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 7

Programmi e ProcessiUn programma eseguibile è un insieme di istruzioniben ordinato in linguaggio macchina che può esserecaricato in memoria : è un oggetto statico

Un processo può essere definito, grosso modo, comeun programma in esecuzione, ed è quindi per naturaun oggetto dinamico.

Un processo è descritto non solo dal programma, maanche da tutte le informazioni (dinamiche) sullo stato diesecuzione (program counter, registri, dati etc.) dellostesso.

Page 8: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 8

Monotasking e Multitasking

I primi OS erano Monotasking: un solo processo poteva esserein esecuzione in un dato momento.Questo sistema è molto inefficiente nell’utilizzo delle risorse.Per esempio un processo I/O bound, che spende la maggiorparte del tempo in attesa di risposta dall’I/O blocca inutilmentela CPU, mentre un processo di tipo CPU bound può bloccareper lungo tempo l’interazione con l’utente “congelando” lamacchina.

Multitasking: il controllo della CPU viene passato aturno da un processo all’altro. L’operazione dipassaggio prende il nome di context switching.

Page 9: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 9

Stati di un processo

Blocked

New

ReadyRunning

Exit

Scheduler

Interrupt

Page 10: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 10

Lo scheduler della CPULa sua funzione, come visto, è di selezionare uno deiprocessi che sono nello stato “Ready” e dargli il controllodella CPU.

Esistono varie tecniche di assegnazione della CPU: First In First Out, Shortest Job First, Round Robin…

Può far partire un nuovo processo quando1. Un processo si blocca ( running => blocked)2. Una time slice finisce ( running => ready)3. Un processo si sblocca (blocked => ready)4. Un processo termina (running => exit)

Time sharing

Page 11: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 11

Gestione della memoriaIl sistema multitasking pone una serie di problemi riguardola gestione della memoria:

1. Necessità di utilizzare programmi rilocabili2. Protezione delle risorse3. Condivisione delle risorse

Il sistema di gestione della memoria si occupa di taliquestioni, nonché dell’organizzazione fisica e logicadella memoria.

Page 12: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 12

Memoria virtuale

CPU MMU RAM

Indirizzologico

Indirizzofisico

I programmi si riferiscono ad indirizzi logici, che vengono tradotti arun time in indirizzi fisici dall’ hardware MMU. La MMU puòfacilmente implementare protezioni e rilocazioni dei programmi.Inoltre si possono far corrispondere gli stessi indirizzi fisici adiversi indirizzi logici, condividendo così delle risorse: dynamiclink libraries (dll), shared objects (so).

Page 13: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 13

SwappingUn processore a 32 bit può indirizzare 232=4 GB di RAM,superiore alla memoria fisica della massima parte deicomputer.

La struttura a “memoria virtuale” suggerisce di utilizzare questapossibilità per utilizzare parte della memoria di massa (harddisk) per “simulare” memoria e contenere processi inattivi.Questa opportunità va però usata con moderazione perché lalettura e scrittura su/da disco (swapping) di pagine di memoria èmolto lenta e rischia di paralizzare il computer. In UNIX loswap viene abilitato solo se la RAM libera è al di sotto di unasoglia prestabilita.

Page 14: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 14

Gestione dell’ I/OL’OS fornisce dei devices virtuali, che permettono adesempio al programmatore di prevedere un’istruzionedi tipo

printf(“Hello world \n”);

per stampare a video la frase Hello world, senzapreoccuparsi se il monitor è un Philips 17” o un Sony ese è collegato su una scheda PCI o AGP…

A livello hardware l’OS poi gestisce fisicamente idevices tramite i device drivers. Uno dei compiti inassoluto più complessi e delicati è la gestione degliinterrupts e l’assegnazione delle risorse, per evitaredi incorrere in circoli viziosi (deadlocks).

Page 15: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 15

Gestione dell’I/OI dispositivi di I/O sono di tipo molto vario, e presentanociascuno peculiari caratteristiche => la gestione dell’I/O è fra icompiti più complessi di un OS.

Interfaccia I/O dell’applicazione:Virtual device

Funzioni comuni di I/O : buffering e scheduling

Drivertastiera

Drivermouse

DriverHard disk

Driveraudio

Hardware: controllers di tastiera, mouse, disco, video, audio etc.

Livello utente

Livello kernel(privilegiato)

Drivervideo

Page 16: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 16

File & Directories• File: contenitore logico di informazione

immagazzinato nella memoria di massa.Può contenere programmi, testi, immagini,suoni, etc..

• Directory o cartella: area della memoriadi massa che contiene files o altre cartelle(sottocartelle). Di fatto e’ un file contenentel’elenco dei files appartenenti a quel gruppo e leinfomazioni che permettono al s.o. di localizzare ifiles.

Page 17: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 17

Il file systemI servizi che un OS deve fornire per la gestione deifiles sono, essenzialmente:

1. Fornire un metodo per associare un nome ad un file2. Manipolare l’accesso, la creazione e la cancellazione

dei files3. Gestire la corrispondenza fra blocchi logici e blocchi

fisici in modo trasparente all’utente4. Realizzare meccanismi di protezione dei dati per

determinare chi può avere accesso o controllo sui varifiles.

Page 18: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 18

Directories e organizzazione gerarchicaUna directory è un particolare file, contenitore di files edirectory. Essa definisce l’ambito di validità di un nomefile (name space).

/

usr

var

home gruppo

peppe

ciro

Prova.c

Peppe.doc

Listagruppo.doc

Prova.c

/home/gruppo/peppe/Prova.c

/home/gruppo/ciro/Prova.c

Page 19: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 19

Controllo di AccessoIl creatore di un file dovrebbe essere in grado dicontrollare ciò che può essere fatto con quel file e da chi.

Sono possibili varie modalità di accesso, chepossono essere permesse a singoli utenti o a gruppidi utenti:

•Read•Write•Execute•Append•Delete•List•…

Page 20: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 20

Linguaggi ad alto e basso livelloCome visto la macchina di Von Neumann è capace di eseguiresequenze ben ordinate di istruzioni in linguaggio macchina del tipo:

Codice istruzione-indirizzo1…indirizzoN

L’istruzione deve essere presente nel set di istruzioni della ALU.Un programma in L.M. è intrinsecamente legato all’hardware percui è stato realizzato. Il L.M. è un linguaggio di basso livello.

0110100101000100-0010011000001101-0001…

I linguaggi che permettono di svincolarsi dalla rappresentazionehardware vengono chiamati linguaggi di alto livello.

Page 21: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 21

AssemblerIl primissimo passo nella gerarchia dei linguaggi è il linguaggioassembler. Si tratta di un linguaggio di basso livello che peròammette una rappresentazione “human readable” del programma.

Linguaggio Macchina010001010101001001001010101000101001110010101010010010111001010010100100

Linguaggio AssemblerLOAD R1,XLOAD R2,YADD R3,R1,R2STORE R3,Y

Il linguaggio assembler è una semplice traduzione del L.M., icomandi assembler ammettono una trascrizione 1 a 1 con quellidella ALU, e sono quindi specifici per ogni CPU.Un assemblatore è quella parte del sistema operativo che trascriveun programma in assembler nel suo corrispondente in L.M.

Page 22: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 22

Linguaggi ad alto livello (I)Agli albori della programmazione (fino alla nascita del FORTRANalla fine degli anni ’50) l’assembler era l’unico linguaggio esistente.

Sebbene l’assembler possa in principio essere utilizzatodirettamente per implementare qualsiasi algoritmo esso presentanumerose gravi limitazioni per un utilizzo in progetti complessi:

•Portabilità•Leggibilità•Riutilizzabilità•Controllo degli errori

Questo ha portato alla creazione di linguaggi più vicini allinguaggio naturale e più lontani da quello della macchina….

Page 23: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 23

Linguaggi ad alto livello (II)Un linguaggio di alto livello NON ammette una semplicetraduzione 1 a 1 con le istruzioni della macchina, ma definiscecostrutti e comandi specifici del linguaggio e indipendenti dallamacchina su cui devono essere eseguiti.Il processo di traduzione in L.M. (l’unico veramente compreso dalcalcolatore) è quindi di gran lunga più complesso che per unprogramma assembler.

Programma inC , C++,FORTRAN,JAVA,…

COMPILATOREo

INTERPRETE

Istruzioni inL.M.

Page 24: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 24

Dall’algoritmo al processo (I)Algoritmo/Pseudocodice

Programma Sorgente

Editor o ambiente di sviluppo grafico

File oggetto

Preprocessore

Analisi lessicale : “ortografia”

Analisi sintattica (parsing) : “grammatica/logica”

Analisi semantica: “significato”

Ottimizzazione, assembling

COMPILATORE

Page 25: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 25

Dall’algoritmo al processo (II)

Programma eseguibile

Linker + librerie esterne

File oggetto

Loader

Processo in memoria

Page 26: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 26

Interpreti

Oltre ai compilatori un altro tipo di traduttori sono gli interpreti.Per molti versi l’interprete svolge un ruolo simile ad uncompilatore, con la differenza che mentre un compilatore agisceglobalmente su tutto il programma, l’interprete lavora su unaistruzione alla volta, traducendola ed eseguendola.

Lo svantaggio di utilizzare un interprete risiede soprattuttonell’impossibilità di ottimizzare l’esecuzione del programma,mentre i suoi vantaggi sono soprattutto la semplicelocalizzazione degli errori di programmazione e la possibilità diutilizzare direttamente il codice sorgente su macchine diversesenza dover effettuare nuovamente la compilazione del codice.

Page 27: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 27

Programmi di utilitàOltre agli elementi essenziali già menzionati il sistema operativopuò fornire tutta una serie di servizi aggiuntivi di utilità, pensatiper le applicazioni più comuni di un calcolatore. Tra questicitiamo ad esempio:

•Word processing•Navigazione Web e gestione e-mail•Fogli elettronici•Manipolazione files multimediali•Strumenti di gestione di database•…

Page 28: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Utilizzo del sistema operativoUtilizzo del sistema operativo

•Interfaccia a linea di comando e GUI•Navigazione nel file system•Operazioni di Base in una GUI

Page 29: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 29

Interfaccia a linea di comandoI primi sistemi operativi (OS) erano del tipo a linea di comando: l’utentedoveva immettere attraverso la tastiera il comando voluto e il sistema loeseguiva.L’interfaccia a riga di comando è ancora presente nella gran parte dei OS afianco delle moderne GUI (Graphical User Interfaces)

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

Page 30: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 30

MS-DOS sviluppato nel 1981 da

MicrosoftMicrosoft per supportare ilprimo PC di IBMIBM

e’ un sistema monoutente emonotask

la Shell e’ a linea dicomando

ha equipaggiato la quasitotalità dei PC prodottifino al 1995

e’ disponibile solo perprocessori INTEL

Page 31: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 31

UNIX: kernel & shell (I)

HARDWARE

KERNEL

SYSTEM CALL

SHELL PROGRAM KERNEL: nucleo del s.o.

Il kernel gestisce

• la comunicazione con l’hardware“a basso livello”,

• l’esecuzione dei programmi e

• l’uso e la condivisione o laprotezione del sistema.

Le system callsystem call costituiscono lo stratosuccessivo. Queste trattano l’hardwarecon elegante omogeneita’. Ognidispositivo (disco, terminale, cdrom,…)e’ trattato come se fosse un file.

La shell e’ un programma cheinterpreta i comandi dell’utente(programmi scritti con le system calls)e attiva i processi corrispondenti.

Page 32: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 32

UNIX: kernel & shell (II)La struttura a shell di UNIX ha due enormi vantaggi

– E’ possibile modificare o sostituire la shell senzadover intervenire sul kernel, e questo ha portato aduna proliferazione delle shell (adattabilita’dell’ambiente di lavoro).

– La modifica dell’harware comporta solol’aggiornamento del kernel (adattabilita’ all’hardware)

Queste due caratteristiche rendono UNIX un s.o. apertoe facilmente trasportabile su hardware diversi, e negiustificano la longevita’ ed il suo largo impiego nel mondoscientifico.

Page 33: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 33

….la prima volta… o quasi….

Login manager

Page 34: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 34

Comandi (I)Una volta collegati, il s.o. mette a disposizionedell’utente la possibilita’ di inviare comandi.

La shell puo’ acquisire i comandi in due forme:

1. con l’interazione diretta tra operatore eterminale (interprete di comandi);

2. leggendo file di testo (shell scripts) contenentiuna serie di comandi da eseguire in sequenza(interprete di un programma).

Page 35: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 35

Comandi (II)

comando [-opzione] [argomenti]

Nome file Ulteriorispecificazioni

Nomi dei file su cuioperare

La shell di Unix mette a disposizione un grandissimo numero dicomandi che possono anche essere considerati come dei filtri, nelsenso che prendono dati in ingresso, eseguono su di loro un certonumero di operazioni e restituiscono dei dati in uscita.

Nonostante questa grande varietà di comandi la struttura sintatticadegli stessi risulta essere abbastanza semplice e standard, tantoche in linea di massima è possibile riassumere la forma sintatticacome:

Page 36: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 36

Comandi (III)

Es. Ottenere la lista dei file contenutinella directory /home/rossi.

$ ls –l –h /home/rossi

comando argomentoopzioni

prompt: segnala all’utente che lashell e’ pronta a riceverecomandi

Page 37: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 37

Interazione shell-terminale (I)

Quando si apre una shell si entra in una directory di lavoro(default) che e’ assegnata all’utente dal system administrator. Inquesto esempio e’ /home/vardaci.

E’ possibile navigare nel file system con il comando cd.

Page 38: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 38

Interazione shell-terminale (II)

Page 39: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 39

Graphical User InterfacesLe interfacce grafiche o GUI, nate con il sistema operativoMacintosh di Apple nel 1984 utilizzano delle metafore grafichesottoforma di immagini (icone) e animazioni e l’utilizzo delmouse per effettuare le azioni.

Page 40: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 40

Finestre e barreUna finestra è una regione rettangolare con vari elementigrafici di controllo e una zona interna di lavoro. Le barreprincipali che contraddistinguono una finestra sono :

•Barra del titolo•Barra dei menù•Barre di scorrimento•Barra di stato

Page 41: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 41

Operazioni di baseLa “cornice” esterna di una finestra (inclusa la barra deltitolo) contiene gli elementi grafici che permettono dieffettuare operazioni di base quali:

Ridurre a icona

Ingrandire/Ripristinare

ChiudereSpostare la finestra

Cambiare dimensione

Page 42: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 42

Drag and dropUna delle interazioni fondamentali con gli oggetti di un sistemaoperativo a finestre è la possibilità di spostare oggetti da unaposizione all’altra tramite il drag and drop:

• Spostare il puntatore delmouse sull’oggetto

• Premere il tasto sinistro delmouse per “prendere”l’oggetto

• Tenendolo premutospostare il puntatore nellaposizione desiderata

• Rilasciare il tasto delmouse

Page 43: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 43

Aprire un fileChe significa “Aprire” un file ? In generale significa accedereaccedereallall’’informazione che è contenuta nel fileinformazione che è contenuta nel file.

• Se il file è un semplice file ASCII un apposito programma (texteditor) mi mostrerà la sequenza di caratteri che contiene.

• Se è un’immagine un programma di visualizzazione la mostreràsullo schermo.

• Se è un audio un programma lo farà suonare dalle casse delcomputer etc.

In generale a seconda del tipo di file dovrò eseguire un tipo diversodi programma per visualizzarlo. Per facilitare il riconoscimento deltipo di file vengono comunemente utilizzate le estensioni ovverogruppi di lettere (tipicamente tre) poste dopo un punto alla fine delnome del file stesso.

Page 44: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 44

Estensioni comuni

Documenti di testo formattato di tipo di quellicreati da Microsoft Word . NON sono filesASCII…

.doc (es. tesi.doc) =

Files ASCII (testo non formattato).Visualizzati da semplici text editor comeNotepad (Blocco Note)

.txt (es. elenco.txt) =

Hypertext Markup Language ovvero pagineWeb. Visualizzati da browser Web comeInternet Explorer o Netscape

.html (es. Mypage.html) =

Files eseguibili ovvero programmiprogrammi.exe (es. explorer.exe) =

Page 45: Funzioni del Sistema Operativopeople.na.infn.it › ~itaco › informatica › old › Lezione_3.pdfCorso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 2 CPU La

Corso di Informatica A.A. 2007-2008 3 - Funzioni del Sistema Operativo 45

Estensioni comuni (II)

•Fogli di lavoro nel formato del tipo di quellicreati da Microsoft Excel

.xls

Files video compressi. Apribili da programmicome Windows Media Player

.mpg .mpeg

Files audio compressi. Apribili da programmicome WinAmp o Windows Media Player

.mp3

Immagini. Apribili con programmi comeACDSee o iPhoto

.bmp .tiff .jpg