|
Wiki
UniCrema
Materie per semestre
Materie per anno
Materie per laurea
Help
|
|
Uni.SOcap1 History
Hide minor edits - Show changes to output
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]]
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
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
|
|