Anteprima
Vedrai una selezione di 5 pagine su 20
Definizioni Sistemi operativi Pag. 1 Definizioni Sistemi operativi Pag. 2
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Definizioni Sistemi operativi Pag. 6
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Definizioni Sistemi operativi Pag. 11
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Definizioni Sistemi operativi Pag. 16
1 su 20
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

DIFFERENZA TRA MUTEX E SEMAFORO BINARIO

Mutexes are used for controlling exclusive access to resources / data. If you take a mutex

 protecting the resource / data, you must give it back when you have finished, otherwise you will

permanently block the resource. Mutexes also allow for priority inheritance.

Binary Semaphores on the other hand are used for task synchronization purposes. You do not

 give a give the semaphore back once you have taken it.

CIFRATURA SIMMETRICA E ASIMMETRICA

In ambito sicurezza informatica, cifratura simmetrica e asimmetrica sono due metodi diversi di

crittografia attraverso i quali vengono codificati e decodificati i messaggi.

CIFRATURA SIMMETRICA: utilizza chiavi private. Negli schemi di cifratura simmetrica la sicurezza del

processo risiede nella lunghezza della chiave utilizzata e nella capacità di mantenerla segreta.

CIFRATURA ASIMMETRICA: anche nota come crittografia a chiave pubblica/privata, è un tipo di

crittografia in cui a ciascuna entità è associata una coppia di chiavi:

Una chiave pubblica accessibile a tutti coloro che necessitano di scambiare informazioni con

 l’entità proprietaria.

Una chiave privata, custodita e tenuta segreta dal legittimo proprietario.

In un processo di crittografia asimmetrica, qualsiasi messaggio crittografato con una chiave privata

potrà essere decifrato solo utilizzando la chiave pubblica corrispondente. Il processo svincola quindi

l’utente dalla necessità di dover scambiare le chiavi prima di qualunque comunicazione.

Cifratura simmetrica Cifratura asimmetrica

Velocità Veloce Lento

Complessità computazionale Alta Bassa

richiesta Chiave pubblica condivisa tra

Necessario scambio sicuro della tutti coloro che intendono

Condivisione chiave chiave unica di cifratura tra gli scambiare informazioni con il

interlocutori. proprietario.

Cifratura, Verifica Autenticità,

Possibili utilizzi Cifratura Verifica Integrità, Firma Digitale

DES, Triple-DES (3DES), IDEA,

Algoritmi RSA, DSA, ELGAMAL

CAST5, BLOWFISH, TWOFISH.

Cifratura simmetrica Cifratura asimmetrica

- Distribuzione delle chiavi non

Pro Veloce impegnativa

- Presenza della sola chiave privata, a rischio - Impegnativa dal punto di vista

Contr vulnerabilità; computazionale

o - Difficoltà della distribuzione delle chiavi private in -Serve un garante per accertare la

un sistema multiutente. affidabilità della chiave pubblica

COME FUNZIONA RSA

L’RSA (Rivest, Shamir e Adleman) è un cifrario a chiave pubblica che permette di cifrare un messaggio

sfruttando alcune proprietà elementari dei numeri primi. La loro idea fu quella di sfruttare la difficoltà di

fattorizzare un numero intero. Di fatti la chiave pubblica è un numero N ottenuto moltiplicando due

numeri primi molto grandi che restano segreti.

Poiché RSA è molto più lento della cifratura simmetrica, quello che succede tipicamente è che i dati

vengono cifrati con un algoritmo simmetrico, e poi che la comparativamente corta chiave simmetrica è

cifrata utilizzando RSA. Ciò permette alla chiave necessaria per decifrare i dati di essere spedita in

modo sicuro ad altre parti, assieme ai dati cifrati con la metodologia simmetrica.

PASSI DI RSA:

-Bob deve creare una chiave pubblica kpb = (N, e) ed una privata ksb = (N, d) stando attento a non

divulgare d, Bob trasmette (N, e) ad Alice;

Come crea Bob la chiave pubblica e privata?

-Bob sceglie due numeri primi p e q, molto grandi e li moltiplica N = p · q ;

e,

-Bob sceglie un numero coprimo con N e più piccolo di ϕ(N) = (p − 1) · (q − 1) ;

-Bob calcola d tale che e · d ≡ 1 mod (p − 1) · (q − 1) d è l’inverso moltiplicativo di e solo Bob conosce

la chiave segreta (N, d) mentre (N, e) è pubblica;

Come avviene la cifratura e decifratura?

-Alice calcola c = me mod N

-Alice trasmette c a Bob

-Bob riceve c e lo decripta calcolando: c d ≡ m mod N

La forza di questo algoritmo sta nel fatto che calcolare d, conoscendo la chiave (N, e), è un problema

difficile. Questo non esclude che ci sia un modo semplice di calcolarlo, ma al momento non si conosce.

È vero o falso che un processo può uscire autonomamente dallo stato di ready?

No, bisogna che il processo passi dallo short term scheduler.

Cosa vuol dire che uno scheduler è di tipo preemptive?

Uno scheduler preemptive può interrompere momentaneamente un processo e rimuoverlo dalla CPU

senza alcun consenso da parte di esso, per far eseguire un altro processo con priorità maggiore.

Definite i concetti di deadlock e starvation, quale di questi due fenomeni è più grave

secondo voi e perché? (n>1)

Il deadlock è una situazione in cui processi sono fermi in attesa che si verifichi un evento che può

n

essere provocato solo da un altro degli processi.

La starvation è una situazione in cui un processo non riesce mai ad entrare in possesso di una risorsa

per poter proseguire la propria computazione.

