Anteprima
Vedrai una selezione di 10 pagine su 190
Sistemi operativi - Appunti teoria Pag. 1 Sistemi operativi - Appunti teoria Pag. 2
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 6
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 11
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 16
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 21
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 26
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 31
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 36
Anteprima di 10 pagg. su 190.
Scarica il documento per vederlo tutto.
Sistemi operativi - Appunti teoria Pag. 41
1 su 190
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 OPERATIVI

  • INTRODUZIONE

Un sistema operativo è una componente software che ci permette di utilizzare un sistema hardware e quindi i programmi.

Controlla l'uso delle risorse di un sistema di un computer come CPU, memoria e dispositivi di I/O per soddisfare le richieste di elaborazione dei suoi utenti.

Gli obiettivi principali di un S.O. sono:

  • la convenienza per l'utente: infatti, gli utenti si aspettano la qualità di servizi offerti;
  • l'uso efficiente: infatti, gli amministratori si aspettano che il S.O. sfrutti al meglio le risorse hardware a disposizione in modo da avere buone prestazioni all'esecuzione dei programmi;
  • l'assenza di interferenze: infatti, utenti si aspettano le garanzie che gli altri utenti non siano in grado di interferire con le proprie attività.

I primi due punti dipendono dall'ambiente di elaborazione cioè dell'hardware e di sistema, delle interfacce e dal tipo di elaborazioni richieste.

  • L'uso efficiente delle risorse è importante quando il sistema è dedicato ad applicazioni specifiche;
  • le convenienze è importante nei personal computer

Entrambe sono importanti nei sistemi condivisi, dei molti utenti.

Per questa ragione è possibile puntare ad una giusta combinazione delle due.

- Le Sicurezza è importante in tutti gli ambienti d'utilizzo

Un moderno SO deve poter essere utilizzato su un computer con diverse architetture e restare al passo con l'evoluzione degli ambienti di elaborazione

Il SO, infatti, funge da intermediario tra utenti e il sistema

  • Fornisce agli utenti dei servizi utilizzando le risorse HW del sistema

VISTE DI UN SISTEMA OPERATIVO

la definizione del SO dipende del tipo di utilizzo che ne devre fare l'utente elenco utilizzata:

  • per uno studente è il SW che consente l'accesso a internet
  • per un programmatore è il SW che rende possibile sviluppare programmi sul computer
  • per un tecnico di un'impresa le componenti necessarie di un computer che controlla l'impianto
  • Per un PROGETTISTA un SO è un insieme di routine che semplificanno l'esecuzione del programma e l'uso di risorse

---------------------------------------------------------------------------------------------------------------------

Interfaccia utente

Routine non kernel

Kernel

hardware

----------------------------------------------------------------------------------------------------------------------

Interferenza utente: questa gestisce comandi e eseguire programmie usa le risorse e i servizi forniti del SO

Gestione delle risorse

  • Il SO allocca le risorse come la memoria e i dispositivi di I/O, quando il programma le richiede.
  • Al termine dell'esecuzione del programma, il SO deallocca queste risorse per riassegnarle ad altri programmi.
  • L'allocazione e la de-allocazione delle risorse possono essere realizzate con un' tabella delle risorse.
  • Contiene nome, indirizzo, esteso di unità di risorse.
  • Costruita mediante il BCA e mantenuta durante il funzionamento.
  • Strategie per l'allocazione delle risorse e comuni partizionamenti:
  • Il SO decide a priori quali risorse allocare ad ogni programma utente.
  • Divide le risorse in partizioni.
  • Le tabelle delle risorse contengono le entrate per le partizioni.
  • Semplice da implementare ma privo di: Flessibilità. Il problema è che ci può essere uno spreco di memoria se ne allocco più del necessario o ne allocco troppo poco e non si possono eseguire i programmi.
  • Gruppo (pool-based)
  • Il SO allocca le risorse da un insieme di risorse
  • Consulta le tabelle e controlla se è libera la risorsa.
  • Migliore overhead e usi efficienti.

N.B. Wochastic: Funzione fondamentale del SO necessita e funziona.

BUS → non si accede contemporaneamente

DMA → dispositivo HW collegato ad ogni dispositivo I/O e controlla se ci sono informazioni

● realizza le operazioni dopo che ha ricevuto le informazioni della CPU

● mentre il DMA realizza l'oper, la CPU è libera di processare altro codice.

