La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Architettura di un sistema informatico Software di base

Presentazioni simili


Presentazione sul tema: "Architettura di un sistema informatico Software di base"— Transcript della presentazione:

1 Architettura di un sistema informatico Software di base
PARTE II Architettura di un sistema informatico Software di base Informatica Generale

2 Software di base (o di sistema)
Software (sw) = programmi Software di base = programmi che rendono utilizzabile il computer e ne arricchiscono le funzionalità Il sw di base include Sistema operativo (SO) Compilatori, linker, loader Interpreti Informatica Generale

3 Sistema Operativo: funzionalità
Gestire le risorse della macchina (CPU, memoria, dispositivi di I/O, file) Dialogare con l’utente (o gli utenti) Rendere disponibili agli utenti i traduttori e consentire l’uso dei programmi applicativi Controllare l’uso del sistema (da parte degli utenti) a fini amministrativi Informatica Generale

4 Gestione delle risorse
SO mono e multiutente Protezione delle informazioni Multiprogrammazione o multitasking Più attività possono (o debbono) essere svolte “contemporaneamente” Programmi e processi Competizione per le risorse Parallelismo e concorrenza Informatica Generale

5 Interazione basata su comandi testuali
Dialogo con l’utente Interazione basata su comandi testuali Informatica Generale

6 Dialogo con l’utente (2)
Informatica Generale

7 Dialogo con l’utente (3)
Interazione mediante interfaccia grafica Informatica Generale

8 Dialogo con l’utente (4)
Informatica Generale

9 Sistema operativo: architettura
Modello cosiddetto “a buccia di cipolla” (o semplicemente a strati) Ogni strato realizza una “macchina virtuale” Usa le funzionalità della macchina sottostante Fornisce servizi alla macchina che segue nella gerarchia Gestisce delle risorse mediante politiche invisibili ai livelli superiori Informatica Generale

10 Il modello a strati Hardware Gestione CPU (nucleo) Gestione Memoria
Gestione I/O Gestione file (file system) Interprete dei comandi Informatica Generale

11 Nucleo e gestione dei processi
Richiesta da soddisfare  Programma in esecuzione  Processo Uso di un foglio elettronico Stampa di un documento Ricezione di dati da modem Stati di un processo Running Ready Waiting Informatica Generale

12 Scheduling (schedulazione) dei processi
Coda dei processi Politica di assegnazione della CPU Sincronizzazione ed interruzioni Running Ready Fine quanto CPU allocata Richiesta Risorsa Waiting Risorsa allocata Informatica Generale

13 Tipi di multiprogrammazione
Preemptive Cooperativa Coda singola (First In First Out) Code con priorità associata Priorità in un tipico SO per PC Processo in foreground  priorità massima Processi in background Informatica Generale

14 Gestione dei processi: esempio
Un semplice programma per eseguire somme ripetute ciclo: leggi op (leggi primo addendo) se op1=0 vai a fine (se nullo, termina) leggi op (leggi secondo addendo) ris:=op1+op (calcola la somma) scrivi ris (scrivi il risultato) vai a ciclo (ripeti) fine: scrivi ‘’bye bye’’ (saluta) Ready Running Inizio Waiting Informatica Generale

15 Process Control Block (PCB)
Struttura dati del S.O. necessaria per la gestione dei processi PC Base address R1 . PCB (è il “contesto” del processo) Rn - PC serve per sapere da dove ricominciare l’esecuzione - R1Rn contenuto dei registri generali load R1,op1 load R2,op2 add R1,R2 store R1,ris ris:=op1+op2 Informatica Generale

16 Gestione della memoria
Processi in esecuzione concorrente Sistema operativo (WinNT: > 30MB) Word processor (Winword: 48 MB) Browser di rete (Netscape: 612 MB) Posta elettronica (Eudora: 1.54 MB) …. Problemi specifici (tutti correlati) “trovare spazio” per i programmi “rilocare” il codice evitare/ridurre la frammentazione Informatica Generale

17 Frammentazione: esempio
1) 2) S.O. S.O. Nuovo processo Il processo B termina A A C B B C 3) S.O. Nuovo processo: non trova spazio A La memoria libera complessiva sarebbe sufficiente per D D C Informatica Generale

