Uni.SOcap1 History
Show minor edits - Show changes to output
April 02, 2008, at 07:55 PM
by
- Added lines 4-5:
[[Torna alla pagina di Sistemi Operativi -> SistemiOperativi]]
Added lines 87-178:
...
!!1.4 Sistemi multiprocessore
Vantaggi:
# Più elaborazione (N processori non vuol dire però che sono N volte più veloci di 1, perché vanno sincronizzati)
# Economia di scala: tanti processori costano meno di tanti computer
# Aumento di affidabilità: ne muore uno, gli altri in teoria vanno avanti => '''degradazione progressiva''' = '''tolleranza ai guasti'''
'''SMP''' = sistema multiprocessore simmetrico, tutti i processori sono equivalenti tra loro.
'''Asimmetrico''' = processori che fanno robe diverse.
!!1.5 Sistemi distribuiti
Reti di computer => processori che non condividono né memoria né orologio.
Collegati con linee di comunicazione, eg bus ad alta velocità o linee telefoniche.
!!!1.5.1 Reti di computer
Rete = struttura di comunicazione tra due o più sistemi.
I mezzi fisici usati sono vari.
!!!1.5.2 Sistemi client-server
'''Server''' = erogano servizi
'''Client''' = fanno richieste ai server e ne ricevono i risultati
Tipi di server:
* server di calcolo = eseguono le richieste di computazione che i client fanno (basi di dati)
* server per i file = interfaccia per gestire i file da parte dei client (web)
!!!1.5.3 Sistemi punto-a-punto
Peer 2 Peer: client e server non sono distinguibili.
Nei sistemi client-server, il server è collo di bottiglia. Qui invece i servizi sono offerti da tutti.
Per partecipare ad un sistema distribuito P2P occorre associarsi a quella rete, e poi scoprire quali servizi essa eroga.
Per scoprire servizi, 2 modi:
# ogni client nuovo che si connetti comunica i suoi servizi al registro centralizzato. Se voglio un servizio, consulto questo registro.
# il client nuovo deve scoprire chi fornisce il servizio facendo domanda a tutti i nodi della rete => occorre un protocollo di scoperta per scoprire i servizi che i nodi offrono.
Nota mnemonica: sostituite "servizi" con "mp3".
!!!1.5.4 Sistemi operativi distribuiti
Sistema operativo di rete = ha uno schema di comunicazione che permette a processi su computer differenti di scambiarsi messaggi.
I SO dei vari computer comunicano abbastanza strettamente, per dare l'illusione che un solo sistema operativo controlli la rete.
!!1.6 Sistemi cluster
Come i sistemi paralleli, usano contemporaneamente diverse CPU, ma in computer diversi. Condividono memoria di massa e sono strettamente collegati tramite LAN.
Cluster = servizio ad alta disponibilità: se qualcuno viene a mancare, gli altri suppliscono.
Cluster asimmetrico = uno esegue, l'altro è in attesa a caldo, e sostituisce chi viene a mancare.
Cluster simmetrico = 2 macchine eseguono le appli e si controllano a vicenda (più efficiente).
Accesso condiviso ai dati => gestore del blocco distribuito per lock etc.
!!1.7 Sistemi in tempo reale
Vincoli di tempo: il processo deve essere completato entro i termini imposti, se no fallisce. Risultato corretto entro il tempo stabilito.
SO hard real-time: garantisce che i compiti critici siano eseguiti in tempo => tutti i processi sono limitati nel tempo.
SO soft real-time: ci sono processi critici e processi normali, e quelli critici hanno la priorità. Non hanno tempo massimo entro cui eseguire processi, pena il fallimento.
!!1.8 Sistemi palmari
PDA, telefoni cellulari.
Piccoli => processori piccolo e lenti; schermi piccoli.
Appli e SO non devono penalizzare il processore, e non usare troppo le batterie.
!!1.9 Migrazione delle caratteristiche
Le caratteristiche che solo i mainframe di una volta avevano sono arrivate fino ai PC di adesso.
!!1.10 Ambienti di elaborazione
Come i sistemi appena visti vengono usati in diversi ambienti di elaborazione.
!!!1.10.1 Elaborazione tradizionale
Una volta: ufficio con pochi PC in rete; server centrale con files e stampanti.
Ora: portali di accesso, computer di rete, palmari, wireless.
!!!1.10.2 Elaborazione basata sul Web
Web = ubiquo, c'è dappertutto => un computer è client e server contemporaneamente.
!!!1.10.3 Elaborazione embedded
Lettori DVD, macchine del caffé, lavatrici, centraline delle macchine.
!!!1.10.4 Elaborazione multimediale
MP3, video, webcam etc. => vincoli di potenza di elaborazione (eg. riprodurre ad un certo frame rate) e di trasmissione in rete (banda).
Appli multimediali: eseguite ormai dappertutto.
[[Torna alla pagina di Sistemi Operativi -> SistemiOperativi]]
!!1.4 Sistemi multiprocessore
Vantaggi:
# Più elaborazione (N processori non vuol dire però che sono N volte più veloci di 1, perché vanno sincronizzati)
# Economia di scala: tanti processori costano meno di tanti computer
# Aumento di affidabilità: ne muore uno, gli altri in teoria vanno avanti => '''degradazione progressiva''' = '''tolleranza ai guasti'''
'''SMP''' = sistema multiprocessore simmetrico, tutti i processori sono equivalenti tra loro.
'''Asimmetrico''' = processori che fanno robe diverse.
!!1.5 Sistemi distribuiti
Reti di computer => processori che non condividono né memoria né orologio.
Collegati con linee di comunicazione, eg bus ad alta velocità o linee telefoniche.
!!!1.5.1 Reti di computer
Rete = struttura di comunicazione tra due o più sistemi.
I mezzi fisici usati sono vari.
!!!1.5.2 Sistemi client-server
'''Server''' = erogano servizi
'''Client''' = fanno richieste ai server e ne ricevono i risultati
Tipi di server:
* server di calcolo = eseguono le richieste di computazione che i client fanno (basi di dati)
* server per i file = interfaccia per gestire i file da parte dei client (web)
!!!1.5.3 Sistemi punto-a-punto
Peer 2 Peer: client e server non sono distinguibili.
Nei sistemi client-server, il server è collo di bottiglia. Qui invece i servizi sono offerti da tutti.
Per partecipare ad un sistema distribuito P2P occorre associarsi a quella rete, e poi scoprire quali servizi essa eroga.
Per scoprire servizi, 2 modi:
# ogni client nuovo che si connetti comunica i suoi servizi al registro centralizzato. Se voglio un servizio, consulto questo registro.
# il client nuovo deve scoprire chi fornisce il servizio facendo domanda a tutti i nodi della rete => occorre un protocollo di scoperta per scoprire i servizi che i nodi offrono.
Nota mnemonica: sostituite "servizi" con "mp3".
!!!1.5.4 Sistemi operativi distribuiti
Sistema operativo di rete = ha uno schema di comunicazione che permette a processi su computer differenti di scambiarsi messaggi.
I SO dei vari computer comunicano abbastanza strettamente, per dare l'illusione che un solo sistema operativo controlli la rete.
!!1.6 Sistemi cluster
Come i sistemi paralleli, usano contemporaneamente diverse CPU, ma in computer diversi. Condividono memoria di massa e sono strettamente collegati tramite LAN.
Cluster = servizio ad alta disponibilità: se qualcuno viene a mancare, gli altri suppliscono.
Cluster asimmetrico = uno esegue, l'altro è in attesa a caldo, e sostituisce chi viene a mancare.
Cluster simmetrico = 2 macchine eseguono le appli e si controllano a vicenda (più efficiente).
Accesso condiviso ai dati => gestore del blocco distribuito per lock etc.
!!1.7 Sistemi in tempo reale
Vincoli di tempo: il processo deve essere completato entro i termini imposti, se no fallisce. Risultato corretto entro il tempo stabilito.
SO hard real-time: garantisce che i compiti critici siano eseguiti in tempo => tutti i processi sono limitati nel tempo.
SO soft real-time: ci sono processi critici e processi normali, e quelli critici hanno la priorità. Non hanno tempo massimo entro cui eseguire processi, pena il fallimento.
!!1.8 Sistemi palmari
PDA, telefoni cellulari.
Piccoli => processori piccolo e lenti; schermi piccoli.
Appli e SO non devono penalizzare il processore, e non usare troppo le batterie.
!!1.9 Migrazione delle caratteristiche
Le caratteristiche che solo i mainframe di una volta avevano sono arrivate fino ai PC di adesso.
!!1.10 Ambienti di elaborazione
Come i sistemi appena visti vengono usati in diversi ambienti di elaborazione.
!!!1.10.1 Elaborazione tradizionale
Una volta: ufficio con pochi PC in rete; server centrale con files e stampanti.
Ora: portali di accesso, computer di rete, palmari, wireless.
!!!1.10.2 Elaborazione basata sul Web
Web = ubiquo, c'è dappertutto => un computer è client e server contemporaneamente.
!!!1.10.3 Elaborazione embedded
Lettori DVD, macchine del caffé, lavatrici, centraline delle macchine.
!!!1.10.4 Elaborazione multimediale
MP3, video, webcam etc. => vincoli di potenza di elaborazione (eg. riprodurre ad un certo frame rate) e di trasmissione in rete (banda).
Appli multimediali: eseguite ormai dappertutto.
[[Torna alla pagina di Sistemi Operativi -> SistemiOperativi]]
April 02, 2008, at 07:36 PM
by
- Changed lines 61-84 from:
!!!1.2.2 Sistemi multiprogrammati
to:
!!!1.2.2 Sistemi multiprogrammati
Multiprogrammazione = mantenere più job in memoria. Se uno attende, il SO commuta e usa un altro job.
Primo caso in cui il SO deve decidere qualcosa al posto dell'utente.
Tanti job => organizzarli = '''scheduling''' dei job, eg quelli lunghi di notte.
Tanti job già pronti => quale eseguire? => CPU scheduling.
!!!1.2.3 Sistemi time-sharing
Sistemi a lotti = 0 interazione con l'utente.
'''Multitasking''' = far evolvere in apparente simultaneità più programmi
=> '''Time-sharing''' = la CPU esegue parecchi programmi commutando tra di essi molto velocemente, e a noi sembrano paralleli.
Time-sharing:
* occorre '''sistema operativo interattivo''' per far comunicare computer e utente => '''tempo di risposta''' tra comando e risultato.
* più utenti possono usare contemporaneamente il computer: ognuno ha il suo processo. Il SO commuta processi quando accade in I/O perché è lento rispetto alla CPU
* più complessi rispetto ai sistemi multiprogrammati => eg ricorso a memoria virtuale
* devono fornire un filesystem
* devono sincronizzare e far comunicare processi
!!1.3 Sistemi desktop
Multiprogrammazione = mantenere più job in memoria. Se uno attende, il SO commuta e usa un altro job.
Primo caso in cui il SO deve decidere qualcosa al posto dell'utente.
Tanti job => organizzarli = '''scheduling''' dei job, eg quelli lunghi di notte.
Tanti job già pronti => quale eseguire? => CPU scheduling.
!!!1.2.3 Sistemi time-sharing
Sistemi a lotti = 0 interazione con l'utente.
'''Multitasking''' = far evolvere in apparente simultaneità più programmi
=> '''Time-sharing''' = la CPU esegue parecchi programmi commutando tra di essi molto velocemente, e a noi sembrano paralleli.
Time-sharing:
* occorre '''sistema operativo interattivo''' per far comunicare computer e utente => '''tempo di risposta''' tra comando e risultato.
* più utenti possono usare contemporaneamente il computer: ognuno ha il suo processo. Il SO commuta processi quando accade in I/O perché è lento rispetto alla CPU
* più complessi rispetto ai sistemi multiprogrammati => eg ricorso a memoria virtuale
* devono fornire un filesystem
* devono sincronizzare e far comunicare processi
!!1.3 Sistemi desktop
April 02, 2008, at 07:31 PM
by
- Added lines 1-61:
(:title Sistemi Operativi - Riassunto capitolo 1:)
%titolo%''':: Sistemi Operativi - Riassunto capitolo 1::'''
!!Introduzione
Sistema operativo = insieme di programmi che gestiscono l'hw del computer. Fornisce una base agli applicativi e fa da intermediario tra utente e hw.
!!1.1 Che cosa fanno i SO?
Elaborazione dell'info = divisibile in 4 parti:
# hardware
** cpu
** memoria
** I/O
# Sistema Operativo
# Programmi applicativi
# Utenti
Sistema Operativo = non agisce per sé, ma crea un ambiente utile agli altri per lavorare.
!!!1.1.1 Il punto di vista dell'utente
PC: Scopo del SO = facilitare l'uso del computer. Non si tiene in genere conto dell'utilizzo delle risorse, perché sebbene le prestazioni contino, per l'utente, le richieste inviate al computer sono limitate.
Mainframe o minicomputer: Scopo del SO = massimizzare l'uso delle risorse, così ogni utente al terminale è trattato equamente.
Workstation: Scopo del SO = compromesso tra uso di risorse individuali e condivise.
Palmare: Scopo del SO = utilizzo individuale; risparmiare batteria.
Embedded: Scopo del SO = fare il suo mestiere, non c'è intervento dell'utente.
!!!1.1.2 Il pdv del computer
SO = distributore di risorse.
SO = programma di controllo che gestisce i dispositivi di I/O e controlla che i programmi non vengano eseguiti in modo improprio.
!!!1.1.3 Definizione di sistema operativo
In generale, non c'è una definizione totalmente adeguata.
Hardware = costruito per risolvere problemi. Non è facile da usare direttamente => il SO controlla e distribuisce le risorse hw.
Altra definizione: SO = l'unico programma che è sempre in funzione (il kernel, e non aMule). Tutto il resto sono programmi di sistema o applicativi.
!!!1.1.4 Scopi di un sistema operativo
Scopo primario:
* PC: essere conveniente per l'utente
* Sistemi condivisi: far operare efficientemente il computer.
Nel passato contava di più l'efficienza => la maggior parte della teoria sui SO riguarda l'efficienza e non l'usabilità.
!!1.2 Sistemi mainframe
Primi sistemi informatici per gestire appli commerciali e scientifiche.
!!!1.2.1 Sistemi a lotti
Utente = non interagisce, ma prepara un lavoro ('''job''') composto da programma + dati, e lo invia all'operatore (eg schede perforate). Dopo un po' arrivava l'esito.
=> SO semplice: deve solo trasferire il controllo da un job all'altro.
Per velocizzare sto trasferimento, si organizzano i job in '''lotti''' ('''batch''') => programmi con esigenze simili nello stesso lotto.
La CPU riposa spesso perché è più veloce dell'I/O meccanico.
!!!1.2.2 Sistemi multiprogrammati
%titolo%''':: Sistemi Operativi - Riassunto capitolo 1::'''
!!Introduzione
Sistema operativo = insieme di programmi che gestiscono l'hw del computer. Fornisce una base agli applicativi e fa da intermediario tra utente e hw.
!!1.1 Che cosa fanno i SO?
Elaborazione dell'info = divisibile in 4 parti:
# hardware
** cpu
** memoria
** I/O
# Sistema Operativo
# Programmi applicativi
# Utenti
Sistema Operativo = non agisce per sé, ma crea un ambiente utile agli altri per lavorare.
!!!1.1.1 Il punto di vista dell'utente
PC: Scopo del SO = facilitare l'uso del computer. Non si tiene in genere conto dell'utilizzo delle risorse, perché sebbene le prestazioni contino, per l'utente, le richieste inviate al computer sono limitate.
Mainframe o minicomputer: Scopo del SO = massimizzare l'uso delle risorse, così ogni utente al terminale è trattato equamente.
Workstation: Scopo del SO = compromesso tra uso di risorse individuali e condivise.
Palmare: Scopo del SO = utilizzo individuale; risparmiare batteria.
Embedded: Scopo del SO = fare il suo mestiere, non c'è intervento dell'utente.
!!!1.1.2 Il pdv del computer
SO = distributore di risorse.
SO = programma di controllo che gestisce i dispositivi di I/O e controlla che i programmi non vengano eseguiti in modo improprio.
!!!1.1.3 Definizione di sistema operativo
In generale, non c'è una definizione totalmente adeguata.
Hardware = costruito per risolvere problemi. Non è facile da usare direttamente => il SO controlla e distribuisce le risorse hw.
Altra definizione: SO = l'unico programma che è sempre in funzione (il kernel, e non aMule). Tutto il resto sono programmi di sistema o applicativi.
!!!1.1.4 Scopi di un sistema operativo
Scopo primario:
* PC: essere conveniente per l'utente
* Sistemi condivisi: far operare efficientemente il computer.
Nel passato contava di più l'efficienza => la maggior parte della teoria sui SO riguarda l'efficienza e non l'usabilità.
!!1.2 Sistemi mainframe
Primi sistemi informatici per gestire appli commerciali e scientifiche.
!!!1.2.1 Sistemi a lotti
Utente = non interagisce, ma prepara un lavoro ('''job''') composto da programma + dati, e lo invia all'operatore (eg schede perforate). Dopo un po' arrivava l'esito.
=> SO semplice: deve solo trasferire il controllo da un job all'altro.
Per velocizzare sto trasferimento, si organizzano i job in '''lotti''' ('''batch''') => programmi con esigenze simili nello stesso lotto.
La CPU riposa spesso perché è più veloce dell'I/O meccanico.
!!!1.2.2 Sistemi multiprogrammati