Sistemi operativi schema generale, Schemi riassuntivi di Sistemi Operativi. Università degli Studi di Siena
vustellini
vustellini

Sistemi operativi schema generale, Schemi riassuntivi di Sistemi Operativi. Università degli Studi di Siena

6 pagine
1Numero di download
222Numero di visite
Descrizione
descrizione schema concettuale delle slide
20 punti
Punti download necessari per scaricare
questo documento
Scarica il documento
Anteprima3 pagine / 6
Questa è solo un'anteprima
3 pagine mostrate su 6 totali
Scarica il documento
Questa è solo un'anteprima
3 pagine mostrate su 6 totali
Scarica il documento
Questa è solo un'anteprima
3 pagine mostrate su 6 totali
Scarica il documento
Questa è solo un'anteprima
3 pagine mostrate su 6 totali
Scarica il documento

CAP 1 CONCETTI INTRODUTTIVI

I) OBIETTIVI E COMPITI - OBIETTIVI

• Fornire metodi per usare il sistema (mv, sw applicativo, portabilità) • Assicurare uso eff. Delle risorse (strategie, evitare conflitti, massimizzare uso risorse) • Prevenire interferenze degli utenti

- COMPITI • Gestione dei programmi (intervallare es di + programmi , scheduling -> a chi assegnare cpu) • Gestione delle risorse (tabelle risorse, partizionamento, pool unico, virtualizzazione)

II) EVOLUZIONE STORICA

1° 45-55 (valvole e pannelli cablati) no so, i/o schede perforate

2° 55-65 (transistor, sistemi batch(a lotti) uniprogrammati) • Spooling: dischi magnetici ad accesso diretto, in parallelo a batch si cerca altro nei dischi

3° 65-80 (circuiti integrati) • Multiprog (60): job eseguiti fino ad a evento -> context switch (altro job viene eseguito) • Time sharing (70): grazie ai nuovi i/o, sw, file system (minimizzare i tempi risposta ai programmi)

4°80-oggi • Sistemi real-time (80): terminazione p. con deadline, vincoli di tempo (HW,SW) • Sistemi paralleli: condivisione memoria e clock dei processori, concorrenza • So di rete: distribuito tra + cpu, complesso -> poco elastico • So distribuito • Embedded: sw Di sistema e applicativo insieme (chip), processi lenti, schermi anche assenti

III) STRUTTURA DI UN CALCOLATORE

Architettura – cpu: registri interni programmabili e di stato – controller dispositivi – gestione interruzioni Modalità i/o sincrono/asincrono – DMA – memoria gerarchica mem->disco SW, mem->cache HW

IV) MECCANISMI DI PROTEZIONE (nei sistemi multi-programmati e multiutente)

- DMFS : mod monitor(0), mod utente(1) - SC: eseguite da API, passaggio parametri con PUSH e POP - Protezione i/o: istruzioni i/o privilegiate, sc di i/o - Memoria : registri di base e limite per non sforare in memoria, solo so li può modificare - CPU: impedisce loop dei programmi con timer per ogni processo

V) STRUTTURA SO

- FUNZIONI • Gestione processi, mem principale, file, mem secondaria, disp i/o, sicurezza e protezione

- SERVIZI : esecuzione programmi, op i/o, file system - CATEGORIE E MODELLI

• Categorie - settore applicativo : batch, time-sharing, real-time - architettura HW : mono/multi processore, distribuita, reti

• Modelli strutturali - Monolitico : so unico p. di procedure e servizi - Modulari: so costituito da mouli - Livelli: ogni liv un servizio - MV: so diversi, ogni utente una mv e sceglie so e programmi - Microkernel: separazione politiche(p. normali) e meccanismi(kernel),

server gestiscono risorse sopra al kernel - Client-server: microkernel in ogni pc/sistema, calcolatori diversi

[CAP 2] PROCESSI E THREAD

I) MOD CONCORRENTE E PROCESSI (so tante attività cpu, prog utente, sistema, disp i/o) - overlapping: exec su cpu diverse – interlapping: exec su stessa cpu -programma: algoritmo, entità passiva/statica -processo: entità dinamica che id un p., interna al so (indipendenti e interagenti)