18 Frammentazione: una soluzione
 Si “compatta” la memoria (copiando C “più in alto”) S.O. S.O. A A C C Nuovo problema: “aggiustare”, nel programma copiato, i riferimenti (eventuali) ad istruzioni e dati in memoria  “rilocare” il codice Informatica Generale

19 Rilocazione del codice (un vecchio esempio)
. . . if x[1]<x[2] then z := x[1] else z := x[2]; • Programma Pascal • Programma in codice macchina (caricamento a ind ) Indirizzo 20000 (Inizio dati) …………………………………….……. Indirizzo 21000 (Inizio programma) Indirizzo 21024 Indirizzo 21032 Informatica Generale

20 Rilocazione del codice (2)
Nella traduzione (compilazione) si ipotizza sempre il “caricamento” all’indirizzo 0 Durante il caricamento (una volta noto l’indirizzo iniziale, o “base”, ad esempio 20000) si aggiustano i riferimenti alla memoria In alternativa, si usa un registro base per “correggere” ogni accesso alla memoria  Rilocazione statica  Rilocazione dinamica Informatica Generale

21 Rilocazione statica Compilazione  rilocazione e caricamento (ind )  esecuzione  rilocazione e caricamento (ind )  esecuzione ……….. Base address=20000 Base address=32768 …………………………………….……. …………………………………….……. Informatica Generale

22 Rilocazione dinamica Compilazione  caricamento (indirizzi relativi + base 20000)  esecuzione  caricamento (indirizzi relativi + base 32768)  esecuzione ……….. Registro base …………………………………….……. + . Indirizzi assoluti Informatica Generale

23 Altre tecniche di gestione della memoria
Swapping  memorizzazione di processi pronti o in attesa in un’area della memoria di massa Paginazione  suddivisione di un programma in pagine logiche (e della memoria centrale in pagine fisiche) Memoria virtuale  swapping + paginazione (in prima approssimazione) Informatica Generale

24 Swapping 1) D S.O. A Tempo B C D 2) S.O. Area di A Swap B D
Nuovo processo 1) D S.O. C viene copiato su disco A Tempo B C D D viene caricato in memoria 2) S.O. Area di Swap A B D Informatica Generale

25 Paginazione 1) 2) S.O. S.O. A A C B B C 3) S.O. 4) S.O. A A D C C
Nuovo processo Il processo B termina A A C B B C 3) S.O. 4) S.O. Nuovo processo A A D Pagine fisiche non adiacenti C C Informatica Generale

26 Paginazione (2) Proc A Memoria fisica 1 (RAM) 1 2 2 3 3 4 4 5 Proc B 6
Memoria fisica (RAM) 1 1 2 2 3 3 4 4 5 Proc B 6 1 7 2 8 Proc C 9 1 Informatica Generale

27 Paginazione (3) (Ipotesi semplificativa per questo esempio: indirizzi base 10 e pagine di lunghezza 10000) RAM di celle Tabella di conversione ind. Logici/ind. fisici Proc A 1 2 0xxxx 0xxxx 1xxxx 1xxxx 2xxxx 2xxxx 3xxxx 5xxxx 4xxxx 6xxxx 3 1 4 2 5 3 6 4 7 8 Supporto hardware  Memory Management Unit (MMU) 9 Informatica Generale

28 Ulteriore funzionalità della MMU
Memoria virtuale Principi di località  l’insieme di pagine logiche utilizzate “varia lentamente” Non tutte le pagine logiche debbono risiedere nella RAM  più processi eseguibili simult. Ulteriore funzionalità della MMU Page fault  caricamento della pagina mancante Pagina non utilizzata da “molto tempo”  scaricamento della pagina Illusione di (al più) 50% di RAM addizionale Informatica Generale

29 Gestione delle periferiche (I/O)
Componente fisica Dispositivo di I/O (inclusi dischi e nastri) Scheda di I/O (collegata al bus) Componente “logica” (software) Programma driver Installazione Manuale Plug&Play (PnP) Informatica Generale

30 driver forniti da costruttori di periferiche
Driver logici Sono programmi del S.O. driver “standard” driver forniti da costruttori di periferiche Nascondono la struttura fisica comandi di I/O Standardizzano l’interazione stampante laser e stampante inkjet floppy, hard disk e CD ROM Informatica Generale

