Sistemi operativi schema generale, Schemi riassuntivi di Sistemi Operativi. Università di Siena
vustellini
vustellini8 settembre 2016

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

PDF (154 KB)
6 pagine
160Numero 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

commenti (0)

non sono stati rilasciati commenti

scrivi tu il primo!

Questa è solo un'anteprima

3 pagine mostrate su 6 totali

Scarica il documento