II) STATI DI UN PROCESSO

III) DESCRITTORE DI PROCESSO (Process Control Block) Ogni processo ha la sua struttura dati nel PCN, organizzate tutti in tabelle, se un p ready o wait -> PCB CONTEXT SWITCH 1° Salvataggio stato 2° inserimento del PCB nella coda dei processi ready o wait 3° Carica PCB p designato a esecuzione 4° ripristino dello stato, carica nel registro del vecchio nuovo p.

IV) SCEDULAZIONE DEI PROCESSI (un reg CPU punta PCB del p in exec) N code x processo; durante exe PCB passano da una coda all’altra - coda p pronti -> mem principale - coda disp i/o -> dove i p sono in attesa SCHEDULING so scelte sui p per assegnazione cpu e caricamento in mem principale Breve t -> molto frequente, sceglie tra pronti e interviene quando p. perde diritto alla cpu Medio t -> (swapping) trasferimento temp. In memoria secondaria nei sistemi time-sharing Lungo t -> dipende da grado di multiprog. – sceglie tra i p in mem sec quali mettere in primaria

V) OPERAZIONE SUI PROCESSI • CREAZIONE: statica e dinamica – risorse condivise o non – exe concorrente o attende padre • TERMINAZIONE: volontaria, involontaria, forzata • COMUNICAZIONE: 2 modalità cooperazione o competizione; 2 modelli locale o globale

- diretta -> simmetrica, asimmetrica (send, recive) – indiretta - socket -> estremità del canale di comunicazione identificato da ip e n° porta

VI) THREAD (processo leggero – unità base di utilizzo della cpu) - processo: un p possiede anche delle risorse, e più thread - uso dei thread divide il processo in stato risorse e stato esecuzione – overhead in tutti e due gli stati

• CONCETTO DI THREAD (condivide con altri sezione di codice) - single-thread: proprio PC, SP e organizzazione conveniente x job non correlati - multi-thread: condivisione risorse -> meno risorse, job correlati

V: prontezza di risposta, condivisione risorse, performance S: thread progettati per cooperare, no protezione

• GESTIONE DEI THREAD -Utente: tramite lib di funz, per ogni p. tab dei thread. Kernel non vede th. a liv utente. No buono x i/o bound

-Kernel: tramite tabelle dedicate, con evento salva nella propria TCB e ne pesca uno dalla TCB dei pronti, se puntatore PCB uguale nulla, altrimenti carica stato del p del t selezionato. Si x programmatore, parallelismo nel p. utile x i/o bound. S: scheduling fissato dal kernel V: efficiente, portabilità.

- Ibrido: thread in tutti e due i livelli, poca portabilità… 3 modelli: n-1, n-n, 1-1

new raedy

ready swapped

wait swapped

waiting

running terminated

ammesso interrotto

terminazione

attesa i/o o evento

dispatching

i/o copletato o evento

swap in

sw ap

ou t

swap ou t

[CAP 3] SCHEDULING CPU I) CONCETTI (multiprog-> usare al meglio la cpu)

2 fasi: esecuzione (cpu burst) e attesa (i/o burst); cpu bound pochi burst cpu lunghi, io bound tanti brevi Scheduling breve determina quale p. o t. ottiene cpu; run->wait run->term no prelazione, …->ready prel.

Dispatcher (modulo so)da controllo della cpu al p. scelto dallo scheduler e comporta context switch II) CRITERI SCHEDULING (max uso cpu,fr completam,min tempo compl,di attesa e di risposta)

Prelazione : senza -> rilascio spontaneo cpu; con -> rilascio forzato, soddisfa ripartizione risorse Priorità : senza -> p. equivalenti; con -> divisione p in classi

III) POLITICHE SCHEDULAZIONE FCFS: ottimo per batch; effetto convoglio -> brevi aspettano lunghi

SJF(no prelazione): p. non può essere interrotto fino a completamento SRJF(prelazione): se arriva p. con burst minore viene eseguito

[starvation ->p.bassa priorità non vengono eseguiti; againg-> aumento priorità insieme al tempo di att.] RR: per sistemi time sharing