LA CPU

  • Sono due le caratteristiche delle CPU visibili ai programmi utente e al SO
  • registri GENERAL PURPOSE (GPR)
    • Chiamati anche registri visibili agli utenti. Usati x memorizzare i dati, gli indirizzi, gli indici o lo stack pointer durante l'esecuzione di un programma
  • registri di controllo
    • contengono informazioni che controllano o influenzano le operazioni della CPU
    • L’insieme dei registri di controllo è chiamato PROGRAM STATUS WORD (PSW)
    • l'esecun registro di controllo del PSW è un campo del PSW
  • CAMP. DEL PSW
    • Il PROGRAM COUNTER (PC): contiene l'indirizzo della prossima istruzione da eseguire
  • Il CONDITION CODE (CC): Indica alcune caratteristiche del risultato di un'istruzione aritmetica ( 0, 1, 2 ) verbo utilizzato nell'istruzione di salto condizionato

Il tempo di mezzo accesso è infatti ottenuto come risulta di una legge empirica chiamata Località dei Riferimenti

  • Località spaziale

La cpu accede a byte in indirizzi vicini ai byte a cui si è accesso recentemente

  • Località temporale

I programmi tendono a referenziare ciclicamente alcune istruzioni e dati.

Le gerarchie di memoria nei moderni computer differiscono però nel numero delle celle e nelle disposizioni delle MMU & per ridurre i tempi di accesso alle memorie si usa una gerarchia di memorie cache invece dello singole cache

  • Cache di livello 1

Monta sulla chip della CPU

  • Cache di livello 3

Esterne alla CPU

Le MMU viene sostituita da una configurazione parallela delle MMU e delle cache L1

In questo modo alle cache L1 viene inviato un indirizzo logico che un via un indirizzo fisico eliminano il processo di traduzione

Interrupt

  • Un evento è una situazione che richiede l'attenzione del SO.
  • Ad ogni evento è associato un interrupt e lo scopo è quello di segnalare al SO il verificarsi dell'evento a cui è associato in modo da consentirgli di effettuare le azioni appropriate per gestirlo.

Implementazione di un interrupt

  • Nel ciclo di esecuzione di un'istruzione delle CPU, si recupera, decodifica ed esegue (fetch-decode-execute) l'istruzione e il cui indirizzo è contenuto nel Program Counter.
  • Dopo l'esecuzione (execute) dell'istruzione si controlla se si è verificato un interrupt durante l'esecuzione dell'istruzione.
  • In caso affermativo: esegue un'azione di interrupt che salva lo stato delle CPU e carica i nuovi dati nel PSU e nei GPR, in modo che le CPU può sospendere l'esecuzione nel modo legale delle istruzioni di una routine di servizio dell'interrupt (chiamate ISR).
  • A un certo punto il kernel può ripristinare l'esecuzione del programma interrotto, ripristinando lo stato salvato delle CPU.

Ad ogni interrupt è associata anche una priorità.

2. Quando l'esecuzione di un programma è interrotta, lo stato della CPU (contenuto del PSW e dei GPR) dovrebbe essere salvato.

3. Quando deve essere ripristinata l'esecuzione del programma interrotto, lo stato salvato della CPU dovrebbe essere caricato nel PSW e nei GPR.

Il SO conserva una tabella delle informazioni, chiamate tabelle dei programmi o Process Control Block (PCB). Ogni elemento di tale tabella contiene informazioni relative ad un programma utente ed è creato quando viene avviato il programma. L'insieme di queste tabelle viene usato dal kernel per

  • Salvare le informazioni al momento dell'inizio dell'esecuzione del programma (punto 1)
  • Salvare lo stato della CPU quando un programma è interrotto (punto 2)
  • Ripristinare le informazioni, contenute in queste camp quando un prog. è ripristinato (punto 3)

Servire gli interrupt

Per semplicità, si assume che un vettore degli interrupt abbia lo stesso formato del PSW. Il kernel, all'avvio del sistema operativo, costruisce il vettore globale interrupt e diverse classi di interrupt.

  • Ciascun vettore contiene
    • Uno 0 nel campo modalità (M) x indicare che la CPU dovrebbe essere usata in modalità kernel
    • L'indirizzo della prima istruzione della routine di servizio dell'interrupt nel campo program counter (PC)
    • Uno 0 e le dimensioni della memoria nel campo (PM), in modo tale che possa avere accesso all'intera memoria
Dettagli
A.A. 2021-2022
190 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher CamillaDeMartino01 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 Napoli - Parthenope o del prof Staiano Antonino.