31 Esempi di comandi di I/O di alto livello
In forma testuale ( in S.O. con interazione testuale oppure da programma) lpr -Plw1 pippo.txt read(input,x,y,z) read(nomefile,nomevar) In forma grafica (vedi slide successiva) Informatica Generale

32 Comandi di I/O Informatica Generale

33 Tecnica di spool Problema: cosa succede se più processi (o più utenti) mandano “contemporaneamente” in stampa documenti sulla stessa stampante? Processo1 Computer 1 Processo2 Computer 2 Processo3 Come evitare che I dati escano nello stesso ordine in cui vengono eseguiti i comandi di uscita? Informatica Generale

34 Spool di stampa Processo1 Processo2 Processo3 Processo di spool Driver
Informatica Generale

35 File (management) system
Creazione e cancellazione dei file Modifica e aggiornamento Protezione dei file e modalità di accesso Copia, spostamento, creazione di collegamenti, ecc. Gestione della memoria di massa Informatica Generale

36 Organizzazione dei dati sulle memorie di massa
Ogni “entità referenziabile ” su disco è un file un programma un insieme di dati utilizzati da un programma una base di dati (o un archivio) un grafico I file sono identificati da un nome (filename) nome estensione Esempi: tesi.doc, sort.pas, sort.exe Informatica Generale

37 “case sensitive” o “insensitive” caratteri speciali
Ancora sui file Regole per i nomi lunghezza massima “case sensitive” o “insensitive” caratteri speciali Informazioni ausiliarie lunghezza file data creazione e modifica diritti di accesso Informatica Generale

38 Organizzazione logica di un file system
Struttura ad albero (file system gerarchici) Ai nodi e alle foglie possono essere associate informazioni Radice dell’albero Nodo interno Foglia Informatica Generale

39 Organizzazione logica di un file system (2)
Struttura ad albero La radice è un’unità disco (o una partizione di unità) I nodi interni sono cartelle (directory) Le foglie sono file Una cartella può contenere file e/o altre cartelle  percorso di identificazione di un file c:\Mauro\Didattica\InfGen\algoritmi.ppt Informatica Generale

40 Organizzazione logica di un file system (3)
Esempio WinNT Programmi Mauro Didattica Ricerca Personale InfGen Tesi algoritmi.ppt hardware.ppt Software.ppt Informatica Generale

41 Strumenti grafici di esplorazione di un f.s.
Informatica Generale

42 Ancora sui file system gerarchici
Unità o volume e directory radice (root) Directory corrente (o di lavoro) Pathname (assoluto e relativo) \Mauro\Didattica\datiealg.ppt Didattica\datiealg.ppt Directory “padre” Formattazione di un’unità Informatica Generale

43 Directory corrente per un applicativo
Informatica Generale

44 Directory corrente per un applicativo (2)
Informatica Generale

45 Directory corrente per un applicativo (3)
Informatica Generale

46 Directory corrente per un applicativo (4)
Informatica Generale

47 Directory corrente per un applicativo (5)
Informatica Generale

48 Il Sistema Operativo MS-DOS
MS-DOS = Microsoft Disk Operating System Sistema monoutente e “monotasking” Interazione con l’utente tramite comandi testuali  L’interprete dei comandi è detto SHELL File di comandi (BATCH) File System gerarchico (FAT) Root e directory corrente (o di lavoro) Informatica Generale

49 I comandi di MS-DOS Prompt di sistema Formato generale
Caratteri “jolly” ? (cap?.doc) * (cap*.*) File speciali (per indicare certe periferiche): COM1:, COM2:, CON:, LPT1: Esempi C:\> oppure C:\Mauro\Didattica> <Comando DOS> ::= <Parola chiave><parametri> Informatica Generale

50 Alcuni comandi DOS FORMAT A:  inizializza un dischetto (crea root e FAT) MD <nome> (ovvero MD <pathname>)  crea una nuova sottodirectory nella directory corrente (ovvero della directory <pathname>) CD <pathname>  la directory <pathname> diventa la d. corrente DIR (ovvero DIR <pathname>)  elenca il contenuto della directory corrente (ovvero nella directory <pathname>) Informatica Generale

51 DEL <pathname>  cancella il file <pathname>
Alcuni comandi DOS (2) COPY <pathname1> <pathname2>  crea <pathname2> come copia di <pathname1> DEL <pathname>  cancella il file <pathname> RD <pathname>  cancella la directory <pathname> (che deve essere vuota, cioè non contenere file o altre directory) REN <pathname1> <nome>  ridenomina il file <pathname> cambiando il nome vero e proprio in <nome> Informatica Generale

