Anteprima
Vedrai una selezione di 15 pagine su 66
Sistemi operativi - Appunti Pag. 1 Sistemi operativi - Appunti Pag. 2
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 6
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 11
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 16
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 21
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 26
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 31
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 36
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 41
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 46
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 51
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 56
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 61
Anteprima di 15 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti Pag. 66
1 su 66
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

SISTEMI PARALLELI

Nei (detti anche SISTEMI MULTIPROCESSORE o STRETTAMENTE CONNESSI) abbiamo PIÙ DI UN PROCESSORE (CPU) che condividono stessa memoria centrale e di massa, canali di comunicazione all'interno del calcolatore (bus) e timer dei cicli di macchina (clock) - situazione che complica lavoro del S.O. che deve decidere su quali di questi processori fa girare vari processi, controllare questi processi e far si che processori siano tenuti occupati il più possibile.

Inoltre il S.O. deve gestire più processori che usano stessa memoria perché potrebbe esserci problema quando più processori usano stesse celle di memoria o condividono strutture dati TIGHTLY COUPLED SYSTEM (Sistema strettamente accoppiato): i processori condividono la memoria e la comunicazione avviene solitamente attraverso la memoria condivisa.

Vantaggi sistemi paralleli:

  • Maggiore produttività (throughput) - aumentando numero di unità

d'elaborazione è possibile svolgere un lavoro maggiore in meno tempo (ma non vuol dire che n CPU aumentano velocità di n volte, aumenta in misura minore)

Economico→ se più programmi devono operare sullo stesso insieme di dati, è economicamente più conveniente registrarli in dischi condivisi da tutte le unità d'elaborazione, piuttosto che avere più calcolatori con i rispettivi dischi locali e più copie degli stessi dati.

→Maggiore affidabilità: se c'è guasto di alcune di CPU non si blocca il sistema, semplicemente rallenta perché ciascuna delle unità d'elaborazione rimanenti assume su di sé parte del lavoro che svolgevano le unità d'elaborazione guaste quindi intero sistema non si ferma, ma funziona a una velocità ridotta.

- DEGRADAZIONE CONTROLLATA = capacità di continuare a offrire un servizio proporzionalmente commisurato, per qualità,

Ai dispositivi ancora in funzione - degradazione controllata dei SISTEMI FAIL-SOFT = sistemi progettati in modo da degradare progressivamente le prestazioni, salvaguardando per quanto possibile l'esecuzione delle operazioni più importanti, a fronte di avarie o malfunzionamenti di parti del sistema.

Altri sistemi vanno oltre la degradazione controllata e vengono definiti sistemi TOLLERANTI AI GUASTI (fault-tolerant) perché, nonostante subiscano danneggiamento di un singolo componente, continuano ugualmente a funzionare. La resistenza ai guasti necessita di un meccanismo per il riconoscimento del danno, la sua diagnosi e, se è possibile, la riparazione.

I sistemi multiprocessore attualmente in uso sono di due tipi: MULTIELABORAZIONE ASIMMETRICA

  1. Nei sistemi estremamente grandi solitamente si impiega la (Asymmetric multiprocessing, AMP): a ogni processore è assegnato un compito specifico e si ha un'UNITÀ D'ELABORAZIONE (PROCESSORE) PRINCIPALE

Che controlla il sistema, invece le altre attendono istruzioni da questa unità principale oppure hanno compiti predefiniti. → Questo schema definisce una relazione gerarchica: unità d'elaborazione principale organizza e assegna il lavoro alle unità d'elaborazione secondarie.

Processori di diverso tipo → primo processore ed altri più piccoli e meno potenti che seguono attività di quello principale.

MULTIELABORAZIONE SIMMETRICA

2. Nei S.O. più comuni/moderni si ricorre alla (Symmetric multiprocessing, SMP), → tutti in cui OGNI PROCESSORE È ABILITATO AL COMPIMENTO DI TUTTE LE OPERAZIONI DEL SISTEMA i processori su stesso piano di parità, non vi è subordinazione gerarchica. → Processori di stesso tipo struttura di tipo simmetrico.

SISTEMI REAL TIME → sistema

SISTEMI OPERATIVI REAL TIME

Altra categoria di macchine: sistemi integrati funzionano quasi sempre con ha obbligo di RISPETTARE VINCOLI DI TEMPO DEFINITI.

CON PRECISIONE: elaborazione deve avvenire entro questi limiti, altrimenti il sistema va in crisi. Prestazioni di un sistema real-time sono soddisfacenti solo se esso genera il risultato corretto rispettando precise scadenze. Un sistema operativo real-time è spesso utilizzato come dispositivo di controllo in un'applicazione dedicata come controllo di esperimenti scientifici, sistemi di immagini mediche, sistemi di controllo industriale e alcuni sistemi di visualizzazione. Esempio: per lo streaming è necessario che il flusso di immagini sia continuo senza interruzioni. Esempio: i sensori del robot devono reagire in un certo modo entro un certo lasso di tempo, non dopo che ha urtato o creato già danni. Il fatto che vi siano vincoli temporali che devono essere rispettati porta al sistema operativo un nuovo problema. Distinguiamo i seguenti sistemi: - HARD REAL TIME SYSTEM (Sistema rigido in tempo reale): Memoria secondaria limitata o assente, dati archiviati nella memoria a breve termine o memoria disola lettura (ROM) Conflitti con sistemi di multiproprietà, non supportati da sistemi operativi generici. SOFT REAL TIME SYSTEM (Sistema soft in tempo reale) Utilità limitata nel controllo industriale o nella robotica Utile nelle applicazioni (multimedia, realtà virtuale) che richiedono funzionalità avanzate del sistema operativo. SISTEMI DISTRIBUITI SISTEMA DISTRIBUITO = insieme di elaboratori collocati a distanza con caratteristiche spesso eterogenee, interconnessi da una rete di calcolatori per consentire agli utenti l'accesso alle varie risorse dei singoli sistemi. L'accesso a una risorsa condivisa aumenta: la velocità di calcolo, la funzionalità, la disponibilità dei dati e il grado di affidabilità. I sistemi distribuiti si basano sulle RETI (= canale di comunicazione tra due o più sistemi) per realizzare le proprie funzioni: sfruttano capacità di comunicazione per cooperare nella