Per Multiprocessore: sudd. carico(load sharing), cpu selezionano dà stessa coda; S:accesso kernel condiv. Per Tempo-Reale:Hard-> task completato entro tempo dichiarato e garantito altrimenti rifiutato Soft-> p.critici prioritari, limitare latenza dispatch

[CAP 4] STALLO O DEADLOCK I) MODELLO RISORSE DI UN SISTEMA

Ogni tipo di R ha un numero di istanze, so le gestisce son sc, tabella registra stati R e P Scopi scheduling risorse: evitare starvation, minimizzare attesa, rispettare piorità

II) CARATTERISTICHE DEADLOCK Solo se si presentano tutte le condizioni contemporaneamente:

- mutua esclusione: r. usata da un p. alla volta - possesso e attesa: p. tengono r e ne richiedono altre per continuare - mancanza di pre-rilascio: risorse già assegnate non possono essere rilasciate - attesa circolare Se grafo di allocazione contiene cicli e ogni r. ha 1 istanza probabile deadlock

III) GESTIONE DEADLOCK 1) PREVENIRLO: evitando una delle caratteristiche di deadlock 2) EVITARLO: prevenzione dinamica con algoritmi che valutano lo stato e impediscono cicli

Necessarie info a priori delle richieste dei p. ipotesi di terminazione avendo avuto r • Stato sicuro -> se esiste ordine si assegnazione per evitare ciclo • Alg. Su grafi di allocazione: risorse prenotate a priori, quando p. fa richiesta arco pren-> assegn.

Quando r. viene rilasciata arco assegn->pren • Alg del Banchiere: attivato ad ogni richiesta/rilascio, ogni p dichiara n max di istanze, quando p

richiede viene stabilito se lascia il sistema in uno stato sicuro o no 3) RILEVARLO(alg. Costosi e riducono microp; S: ripristino controllato di p. o r. dopo uno stallo) • Singola istanza x r: grafo attesa-per con p. e archi attesa, controllo periodico di cicli nel grafo • Istanze multiple: stato rapp delle strutture –avaiable V[m] n° istanze disp x tipo

–allocation: nxm richieste di ogni tipo allocate x p –request:nxm richieste correnti x p.

IV) MOD. RIPRISTINO DEADLOCK -informare operatore –ripristino automatico sui processi o risirse • Terminazione processi: termina tutti i processi/uno alla volta fino a sblocco partendo da p in exe • Rilascio anticipato r. (rilascio r. fino ad interrompere il ciclo) • Seleziona vittima a cui sottrarre risorsa, rollback vittima fino a stato sicuro, contati i roll delle

vittime per non bloccare a vita un p.

[CAP 5] GESTIONE MEM. VIRTUALE E PRINCIPALE

I) Rilocazione indirizzi  computazione, caricamento, esecuzione, unità gestione memoria (MMU) II) Allocazione mem fisica  contigua o non contigua III) Spazio virtuale  unico o segmentato IV) Caricamento s.v. in fisica

a. Unico PCB: program control bock b. A domanda TLB: translation lokside buffer c. Overlay FCB: file control block d. Link dinamico: condivisione stub -> porzione codice e. Caricamento collgato: car. Solo quello necessario

V) SWAPPING: swap area, disco di accesso veloce.

VI) MEMORIA PARTIZIONATA • fisse o variabili: (var con algoritmi first-fit, best-fit, wost-fit) • multiple: allocati in maniera indipendente: condivisione di codice

VII) SEGMENTAZIONE Tabella segmenti: indice base e dim dell’n-esimo segmento, INFO nel PCB: ind mem tab e n° segmenti • seg. A domanda: swapping singoli elementi, schedulazione anche per p. senza segm. in mem. Fisica • rilocazione indirizzi: bit controllo 1 in mem fisica 0 assente, segment-fault -> carica in fisico il segmento • rimpiazzamento: bit M e U

VIII) PAGINAZIONE indirizzi v.(pagine), blocchi(frame)[possibile frammentazione interna]

