Anteprima
Vedrai una selezione di 3 pagine su 6
Sistema operativo (3) Pag. 1 Sistema operativo (3) Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Sistema operativo (3) Pag. 6
1 su 6
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Sistema operativo


Appunto di informatica che fornisce in un allegato la descrizione della caratteristiche principali del Sistema Operativo.
Estratto del documento

INFORMATICA

Componenti di un sistema di calcolo:

Hardware: fornisce le risorse fondamentali di calcolo (CPU, memoria, device di I/O).

Sistema Operativo: controlla e coordina l’utilizzo delle risorse hardware da parte dei

programmi applicativi dell’utente.

Programmi Applicativi: definiscono le modalità di utilizzo delle risorse del sistema, per

risolvere i problemi di calcolo degli utenti (compilatori, database, video game, programmi

gestionali).

Interfaccia: permette agli utenti di accedere alle risorse del sistema attraverso un linguaggio di

comando o desktop grafici

Utenti : persone, altri macchinari, altri elaboratori.

Compiti del sistema operativo:

Gestione dei processi;

• Gestione della memoria principale;

• Gestione della memoria di massa (file system);

• Realizzazione dell’interfaccia utente;

• Gestione dell’accesso simultaneo di più utenti alla stessa macchina;

• Esecuzione simultanea di più processi sulla stessa macchina;

• Rilevamento e gestione degli errori;

• HW-SW

[Type text] Page 2

INFORMATICA

Riassunto della storia dei sistemi di elaborazione:

Generazione 0: Babbage (1792–1871)

Progetta la macchina analitica (programmabile, meccanica)

Non aveva sistema operativo

La prima programmatrice della storia è Lady Ada Lovelace (figlia del poeta Lord Byron)

Generazione 1: 1945–1955

Valvole e tavole di commutazione

Generazione 2: 1955–1965

Transistor e sistemi batch

Generazione 3: 1965–1980

Circuiti integrati, multiprogrammazione e time–sharing

Generazione 4: 1980–oggi

Personal computer

Generazione 1:

Non erano dotati di sistema operativo;

• Non esistevano i linguaggi ad alto livello né l’assembly;

• Primi programmi per la gestione di periferiche;

• L’elaboratore gestiva un solo lavoro (job);

Generazione 2:

Sistemi batch caratteristiche:

Presuppongono un operatore ≠ utente

• Assenza di interazione fra utente e job a run–time (tempo

• di esecuzione)

Presuppongono come periferica di ingresso un lettore di

• schede o nastri.

Riducono il tempo di setup riunendo in lotti (batch) job

• simili.

Aumento del throughput (quantità di dati trasmessi in un unità di tempo)

• Viene eseguito un solo job alla volta fino al suo completamento.

Funzionamento:

1. Un lotto di job sotto forma di schede viene trascritto su di un nastro,

2. Il nastro viene montato nel sistema centrale (7094) che li elabora uno alla volta.

3. I risultati sono trascritti su di un ulteriore nastro (nel frattempo e’ possibile cominciare a

creare un altro nastro di job sul sistema ausiliario 1401)

4. Il nastro con i risultati viene montato sul sistema ausiliario 1401 che li stampa (nel

frattempo il sistema centrale 7094 elabora altri job su un altro nastro)

[Type text] Page 3

INFORMATICA

Sistemi batch: problemi

Le operazioni di elaborazione e di I/O non possono essere svolte contemporaneamente.

E’ possibile tenere in memoria un solo job alla volta.

Lentezza dei lettori di schede e nastri rispetto alla CPU (anche 3 ordini di grandezza).

Uso inefficiente della CPU.

Primo miglioramento:

Caricamento di numerosi job su nastro (off–line)

Elaborazione (output su nastro)

Stampa del nastro di output (off–line)

Possibile Soluzione:

Uso di memorie di massa veloci ad accesso diretto (dischi)

Generazione 3:

Sistemi operativi interattivi, con multi–programmazione e time–sharing:

Con la multiprogrammazione e il time sharing si riducono i tempi medi di attesa e ogni utente

ha la sensazione di essere l’unico utente del sistema.

Sistemi interattivi:

Permettono la comunicazione on–line tra utente e sistema; quando il SO termina

• l’esecuzione di un comando, si aspetta il successivo comando da tastiera;

Devono essere sempre disponibili per l’accesso a dati e codice da parte degli utenti

• (File system on–line).

Multi–programmazione: Utilizzo del processore durante i periodi di I/O di un job per

eseguire altri job

Vantaggi: Il processore non viene lasciato inattivo (idle) durante le operazioni di I/O (molto

lunghe). La memoria viene utilizzata al meglio, caricando il maggior numero di job possibili.

Per gestire la multi–programmazione, il SO deve gestire un pool di job da eseguire, fra cui

alternare il processore.

[Type text] Page 4

INFORMATICA

Caratteristiche:

Più job contemporaneamente in memoria.

Una componente del SO, detta scheduler, si preoccupa di alternarli nell’uso della CPU

Quando un job richiede un’operazione di I/O, la CPU viene assegnata ad un altro job.

SO multi–programmati:

Routine di I/O fornite dal SO.

• Gestione della memoria: il sistema deve allocare la memoria per i job presenti

• contemporaneamente

CPU scheduling: il sistema deve scegliere tra i diversi job pronti all’esecuzione

• Allocazione delle risorse di I/O: il SO deve essere in grado di allocare le risorse di I/O

• fra diversi processi.

SO multi-programmati: problemi

Se nel job pool è presente un job molto lungo, eventuali job più piccoli devono attendere la fine

di tale job anche se devono usare la CPU per poco tempo.

Tempo medio di elaborazione: Elevato

Soluzione: Sospendere l’esecuzione di job che superano un fissato tempo limite (time slice).

Time–Sharing: La risorsa CPU viene suddivisa in quanti temporali; allo scadere di un

quanto, il job corrente viene interrotto e l’esecuzione passa ad un altro job, anche in assenza di

richieste di I/O.

Il passaggio di utilizzo della CPU da un processo all’altro (context switch) avviene così

frequentemente che più utenti possono interagire con i programmi in esecuzione.

SO Time–Sharing:

Gestione della memoria: il numero di processi utente può essere molto elevato; si rende

• necessario l’uso della memoria virtuale;

CPU scheduling: deve essere di tipo time–sliced, ovvero sospendere periodicamente

• l’esecuzione di un programma a favore di un altro.

La presenza di più utenti rende necessari meccanismi di protezione ( protezione del file

• system, della memoria, etc.)

Gestione di un file system on–line e della memoria secondaria di supporto.

• La presenza di meccanismi per l’esecuzione concorrente, la comunicazione e la

• sincronizzazione dei job.

La presenza di meccanismi per evitare i deadlock.

• La presenza di differenti unità di I/O.

Time-Sharing Problemi:

Il time sharing permette l’accesso alla cpu a molti programmi residenti in memoria.

La memoria ha una capacità limitata.

[Type text] Page 5

Dettagli
Publisher
6 pagine
69 download