Il più grave è il deadlock perché coinvolge più processi.

In un sistema a paginazione cos’è la tabella delle pagine? Come si usa? Dov’è memorizzata?

-La paginazione è un metodo di gestione della memoria che permette che lo spazio degli indirizzi fisici

di un processo non sia contiguo. Il metodo per implementare la paginazione consiste nel suddividere la

memoria fisica in blocchi di dimensione costante, detti frame, e suddividere la memoria logica in

blocchi di pari dimensione detti pagine. La tabella delle pagine contiene l’indirizzo di base in memoria

fisica di ogni pagina. Il numero di pagina serve come indice per la tabella delle pagine.

-Ogni volta che un programma invia una richiesta di memoria, il sistema operativo alloca un sufficiente

numero di pagine al programma e mantiene una lista della pagine allocate.

-La page table risiede nella memoria virtuale.

Che cos’è la tabella delle pagine di un processo? E cosa contiene?

E’ un array in cui ogni entry corrisponde ad una delle pagine in cui è stata suddivisa l’immagine del

processo, e contiene il numero del frame in RAM nel quale è stata memorizzata la pagina

corrispondente.

Come fa il sistema operativo ad impedire il monopolio del processore da parte di un

processo (cioè il caso in cui tale processo resta in stato di running per un tempo molto

lungo)?

Tramite l’utilizzo di algoritmi di scheduling di tipo preemptive.

In un sistema operativo moderno è molto importante il response time? Perché?

Il response time è il tempo totale necessario alla risposta per una richiesta di un servizio.

È molto importante perché un sistema che da risposte più brevi è più performante.

Quale politica permette di avere migliore response time fra FCFS, SJF e RR?

RR, perché essendo un algoritmo preemptive e tramite l’utilizzo del quanto di tempo assicura che tutti i

processi vengano eseguiti nell’ordine ottimale.

Perché aumentare le dimensioni delle pagine diminuisce la dimensione della PT dei

processi?

Poiché solitamente abbiamo una PT per ogni processo, verrebbero allocati centinaia di Mb di memoria

solo per le PT. Avere le pagine di dimensione grande fa si che un processo sia composto da meno

pagine e quindi, siccome la PT ha lo stesso numero di entry rispetto il numero di pagine del processo, vi

sono meno pagine da caricare nella PT.

Quali sono i possibili inconvenienti?

Pagine più grandi permettono uno spreco di memoria maggiore, per via di questo aumenteremo la

possibilità di frammentazione interna.

Cos’è un context swtich? Quali sono le sue fasi? Perché è importante che un sistema

operativo minimizzi il tempo di context switch?

- Il context switch è il processo di memorizzazione dello stato di un processo o di un thread, in modo

che possa essere ripristinato e l'esecuzione riprenda dallo stesso punto. Questo avviene all'occorrenza

di una qualsiasi interruzione dovuta allo scheduler, ma anche a interruzioni dovute a errori di altri

processi o segnali.

Permette a più processi di condividere una stessa CPU, ed è utile quindi sia nei sistemi

monoprocessore, perché consente di eseguire più programmi contemporaneamente, sia nell'ambito

del calcolo parallelo, perché consente un migliore bilanciamento del carico.

- Vi è una fase di salvataggio nel PCB del processo al momento dell’interrupt, e una seconda fase di

ripristino nel momento in cui viene ripresa l’esecuzione.

-Il context switch introduce una quantità significativa di overhead per il tempo di esecuzione

complessivo del task, poiché il trasferimento di contenuti tra processore e memoria richiede un po’ di

tempo. Questo overhead deve essere ridotto al minimo, riducendo il tempo di context switch.

Quale strategia per memorizzare un file su memoria secondaria tra: contiguous, linked,

indexed soffre di frammentazione esterna?

L’allocazione Contigua.

Quale tra queste tre è la peggiore per implementare l’accesso diretto al file?

L’allocazione linked.

Perché ha senso avere un “Multilevel Queue Scheduling”?

Perché questa configurazione ha il vantaggio di diminuire il sovraccarico di low scheduling.

Nella politica RR quali sono i possibili pro e contro che emergono al variare della

dimensione del quanto di tempo? Che tipo di processi sarebbero

avvantaggiati/svantaggiati?

Il pro nel RR è che prima o poi tutti i processi verranno eseguiti, il contro è che vengono avvantaggiati i

processi con basso burst time.

La politica LRU, per page replacement, non è utilizzabile in pratica, e deve essere

approssimata. Perché?

Il problema principale riguarda la realizzazione della sostituzione stessa. Un algoritmo LRU richiede una

notevole assistenza da parte dell’architettura del sistema di calcolo. Il problema consiste nel

determinare un ordine per i frame definito secondo il momento dell’ultimo uso.

COS’È IL PRINCIPIO LOCALITÀ DEI PROGRAMMI?

Durante l'esecuzione di una data istruzione presente in memoria, con molta probabilità le successive

istruzioni saranno ubicate nelle vicinanze di quella in corso. Nell'arco di esecuzione di un programma si

tende a fare riferimenti continui alle stesse istruzioni.

ESEMPI hardware sono: cache e tlb - ESEMPI sofware sono: LRU e SJF

PERCHÉ IN QUESTI ALGORITMI È IMPORTANTE IL PRINCIPIO DI LOCALITÀ?

Per ridurre i tempi, il sistema operativo sfrutta il principio di località per ridurre gli accessi al disco.

Nell’algoritmo di scheduling RR cosa succede se il quanto di tempo usato diventa

arbitrariamente gra

Dettagli
A.A. 2019-2020
20 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher simonagalante12 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.