Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

CAPITOLO 1: CONCETTI INTRODUTTIVI

1 - PRINCIPALI FUNZIONI DI UN SISTEMA OPERATIVO

Sistema operativo: componente software di un sistema di elaborazione che ha il compito fondamentale di agire come

intermediario tra il livello delle applicazioni e il livello hardware. Insieme di programmi che nascondono la macchina fisica e

mostrano una macchina virtuale come interfaccia, facile da usare. Ha il compito di garantire la sicurezza e la protezione dei dati

che appartengono agli utenti del sistema. Crea quindi un'astrazione di tutti i moduli presenti al livello fisico e questo è un

vantaggio perchè consente agli sviluppatori di software di non preoccuparsi dell'architettura della macchina a basso livello e di

concentrarsi esclusivamente sulle funzionalità dei programmi in quanto le interazioni con l'hardware vengono affidate al s.o.

Sistema di elaborazione diviso gerarchicamente in tre livelli:

- livello hardware, che corrisponde ai componenti fisici di un computer (cpu, ram, mouse, stampante) e che mette a disposizione

dei programmi queste risorse fisiche per la loro esecuzione;

- livello del s.o, che corrisponde ad un insieme di componenti software che devono gestire le risorse fisiche. Fanno parte di questo

livello i driver (o interfacce) per ogni modulo del livello fisico che semplificano l'utilizzo degli applicativi non mostrando i

componenti hardware;

- livello dei programmi applicativi, cioè l'insieme delle applicazioni usate direttamente dall'utente del sistema. Gli utenti non

interagiscono mai con l'hardware, ma sempre tramite interfaccia del s.o. Esempi d'applicativi : shell, editor, browser, etc...

Oltre alle risorse fisiche un s.o. deve gestire anche le risorse logiche, cioè dati e funzioni comuni utilizzate da più programmi. Le

varie tecniche adottate variano da sistema a sistema e la scelta delle strategie porta vantaggi e svantaggi.

Come già detto, il s.o deve garantire la riservatezza e la protezione delle informazioni rispetto ad intrusioni in rete. Per questo ogni

utente di un sistema di elaborazione puo decidere quali dati personali rendere pubblici e quali privati grazie alle funzionalità del

s.o.

Astrazione di macchina virtuale: il s.o fornisce un'interfaccia ai programmi utente. Questa interfaccia è detta API (Application

Programming Interface) di sistema. Le operazioni fornite dall'API vengono dette chiamate di sistema e mettono in comunicazione

il livello dei programmi applicativi usati dall'utente con il livello del sistema operativo che a sua volta comunica con il livello

fisico. Molte volte le chiamate di sistema vengono anche chiamate primitive perchè per un programma applicativo, una chiamata

di sistema dev'essere vista come istruzione macchina anche se viene realizzata in software dal s.o.

Le funzionalità offerte dalla macchina virtuale dipendono dal tipo di s.o. utilizzato e dal tipo di obiettivi che si vogliono

conseguire in un dato ambito applicativo.

2 - CENNI STORICI SULL'EVOLUZIONE DEI SISTEMI OPERATIVI

I primi sistemi di elaborazione risalgono alla 1° metà degli anni '50. C'erano grandi macchine usate solo per scopi scientifico-

militari. Non erano dotate di s.o. e il programmatore comunicava con la macchina tramite consolle, dove s'inseriva un codice

binario in un registro o in una locazione di memoria. Il problema era l'efficienza d'uso della cpu (tempo uso cpu / tempo execute

job).

Sistemi batch: introdotti all'inizio degli anni '60 con l'obiettivo di ridurre l'intervento manuale dell'utente. L'idea base fu quella di

dividere i 3 lavori: caricamento dei dati, calcolo e stampa su macchine distinte. C'era un operatore unico che gestiva la macchina.

L'utente programmatore forniva il proprio programma (codice sorgente e dati su cui operare) scritto in JCL (Job Control

Language) su schede perforate all'operatore. Fu definito infine un nuovo programma di sistema, detto monitor (primo s.o.), che: -

leggeva ciclicamente le schede caricandole su disco magnetico; - trasferiva il controllo alla CPU per l'elaborazione del contenuto;

- riprendeva il controllo per continuare con l'esame della scheda successiva fino a quando non c'era una particolare scheda che

rappresentava la fine del job.

Per ridurre ulteriormente l'intervento manuale dell'operatore fu deciso di organizzare il lavoro del sistema caricando sul lettore di

schede un lotto di pacchi di schede, contenenti più job di diversi utenti. Così il monitor poteva passare dall'esecuzione di uno job

all'altro e l'operatore interveniva solo alla fine dell'esecuzione di un batch (un insieme) di job. A quel punto l'operatore caricava un

altro batch di job raccolto durante l'esecuzione di quello precedente.

Le caratteristiche principali del sistema batch erano 3:

- positiva: si ebbe l'incremento dell'efficienza d'uso delle risorse di macchina grazie solo alla limitazione dell'intervento manuale

dell'utente.

- negativa: il pieno controllo dell'operatore sulla macchina implicò l'allontanamento dell'utente dalla macchina e i risultati dei

programmi che egli portava all'operatore venivano poi ricevuti dopo ore o giorni.

- negativa: la macchina eseguiva i programmi sequenzialmente. Per questo se un utente portava un programma molto semplice

dopo tanti altri utenti con programmi meno semplici, doveva comunque aspettare l'esecuzione di tutti i programmi portati prima di

lui. Il sistema non poteva intervenire quindi sull'ordine d'esecuzione dei programmi.

Sistemi batch multiprogrammati: nei sistemi batch tradizionali vennero introdotti dispositivi fisici come DMA per ridurre i tempi

per le operazioni di I/O e per migliorare l'uso della CPU.

Un primo miglioramento si ebbe con l'introduzione della tecnica dello Spooling. In questo modo i job di un batch venivano

caricati prima su disco in modo tale che durante la loro esecuzione la CPU operasse solo con il disco. Mentre la CPU eseguiva i

programmi di un batch, venivano contemporaneamente caricati su disco i job del batch successivo e, parallelamente venivano

stampati i risultati del batch precedente prelevandoli ancora da disco.

I vantaggi che si ottennero furono 2: 1


ACQUISTATO

1 volte

PAGINE

4

PESO

36.59 KB

AUTORE

flaviael

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in scienze e tecnologie informatiche (CESENA)
SSD:
Università: Bologna - Unibo
A.A.: 2009-2010

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher flaviael 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à Bologna - Unibo o del prof Salomoni Paola.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Sistemi operativi

Reti Peer-to-Peer: Attacchi e Contromisure
Tesi