X=<pg,off> pg=x/d off=x%d PTPRindirizzi Info nel PCB x inizializzare i registi  PTRLn°pagine Frame table  elementi indicano se frame lberi o no… contenendo id p. se occupato • a domanda page faultcerca locazionetrova frame liberocarica aggiorna tabella frame riavvia p.

(TRASHING)CPu si dedica a trasferire pagine da/a swap area Algoritmi rimpiazzamento: OTTIMO, FIFO, LRU(+vicino a ottimo),second-chance (con bit U e M)

IX) SEGMENTAZIONE CON PAGINAZIONE  segment-fault+page-fault

X) STRUTTURE TABELE DELLE PAGINE • generica a 2 livelli: tab da 2^20 elementi divisa in 2 da 2^10 cad di 4byte • hash: x spazi grandi + di 32 bit di indice n° pagina usato come argomento f. hash • a gruppi: x ind a 64 bit, ogni elemento riferimenti ai frame corrispondenti ad un gruppo • inverdita: un’ unica tabella per tutto il sistema • suddivisa in tab in segmenti: tab seg. Di un p. divisa in 2 tab; 1 x ind.virt. so 1 x ind.virt. segmenti p. in esecuzione

[CAP 6] FILE SYSTEM

Il FS è la parte del so x meccanismi x accesso e archiviazione, concetti astratti file,dir,protezioni FILE unità memoria logica, condividere info tra processi

Struttura: record logici [testo,P.sorgente,P.oggetto,exe](nome,id,tipo,locazione,dim,protezione…..) Operazioni:…. Descrittore: struttura con valori attributi file (tabella dir.) Accesso: seq(*p), dir(no *p), indice(ogni record ha un key di accesso, no *p)

• Mappati in memoria: ass. tra file e sezione spazio i.v di un p. + efficace delle i/o, condivisione *speciali: inclusi nelle gerarchie delle dir come tt i file… invece sono dispositivi i/o.

I) DIR astratte per raggruppamento file (tab simboli x tradurre in nomi i file e le dir contenute nella dir) • liv singolo: singola dir x tutto il sistema. • 2 livello: ogni utente una sua dir • Ad albero: raggruppamento, effi. Pathname  nome = percorso file • Grafo ciclico: archi x vedere lo stesso file da + punti (aliasing : nomi diversi per stesso file) • grafo generale: esplorando fs singolo controllo a porzione, recuero spazio con garbage collector

II) PARTIZIONI boot loader x avvio so • montaggio fs autmatico in win e mac dal so, manuale in unix e linux • condivisione file : proprietario: maggiore controllo; gruppo e utenti autorizzati a condividere accesso file

III) PROTEZIONE Rapp. Politiche (stutture con specifici vincoli di accesso) ACL lista controllo accesso

• matrice di protezione: ogni riga dominio protezione, colonna risirsa FAT tab. allocazione file

Controllo accessi (ogni accesso conforme alla politica di protezione per la risorsa) • protezione accessi:

a) c-list: x ogni processo di utente lista permessi riferita a file/dir b) ACL: ogni file/dir una ACL con dettagli/permessi di ogni utente(problemi con utenti non noti o dinamici)

IV) ALLOCAZIONE  corrispondenza record logici con blocchi dati del disco a) Contigua  basso costo, accesso seq e dir ma framm. Esterna elevato costo, limiti dim file b) A lista  puntatori blocchi nel FCB info solo nel primo blocco; no framm. Esterna, buona allocazione file nuovi

Occupazione elevata (puntatori!) acc. Diretto costoso FATin aggiunta alla lista singolo collegamento

c) Indirizzata come a lista + accesso diretto e + velocità(ogni file  blocco con ind file),i-node unixbene con file small

V) GESTIONE SPAZIO LIBERO (vettore di bit, liste concatenate, raggruppamento conteggio)

VI) EFF E PRESTAZIONI ( dipendenze da algoritmi x allocazione, gestione dir, qnt info conservate) Miglioramento: a) Parte mem cent. Trattata come RAM (buffer cache), blocchi freq/recenti in RAM b) Double caching (cache delle pagine poi buffer cache poiché sis. di m.v non comunica direttamente con buff cache) c) Buffer cache unificato (i/o mappati in mem e s.c. usano stessa cache evitando la doppia e mem v. gesstisce dati FS)

