In questa presentazione parleremo del
sistema operativo, della sua evoluzione e
delle sue tipologie. Per queste ultime ci
limitiamo solo ad elencarle ad eccezione
dell’elaborazione a lotti (batch) in quanto è
stato scelto per approfondimento.
Definizione di sistema operativo
•
•
•
•
Un S.O. può essere definito, in modo
generale, come un insieme di procedure
manuali e automatiche che consentono
all’utente di un sistema di elaborazione di
usarlo efficientemente.
Ciò vuol dire che un S.O. deve:
Permettere all’utilizzatore (utente, operatore o
programmatore) di usare in modo semplice e
immediato tutte le risorse che il sistema di
elaborazione mette a disposizione
Ottimizzare l’uso delle risorse a disposizione,
attuando opportune politiche di gestione
razionale delle stesse;
Fornire un’immagine astratta di tutte le
risorse disponibili, indipendentemente da come
queste funzionino (risorse hardware) e dai
dettagli implementativi necessari al loro uso
Classificazione dei S.O.
•
L’evoluzione delle architetture dei calcolatori segna anche l’evoluzione dei
sistemi operativi.
•
In ordine cronologico
1. Dedicati
2. A lotti (batch)
3. Multiprogrammazione
4. Interattivi (Time-Sharing)
5. Pc e Wolkstation (sistemi da scrivania)
6. Sistemi paralleli e distribuiti
7. Real–Time
8. Sistemi palmari
Prima Generazione (1945-1955)
• I calcolatori erano basati su valvole
• Praticamente non vi era S.O.
• I Sistemi dedicati che ne facevano parte erano quasi
esclusivamente per il calcolo numerico/scientifico
Il primo calcolatore basato
su valvole
Seconda Generazione (1955-1965)
•
•
•
•
•
S.O. Batch (gestione a lotti)
È determinata dall’introduzione di importanti innovazioni tecnologiche: Transistor
I calcolatori potevano essere prodotti e venduti ai clienti
Nascono figure professionali distinte nel processo di produzione di un programma
(job)
Costi di milioni di dollari (solo Università e grandi industrie)
Inventori del Transistor
Job (programma o insieme di
programmi)
• Un programmatore scrive il programma su carta (Fortran,
Assembler), e perfora le schede;
• le riceve un operatore che le inserisce in una coda dei programmi,
le immette nel calcolatore e, se necessario, carica l’opportuno
compilatore;
• L’operatore consegna poi al programmatore l’output finale
Job (programma o insieme di
programmi)
• Problema: enorme spreco di tempo (set – up time)
• Caricamento nastro compilatore, esecuzione compilatore,
scaricamento compilatore, caricamento assembler, esecuzione
assembler, scaricamento assembler, caricamento oggetto,
esecuzione programma …
• Soluzione: Sistemi a lotti (batch)
Sistemi batch
•
Nati per sfruttare meglio la velocità crescente delle macchine: eliminando i
tempi morti tra programmi successivi di utenti diversi automatizzando le
operazioni manuali
•
Un insieme di lavori (jobs) viene accorpato in un lotto (batch) tramite un
calcolatore ausiliario e trasferito su una unità di ingresso veloce (nastro)
•
Ogni lavoro viene caricato da un operatore ed eseguito in sequenza senza
interruzione fino al termine
•
L’output viene scritto su un secondo nastro invece di essere stampato
(stampa off line)
•
La CPU viene ancora sottoutilizzata perché, durante le operazioni di I/O
deve adeguarsi alla bassa velocità delle periferiche
Sistemi batch
Sistemi batch
• Si noti che servono due sistemi distinti.
•
IBM 1401 per la gestione dei lotti
•
IBM 7094 per l’esecuzione dei programmi
Terza generazione (1965-1980)
• Nascono i circuiti integrati
• I sistemi operativi che ne fanno parte sono la multiprogrammazione
(multitasking) e il S.O. Time Sharing
Alcuni circuiti integrati. Nel 1958, l'ingegnere
americano J.C. Kilby della Texas riuscì a
combinare diversi componenti elettronici
(transistor, diodi, resistenze, ecc.) su una
piastrina di silicio di dimensioni più piccole di un
francobollo.
Ingrandimento della superficie di un circuito
integrato
Quarta generazione: Pc e workstation
(sistemi da scrivania)
•
•
Sono basati sulla tecnologia VLSI (Very Large Scale Integration)
Due sistemi operativi hanno dominato la scena dei Personal Computer e delle
Workstation:
MS-DOS (Microsoft) con il derivato Windows
UNIX (Bell Labs)
Sistemi paralleli e distribuiti
• La crescita di reti di PC e di WS ha permesso lo
sviluppo di
• Sistemi con più CPU: i processori non condividono o
condividono clock e/o memoria (loosely o tight coupled)
- Con multielaborazione simmetrica o asimmetrica
• Sistemi distribuiti e di rete
- Modalità Client server
- Sistema operativo di rete
- Batterie di sistemi
Sistemi operativi Real Time
• Sistemi operativi al servizio di una specifica applicazione che ha
dei vincoli precisi nei tempi di risposta
• Il S.O. deve garantire un tempo massimo entro il quale mandare in
esecuzione un programma a seguito di un evento
• Gestione di strumentazione
• Controllo di processo
• Gestione di allarme
• Sistemi transazionali (banche, prenotazioni)
•
In generale si ha un sistema real-time quando il tempo di risposta
dalla richiesta di esecuzione di un processo al completamento della
stessa è sempre minore del tempo prefissato
Sistemi Operativi Palmari
•
Sistemi operativi a bordo dei palmari o PDA (personal digital assistant)
• Memoria RAM da pochi megabyte
• Schermi ridotti
• Frequenza di CPU bassa
• Comunicazione con reti (con o senza fili)
•
Es. Palm OS processori a 32 bit, 480X320 pixel, supporto multitasking
limitato, bluetooth
Servizi Offerti dal S.O.
•
•
•
•
Il S.O. serve per agevolare la programmazione semplificando lo
svolgimento di attività quali:
Operazioni di I/O
Esecuzione programmi
Manipolazione archivi
Rilevazione degli errori
Esso serve inoltre per migliorare l’efficienza d’uso del calcolatore
intervenendo nella:
• Allocazione di risorse
• Contabilità
• Protezione
Strumenti a disposizione del S.O.
Un sistema operativo utilizza vari strumenti i principali dei quali sono:
• Programmi di sistema
• Chiamate al Sistema Operativi o Supervision Call (SVC) o System
Call
• Interruzioni
• Istruzioni privilegiate (si tratta di istruzioni utilizzabili solo da
particolari utenti e destinate al S.O.)
Componenti essenziali di un
sistema operativo
Le componenti essenziali di un sistema operativo sono costituite da:
• Gestore delle interruzioni
• Programma di gestione dei dispositivi (driver)
• Interprete dei comandi
• Routine per le chiamate al sistema
• Gestore della memoria primaria
• Gestore dei processi
• Gestore dell’I/O
• Gestore dei file (file system)
Questa presentazione è stata rappresentata da due alunni
frequentanti la classe IV A dell’istituto Industriale statale
“E.Mattei” (I.I.S. E. Mattei) Eboli (SA).
Gli alunni:
Olivieri Luciano
&
Scotese Francesco