Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


informatica - sistemi operativi, Appunti di Elementi di Informatica

Descrizione e riassunto dettagliato dei sistemi operativi

Tipologia: Appunti

2019/2020

Caricato il 24/02/2020

domenico-rossi2943
domenico-rossi2943 🇮🇹

4.4

(15)

16 documenti

1 / 4

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Informatica – Sistemi Operativi
Che cosa è un sistema operativo?
Il sistema operativo è il software che controlla le operazioni complessive di un computer:
fornisce i mezzi attraverso il quale un utente può memorizzare recuperare i file.
Fornisce l'interfaccia per richiedere l'esecuzione dei programmi e l’ambiente necessario per eseguirli.
Per l'utente medio, le differenze tra diversi sistemi operativi sono puramente estetiche. Per i professionisti la
differenza consiste nella variazione degli strumenti necessari per il lavoro.
Funzioni del sistema operativo:
1. Sorveglia il funzionamento del computer;
2. Memorizzare e recuperare file;
3. Programmare i programmi di esecuzione;
4. Coordinare l’esecuzione dei programmi.
Evoluzione dei sistemi operativi
1. Elaborazione Batch
I computer degli anni ‘40 e ‘50 non erano molto flessibili né efficienti:
oI computer occupavano intere stanze.
o L'esecuzione dei programmi era laboriosa e richiedeva il montaggio di nastri o l’inserimento di
schede perforate.
oL'esecuzione del programma, chiamata job, era gestita con un'attività isolata.
oQuando più utenti dovevano condividere un computer unico attraverso l’interventi di un operatore.
I sistemi operativi servivano solo a semplificare il caricamento dei programmi e a sveltire il passaggio da un job
ad un altro. Un utente portava il programma con tutti i dati utili alla sua esecuzione all’operatore e poi tornava a
prendere i risultati. Da qui il termine “elaborazione batch”, cioè a lotti.
In questo tipo di elaborazione i job presenti nella memoria di massa aspettano l’esecuzione di una coda di job:
una coda è una struttura dati in cui gli oggetti sono ordinati secondo il metodo FIFO (first-in first-out). Ad ogni job
viene attribuito uno specifico insieme di istruzioni che descrivevano le fasi necessarie alla preparazione del
computer. Quando un job veniva selezionato per l'esecuzione, il sistema operativo riproduceva le istruzioni JCL
(Job Control Language) su una stampante in modo che l'operatore potesse leggere e seguirle. Lo svantaggio
principale di questo tipo di elaborazione era la presenza dell'operatore. Questo approccio è accettabile solo per
alcune applicazioni ad esempio, la gestione di paghe e contributi, oppure per tutte quelle applicazioni dove le
decisioni sono stabilite in anticipo. Non è efficiente nelle applicazioni in cui è prevista una forte interazione con la
macchina.
2. Elaborazione interattiva
Furono sviluppati sistemi operativi in grado di garantire l'esecuzione dei programmi che prevedevano un dialogo
con l’utente tramite stazioni di lavoro o terminali remoti. I terminali di allora erano poco più che una sorta di
macchina da scrivere elettronica. Gli utenti interagivano digitando dati che leggevano la risposta del computer, e
successivamente veniva stampata su carta. Le azioni del computer devono essere sufficientemente veloci per
coordinarsi con l'utente (non è l’utente che deve adeguarsi ai tempi del computer). Quando un computer è
obbligato a eseguire la sua attività in base ad una scadenza, si ha il fenomeno della elaborazione in tempo reale. I
computer tuttavia molto costosi, dovevano essere condivisi tra più utenti e non a caso la condivisione poneva
problemi all’elaborazione in tempo reale. La soluzione, a questo problema, fu di progettare sistemi operativi che
fornissero i servizi contemporaneamente a più utenti mediante un processo chiamato time-sharing.
pf3
pf4

Anteprima parziale del testo

Scarica informatica - sistemi operativi e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Informatica – Sistemi Operativi