CAP 7 GESTIONE PERIFERIFERICHE

I) Sottosistemi di i/o a. Disp e periferiche diff x n° funzioni, errori e vel trasferimento

Sorgente/dest, accesso, condivisione, direzione i/o, organizzazione/trasferimento(blocchi,caratteri,speciali) b. Controller disp. Reg di controllo stato dati Accesso ai registri

o i/o separato  istruzioni speciali o mappato in memoriaparte di spazio di ind. Nei registri o ibrido

II) Compiti ed organizzazione logica sottoistemi (nascondere dettagli hw) • device independent: naming,buffering,malfunzionamenti,protezione,allocazione,spooling

*spooling (alternativa all din. come coda di stampa). • device dependent: fornisce gestori dei disp (dev driver) con insieme di funzioni

III) gestione dispositivi polling, int, DMA esterno(hw):disp con relativo controllore come p. dedicato; interno(sw):p. che attiva driver SC: routine controllo parametri, assembla ,passa a kernel ed esegue trap() int sw con argomento id servizo Miglioraento: descrittore disp. Identifica in intermedie e finali

IV) Descrittore gestore disp • des: struttura cin info associate in mem dove accedono pro. E routine gestione int, comunicazione • gestore(driver disp): inizz disp,acc richieste, gestione coda, sel. succ, trasm al contr, esito trasm, invia dati • timer(int temporizz): inith()f risp int,delay() dai p. t attesa, descrittore con campi contatore,fine attesa e ritardo • DMA: cyce stealing(sottrazzione cicli): DMA priorità su CPU nell’uso del Bus di dati

V) Trasformazione richieste i/o Eseguibile: p.utentesottosistemaritorno chiamata esterna con dati Non: p.utsott.driver dispcontrolloreintdriver dispritorno chiamata con dati

VI) Dischi (supporto per swap,fs; so gestisce liv fisici, astrazioni di mv(eff e aff dipendenti da quelle dei dischi)) 2 astrazioni : grezzo  array di blocchi; File System struttura (piatti con strato magnetico, div in tracce ri div in settori(diskpack: +strati magnetici)) supporti con CAVv rotazione costante CAVvel ang costante supp con CLV desità bit uniforme CLVvel lin. costante

• com. tramite bus curato da adattatori(hw) in estremi bus TRtempo ricerca controllore disco in ogni unità LRlat. Rotazione

• com. tramite reteclient accedono a NAS con RPC(con TCP o UTP su IP) TTt. trasferimento mem secondaria come RAID con controllo implementato in RPC ST tempo ricerca NAStipo protocollo accesso a mem sec. Con RPC sopra TCP/IP invece di SCSI TA=ST+RL

• reti mem secondaria(SANreti private tra server e user seprati da LAN o WAN)

VII) logica dischi grezzo  array monodim, mappato nei settori del disco, ognuno con un blocco logico fsdivide disco in gruppi(partizioni) di colindri, e ci mette un fs

VIII) Schedulazione accesso al disco (efficienza da 2 fattori  TA & TT) IX) Algoritmi gestione ricieste i/o

• FCFS: evita starvation • SSTF(shortest…..): seleziona richiesta a traccia + vicina minim ST, possibile starvation • SCAN: parte da un’estremita e va all’altra, servendo tutte richieste nel tragitto, poi torna indietro • C-SCAN: come SCAN ma poi invece di tornare indietro riparte dall’inizio, -starvation di SCAN • LOOK,C-LOOK: fino alla richiesta alta e non in fondo come scan

X) RAID (schema org dischi x migliorare prestazioni, 7 livelli) Immagazzina dati in + livelli: 0 nessuna rondanza, 1 tutti duplicati, 5 ogni gruppo di n settori 1 ruppo di bit di parità 0+1: distr. Dati su + disci, duplica ogni sezione , prestazioni liv 0 affidabilità liv 1 1+0:1° copia speculiare dischi a coppie poi distribuisce coppie. Ottimo se succedono guasti

non sono stati rilasciati commenti
Questa è solo un'anteprima
3 pagine mostrate su 6 totali
Scarica il documento