Anteprima
Vedrai una selezione di 3 pagine su 7
Appunti Fondamenti di Informatica teoria - sistemi di operativi  Pag. 1 Appunti Fondamenti di Informatica teoria - sistemi di operativi  Pag. 2
Anteprima di 3 pagg. su 7.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di Informatica teoria - sistemi di operativi  Pag. 6
1 su 7
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

CLASSIFICAZIONE DEI SISTEMI OPERATIVI

- Dedicati

- A lotti (batch)

- Multiprogrammazione

- Interattivi (time-sharing)

- Real-time

- Per macchine multiprocessori (sistemi concorrenti)

L'ordine è cronologico.

I sistemi operativi integrano funzioni per la gestione delle reti di calcolatori.

SISTEMI OPERATIVI DEDICATI

I primi sistemi operativi (tornati in uso con i PC)

La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta (applicativo o di base)

Nucleo (kernel) molto semplice (overhead limitato)

Funzioni base per interpretare comandi ed eseguire programmi

Scarso sfruttamento del tempo macchina.

ELABORAZIONE BATCH

L'elaborazione batch era l'unica possibile per i primi computer.

Venivano utilizzate le schede meccanografiche o i nastri perforati per fornire al computer il programma da eseguire e i dati da elaborare.

Il programma doveva essere impostato in modo da poter funzionare senza l'ulteriore

intervento dell'operatore.- L'elaborazione vera e propria iniziava dopo che si aveva provveduto a fornire al computer, oltre al programma medesimo, i dati e i comandi di S.O. da elaborare.- Si utilizzavano particolari dispositivi per l'input come i lettori di schede, oggi non più in uso (non esistevano ancora i video terminali) e i comandi al S.O. venivano formulati utilizzando un linguaggio apposito dello Job Control Language.

SISTEMI OPERATIVI PER GESTIONE A LOTTI (BATCH)- Nati per meglio sfruttare la velocità crescente delle macchine: eliminano i tempi morti tra programmi successivi di utenti diversi,- Operazioni I/O offline,- Un insieme di lavori (job) viene accorpato in un lotto (batch) e trasferito su una unità di ingresso veloce (nastro/disco),- Ogni lavoro viene caricato ed eseguito in sequenza senza interruzioni fino al termine,- La CPU viene comunque sottoutilizzata perché, durante le operazioni di I/O, deve adeguarsi alla bassa

velocità delle periferiche,- Tecnica di spooling (simultaneous peripheral operations on-line).
EVOLUZIONE DELLA MACCHINA DI VON NEUMANN- Il limite intrinseco della struttura di Von Neumann è totale mancanza di parallelismo, che comporta un tempo globale di elaborazione pari alla somma dei tempi richiesti da ogni singola attività (elaborazione + I/O),- Le evoluzioni architetturali della macchina di Von Neumann tendono a consentire diversi livelli di parallelismo.
STATI DI UN PROCESSO- Elaborazione dati (ALU, memoria, unità di controllo) – RUNNING- I/O (unità I/O, memoria, unità di controllo) – BLOCKED
SO DEDICATO: STATO DEI PROGRAMMI
TECNICHE DI GESTIONE DELLE UNITÀ PERIFERICHE
La funzione del sistema di Input/Output di un calcolatore è il trasferimento di dati tra la memoria principale ed il mondo esterno.
I metodi utilizzati dalla CPU per gestire le richieste di servizio da parte dei dispositivi di I/O possono essere di 3 tipi

  • Polling
  • Interrupt
  • Accesso diretto alla memoria (DMA)

DMA (DIRECT MEMORY ACCESS)

canale di input/output:

Gestione tramite si tratta di un dispositivo dedicato a funzioni di scambio di informazioni con le periferiche che consente di svincolare la CPU da operazioni di sincronizzazione, transcodifica, formattazione dei dati, ecc. realizzato con un processore con potenza limitata.

MULTIPROGRAMMAZIONE

Più di un programma è caricato in memoria contemporaneamente,

Le operazioni di I/O di un programma (BLOCKED) sono sovrapposte temporalmente all’esecuzione delle istruzioni di un altro programma (RUNNING),

Ciò è possibile grazie al canale che gestisce l’I/O

MULTIPROGRAMMAZIONE: STATI DI UN PROCESSO

Processo: sequenza di istruzioni eseguite dal processore durante l’esecuzione di un programma

MULTIPROGRAMMAZIONE (running)

Quando un processo in esecuzione chiede un servizio di I/O al (blocked) sistema operativo si blocca in attesa del

risultato,- Il sistema operativo avvia l'operazione di I/O e manda in esecuzione un(ready),altro processo che si trova in stato di pronto- Il sistema operativo mantiene una o più code di processi gestite secondo(scheduling),la priorità assegnata a ciascuno di essi- CPU ben sfruttata,- Svantaggio: multiprogrammazione incapace di differenziare fraprogrammi che richiedono un uso frequente delle periferiche, da quelliche richiedono l'utilizzo per lunghi tempi della CPU (es. programmi dielaborazione matematica su dati ricevuti inizialmente). Quando uno diquesti programmi conquista la CPU non la rilascia, bloccando gli altriprogrammi

MULTIPROGRAMMATO: STATO DEI PROGRAMMISISTEMI OPERATIVI INTERATTIVI (TIME SHARING)- L'utente lavora al terminalee ha l'impressione di avere la macchina a sua completa disposizione.- Ogni processo ottiene ciclicamente l'utilizzo della CPU,- Overhead per la gestione della CPU principalmente con molti processiattivi,- Il

Il tempo di utilizzo della CPU viene suddiviso dal sistema operativo in fette di tempo chiamate time slice, con una durata compresa tra 100 e 800 ms. Ogni processo in memoria riceve a turno l'uso della CPU per una fetta di tempo. Questo meccanismo è utilizzato soprattutto in ambienti multiutente.

Il time sharing è un concetto che si riferisce agli stati di un processo. Un processo è una sequenza di istruzioni eseguite dal processore per eseguire un programma.

I sistemi operativi real time sono progettati per gestire applicazioni che richiedono una risposta immediata e prevedibile. Questi sistemi operativi sono ottimizzati per garantire che le operazioni vengano eseguite entro determinati limiti di tempo, al fine di soddisfare le esigenze delle applicazioni in tempo reale.

Dettagli
Publisher
A.A. 2022-2023
7 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Yasm23 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 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 Pavia o del prof Larizza Cristiana.