52 Esempi di interazione in DOS
Informatica Generale

53 Esempi di interazione in DOS (2)
Informatica Generale

54 Esempi di interazione in DOS (3)
Informatica Generale

55 Classificazione dei comandi
Ad ogni comando corrisponde un programma che realizza la particolare azione Comandi interni (“sempre” in memoria) più efficienti tutti i comandi citati sono interni (tranne FORMAT) Comandi esterni caricati quando serve file con estensione EXE, COM e BAT Informatica Generale

56 Interprete dei comandi (command.com)
Esegue i comandi predefiniti (interni ed esterni) Esegue comandi aggiuntivi (file con estensione BAT, COM o EXE nella directory corrente nelle directory opportunamente specificate dall’utente nel file di sistema AUTOEXEC.BAT Informatica Generale

57 Operazioni speciali consentite dalla shell
Pipelining ( | )  invio dell’output di un comando in input ad un secondo comando DIR | FIND “EURO” Ridirezionamento dell’output ( < e > )  sostituzione dello standard input (tastiera) o dello standard output (video) DIR > LPT1: DIR | FIND “EURO” > LISTA LISTAF < SORT > LISTAORD Informatica Generale

58 Come il FS tiene traccia dei dati
Tabella di Allocazione dei File (FAT) Directory principale (root) Entrambe risiedono su disco ad indirizzi prestabiliti Entrambe vengono caricate in memoria durante l’inizializzazione del sistema Informatica Generale

59 Root directory Informatica Generale

60 Tabella di allocazione dei file (FAT)
1 44 45 78 46 77 78 80 79 80 Informatica Generale

61 Il sistema operativo Windows
Multitasking Monoutente (Windows 95), multiutente (Windows NT) Capacità di eseguire applicazioni scritte per il DOS File System gerarchico (FAT per Win95, NTFS per WinNT) Interfaccia grafica evoluta Gestione integrata delle “nuove tecnologie” (reti locali, Internet, fax, multimedialità) Informatica Generale

62 La barra delle applicazioni La gestione delle risorse e il file system
Alcuni concetti base Scrivania (desktop) Il pulsante di avvio La barra delle applicazioni La gestione delle risorse e il file system Proprietà di file e cartelle Menù di scelta rapida Creazione di collegamenti Il cestino Esecuzione di un programma Guida in linea Accessori Informatica Generale

63 La scrivania (desktop)
Informatica Generale

64 Il pulsante di avvio Informatica Generale

65 Il pannello di controllo
Informatica Generale

66 Il pannello di controllo (2)
Informatica Generale

67 Personalizzazione della scrivania
Informatica Generale

68 Barra delle applicazioni (personalizzazione)
Informatica Generale

69 Barra delle applicazioni
Informatica Generale

70 Barra delle applicazioni (2)
Informatica Generale

71 Esplorazione del FS (alternativa a gestione risorse)
Informatica Generale

72 Menu di scelta rapida Informatica Generale

73 Proprietà di file e cartelle
Informatica Generale

74 Creazione di collegamenti
Informatica Generale

75 Creazione di collegamenti (2)
Informatica Generale

76 Creazione di collegamenti (3)
Informatica Generale

77 Il cestino Informatica Generale

78 Il cestino (2) Informatica Generale

79 Esecuzione dei programmi
Informatica Generale

80 Esecuzione dei programmi (2)
Informatica Generale

81 Guida in linea Informatica Generale

82 Guida in linea (2) Informatica Generale

83 Help in linea Informatica Generale

84 Accessori Informatica Generale

85 Gestione dei processi: esempio
Un semplice programma per eseguire somme ripetute ciclo: leggi op (leggi primo addendo) se op1=0 vai a fine (se nullo, termina) leggi op (leggi secondo addendo) ris:=op1+op (calcola la somma) scrivi ris (scrivi il risultato) vai a ciclo (ripeti) fine: scrivi ‘’bye bye’’ (saluta) CPU disponibile Ready Running Inizio CPU tolta “d’ufficio” Waiting op1 letto leggi op1 Informatica Generale


Scaricare ppt "Architettura di un sistema informatico Software di base"

Presentazioni simili


Annunci Google