Soluzione dei problemi di calcolo e per fornire agli utenti ricco insieme di funzioni - Distribuiscono il calcolo tra diversi processori fisici.

Le reti differiscono tra loro per:

  • Protocolli usati - diffuso protocollo di comunicazione è TCP/IP
  • Distanze tra i nodi - le reti si classificano secondo la distanza tra i nodi: LAN (rete locale) comprende nodi all'interno della stessa stanza/piano/edificio, WAN (rete geografica) gruppi di edifici/città/territorio stato o regione.
  • Mezzo attraverso il quale avviene la comunicazione.

Affinché un sistema operativo possa gestire un protocollo di rete è necessaria la presenza di un dispositivo d'interfaccia.

Sistema loosely coupled - ogni processore ha la propria memoria locale. I processori comunicano tra loro attraverso varie linee di comunicazione, come bus ad alta velocità o linee telefoniche.

Vantaggi dei sistemi distribuiti:

  • Condivisione delle risorse

Accelerazione del calcolo/ condivisione del carico✓ Affidabilità✓ Comunicazioni

STRUTTURA INTERNA DEI CALCOLATORI (RICHIAMI ARCHITETTURA)

Struttura:

  • FUNZIONAMENTO DEL SISTEMA DI CALCOLO: un moderno calcolatore d’uso generale è composto da una CPU e da un certo numero di CONTROLLORI di dispositivi connessi attraverso un canale di comunicazione comune (bus) che permette l’accesso alla memoria condivisa dal sistema.

Un evento è di solito segnalato da un’interruzione dell’attuale sequenza d’esecuzione della CPU, che può essere causata da:

  1. INTERRUPT1. dispositivo fisico→ segnale d’interruzione ( ) = segnali che i controllori dei dispositivi e altri elementi dell’architettura possono inviare alla CPU, di solito attraverso il bus di sistema. Ogni volta che riceve un segnale d’interruzione, la CPU interrompe l’elaborazione corrente e trasferisce immediatamente l’esecuzione a una locazione fissa della memoria.

EXCEPTION2. programma→ segnale di eccezione ( o trap) può essere causata da un programma in esecuzione a seguitodi un evento eccezionale, riconosciuto tramite l’architettura della CPU (esempio: divisione per zero o un accesso allamemoria non valido) oppure a seguito di una richiesta specifica effettuata da un programma utente per ottenerel’esecuzione di un servizio del S.O., attraverso una speciale istruzione detta SYSTEM CALL (chiamata di sistema ochiamata supervisore (supervisor cali, SVC)).

INTERRUPTFunzioni comuni degli- Gli interrupt trasferiscono il controllo alla routine del servizio di interrupt generalmente, attraverso il VETTORE DI, che contiene indirizzi di tutte le routine di servizio.

INTERRUZIONE- L'architettura degli interrupt deve salvare l'indirizzo dell'interrupt istruzione.- Gli interrupt in arrivo sono disabilitati mentre è in corso un altro interrupt elaborato per prevenire un interrupt perso.- Un trap è un

interrupt generato dal software causato da un errore o una richiesta dell'utente. - Un sistema operativo è guidato da interrupt Gestione degli interrupt Il S.O. preserva lo stato della CPU memorizzando registri e il contatore del programma. Determina quale tipo di interrupt si è verificato: - polling - sistema di interrupt vettoriale Segmenti di codice separati determinano l'azione da eseguire per ogni tipo di interruzione. STRUTTURA I/O - parte del codice di un S.O. è dedicata alla gestione dell'I/O. Abbiamo detto che un calcolatore generale è composto da CPU e CONTROLLORI connessi mediante BUS, inoltre: - I dispositivi I/O e la CPU possono essere eseguiti contemporaneamente, operando in modo concorrente contendendosi i cicli di accesso alla memoria: la sincronizzazione degli accessi alla memoria è garantita dalla presenza di un controllore di memoria. - Ciascun controller di dispositivo è responsabile/si occupa di.

Un particolare tipo di dispositivo può gestire uno o più dispositivi ad esso connessi. Ogni controller dispone di una propria memoria interna di transito detta buffer locale e di un insieme di registri specializzati. La CPU sposta i dati dalla/alla memoria principale ai/dai buffer locali del controller. Il controller è responsabile del trasferimento dati tra i dispositivi periferici ad esso connessi e il proprio buffer.

I S.O. in genere possiedono, per ogni controller, un DRIVER DEL DISPOSITIVO che si coordina con il controller e funge da interfaccia uniforme con il resto del sistema. Per avviare un'operazione di I/O, il DRIVER DEL DISPOSITIVO carica i registri interessati all'interno del controllore che esamina i contenuti di questi registri per scegliere l'azione da intraprendere. Il controller inizia a trasferire dati dal dispositivo al proprio buffer e, terminato il trasferimento, il controller del dispositivo informa il driver di aver finito l'operazione.

tramite un'interruzione e driver passa il controllo alla CPU restituendo
Dettagli
Publisher
A.A. 2022-2023
66 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher noefer127 di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Sangiorgi Davide.