Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoOttaviano Gualtieri Modificato 10 anni fa
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 - R1Rn 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: 48 MB) Browser di rete (Netscape: 612 MB) Posta elettronica (Eudora: 1.54 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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.