Che cosa è un sistema operativo? Il sistema operativo è il software che controlla le operazioni complessive di un computer:  fornisce i mezzi attraverso il quale un utente può memorizzare recuperare i file.  Fornisce l'interfaccia per richiedere l'esecuzione dei programmi e l’ambiente necessario per eseguirli. Per l'utente medio, le differenze tra diversi sistemi operativi sono puramente estetiche. Per i professionisti la differenza consiste nella variazione degli strumenti necessari per il lavoro. Funzioni del sistema operativo:

  1. Sorveglia il funzionamento del computer;
  2. Memorizzare e recuperare file;
  3. Programmare i programmi di esecuzione;
  4. Coordinare l’esecuzione dei programmi. Evoluzione dei sistemi operativi 1. Elaborazione Batch I computer degli anni ‘40 e ‘50 non erano molto flessibili né efficienti: o I computer occupavano intere stanze. o L'esecuzione dei programmi era laboriosa e richiedeva il montaggio di nastri o l’inserimento di schede perforate. o L'esecuzione del programma, chiamata job, era gestita con un'attività isolata. o Quando più utenti dovevano condividere un computer unico attraverso l’interventi di un operatore. I sistemi operativi servivano solo a semplificare il caricamento dei programmi e a sveltire il passaggio da un job ad un altro. Un utente portava il programma con tutti i dati utili alla sua esecuzione all’operatore e poi tornava a prendere i risultati. Da qui il termine “elaborazione batch”, cioè a lotti. In questo tipo di elaborazione i job presenti nella memoria di massa aspettano l’esecuzione di una coda di job: una coda è una struttura dati in cui gli oggetti sono ordinati secondo il metodo FIFO (first-in first-out). Ad ogni job viene attribuito uno specifico insieme di istruzioni che descrivevano le fasi necessarie alla preparazione del computer. Quando un job veniva selezionato per l'esecuzione, il sistema operativo riproduceva le istruzioni JCL (Job Control Language) su una stampante in modo che l'operatore potesse leggere e seguirle. Lo svantaggio principale di questo tipo di elaborazione era la presenza dell'operatore. Questo approccio è accettabile solo per alcune applicazioni ad esempio, la gestione di paghe e contributi, oppure per tutte quelle applicazioni dove le decisioni sono stabilite in anticipo. Non è efficiente nelle applicazioni in cui è prevista una forte interazione con la macchina. 2. Elaborazione interattiva Furono sviluppati sistemi operativi in grado di garantire l'esecuzione dei programmi che prevedevano un dialogo con l’utente tramite stazioni di lavoro o terminali remoti. I terminali di allora erano poco più che una sorta di macchina da scrivere elettronica. Gli utenti interagivano digitando dati che leggevano la risposta del computer, e successivamente veniva stampata su carta. Le azioni del computer devono essere sufficientemente veloci per coordinarsi con l'utente (non è l’utente che deve adeguarsi ai tempi del computer). Quando un computer è obbligato a eseguire la sua attività in base ad una scadenza, si ha il fenomeno della elaborazione in tempo reale. I computer tuttavia molto costosi, dovevano essere condivisi tra più utenti e non a caso la condivisione poneva problemi all’elaborazione in tempo reale. La soluzione, a questo problema, fu di progettare sistemi operativi che fornissero i servizi contemporaneamente a più utenti mediante un processo chiamato time-sharing.

3. Time-sharing/Multitasking e Multiprogrammazione Time-sharing letteralmente significa condivisione del tempo. Uno dei modi per implementare il time-sharing consiste nell’implementare la tecnica della multiprogrammazione che consiste nel suddividere il tempo in intervalli (quanti di tempo), per limitare ad un solo quanto una volta l'esecuzione di ciascun job. A quanto di tempo il job corrente viene temporaneamente messo da parte e si passa ad eseguire una quanto successivo. Alternando rapidamente i job in questo modo si crea l'illusione che siano eseguiti simultaneamente. La denominazione time-sharing si riferisce all'utilizzo di un solo computer da parte di più utenti. Con il termine multitasking invece si intende che un singolo utente esegue simultaneamente più compiti (task); con lo sviluppo di sistemi operativi multiutente e time-sharing, una tipica installazione di computer era quella che prevedeva un grande computer centrale connesso a numerose stazioni di lavoro.

  1. Macchine multiprocessore Tipi di software
  2. Software applicativo : Esegue attività specifiche per gli utenti ed esegue compiti particolari.
  3. Software di sistema : Fornisce l'infrastruttura per il software applicativo; svolge compiti che sono comuni ai sistemi di elaborazione in generale. Il software di sistema può essere suddiviso in due categorie: o Il sistema operativo: serve per potere seguire le azioni richieste dall'utente (il sistema operativo deve comunicare con l'utente). La parte di sistema operativo che definisce l’interfaccia con l'utente è chiamata interfaccia utente. Le interfacce utente più datate comunicavano con l’utente tramite messaggi di testo, la tastiera o il monitor. I sistemi più moderni svolgono questo compito con l’utilizzo di quelle che si chiamano GUI e gli oggetti da manipolare (file, programmi) sono rappresentati graficamente tramite icone. Le GUI stanno cambiando notevolmente con il miglioramento della tecnologia; sono comunque sempre strutture che fungono da interfaccia. Un componente fondamentale all'interno delle GUI è il window manager, che assegna parte dello schermo dette finestre e quando un'applicazione vuole visualizzare qualcosa sullo schermo, essa avvisa il window manager, che indirizza l'uscita nella finestra assegnata all'applicazione. o I software di utilità: composto da programmi che eseguono attività fondamentali per i computer ma non sono compresi nel software operativo (per esempio software per la masterizzazione dei CD). Il progetto di un sistema operativo può risultare meno complesso se alcune funzioni vengono considerate come software di utilità. La distinzione tra software applicativo e software di utilità è sfumata: per esempio quando era ancora in fase di ricerca, il software per comunicare via internet, era considerato un software applicativo, ora, invece, è considerato un software di utilità. Componenti del sistema operativo
  4. Shell : comunica con gli utenti o Text based o Graphical user interface (GUI)
  5. Kernel : contiene i componenti software che servono le funzioni di base del computer o File manager - gestore dei file, ha il compito: di coordinare l'uso delle funzionalità relative alla memoria di massa; gestire l'archiviazione e il reperimento dei file archiviati nella memoria di massa (cartelle, directory, sotto directory); occuparsi delle informazioni inerenti alla locazione di ciascun file. o Device drivers o Memory manager o Scheduler and dispatche Il kernel è composto anche da:
  1. Regione critica: gruppo di istruzioni che devono essere eseguite da un solo processo alla volta.
  2. Esclusione reciproca: requisito per la corretta attuazione di una regione critica. Deadlock - I processi si bloccano a vicenda dal continuare. Le condizioni necessarie per una situazione di stallo sono:
  3. Concorrenza per risorse non condivise
  4. Risorse richieste parziali
  5. Una risorsa assegnata non può essere forzatamente recuperata