SISTEMI OPERATIVI |
Il Sistema Operativo è un insieme di programmi che
servono per gestire le risorse del computer, in maniera
trasparente all' utente.
Questo significa che il S.O. si occupa di coordinare il
funzionamento di tutti i dispositivi hardware, e di offrire
all' utente una interfaccia da cui inserire i comandi.
Per la gestione dell' Hardware, il S.O. si serve di
programmi detti driver, che non sempre vengono distribuiti
insieme ad esso, ma possono essere acquistati insieme alla
periferica stessa. (es. driver di stampante, driver di
scanner, driver di tastiera, driver del
mouse).
Tutti i Sistemi operativi offrono ora due tipi di interfacce:
I primi computer erano i cosiddetti MAINFRAME, cioè grossi computer. Erano costosissimi ed erano pezzi unici. Non si producevano in serie e per utilizzare appieno un computer così costoso ad esso venivano collegati diversi terminali per ammortizzare i costi e per fare in modo che più utenti potessero lavorare contemporaneamente. Questa configurazione dava una topologia a stella.
N.B.: La differenza sostanziale tra questa topologia multiutente a stella e una rete a stella è che: in una configurazione multiutente ogni utente ha un terminale e lavora sfruttando le risorse (memoria e CPU ) del computer principale, mentre in una rete a stella ogni utente ha il suo computer con risorse indipendenti, collegato con il computer a centrale.
In questo periodo le periferiche erano di tipo piuttosto
rudimentale: gli utenti avevano una perforatrice di schede
(le schede erano cartoncini con buchi e la posizione dei
buchi veniva codificata). C'era poi il lettore di schede;
quindi in realtà il posto di lavoro collegato ad un
computer centrale era caratterizzato da un lettore di
schede. Quindi il lettore di schede era quello che noi oggi
chiamiamo terminale.
Per l'Output, c'erano due possibilità:
Negli anni '60, quindi, il sistema operativo era molto
semplice perché le periferiche da gestire erano
poche. Gli utenti interagivano in maniera
differita, cioè preparavano le schede a parte e le
inserivano insieme e la stampa avveniva tutta
insieme.
Quindi il sistema operativo doveva gestire le stampanti, i
lettori di schede ed i perforatori di schede.
Per rendere più agevole il lavoro ogni utente si
preparava le schede, che venivano portate ad un operatore
che metteva i pacchi di schede nell'elaboratore uno dopo
l'altro ed in maniera differita uscivano le risposte.
Prima di preparare questo lavoro, però, bisognava
specificare il linguaggio e bisognava disporre sulle schede
tutti i comandi e le istruzioni necessarie per avviare,
salvare, eseguire il programma.
Questa è la prima funzione del Sistema operativo,
cioè fare da interfaccia tra le macchine e le
persone; cioè la persona forniva le istruzioni ed il
computer doveva avere dei comandi per comprendere le
istruzioni ed eseguirle.
Questa parte del S.O. che eseguiva questa funzione (cioè
l'interpretazione dei comandi dell' utente) veniva chiamata
Batch Monitor, e la modalità operativa viene
chiamata elaborazione a lotti o elaborazione batch.
Il modo di lavorare è molto diverso dalla
modalità interattiva, a cui siamo
abituati oggi, perché qui prima si prepara e poi si
fanno eseguire i lavori uno alla volta ma continuamente.
I moderni S.O: offrono anche oggi la possibilità
di avere un linguaggio per la programmazione differita
di comandi: in genere si chiamano linguaggi di
Scripting, e con essi l'utente può sottoporre al sistema il
suo Job (lavoro), che può essere un singolo
programma oppure può comprendere una serie di
programmi da eseguire.
Questo modo di lavoro (in maniera differita) era poco economico perché la potenza del computer era tale da riuscire ad eseguire più Job alla volta. Quindi c'era uno spreco di costi. Si passa quindi all'esecuzione di più job alla volta per ridurre i costi.
In questi anni compare il Minicomputer (modello più famoso PDP11 della Digital Corporation) Era dotato di unità disco (prima c'erano solo le unità a nastro o le schede perforate).
In questi anni gli elaboratori cominciano ad essere commercializzati: le loro dimensioni sono tali da consentirne il trasporto e non si tratta più di pezzi unici, prototipi, ma vengono prodotti in serie. Le prime grandi aziende e particolarmente le banche cominciano ad impiegarli nel controllo dei processi produttivi o nell' automazione della gestione dei dati.
L'impiego nei processi produttivi richiede un rapido ammortizzamento dei costi, per cui viene posta una particolare attenzione all'efficienza del sistema: i minicomputer permettevano la multiutenza, nel senso che ad uno di questi computer si potevano collegare più utenti e quindi potevano essere eseguiti più job alla volta (cioè contemporaneamente).
Questo
può avvenire in questo modo:
secondo il modello di Von Neumann
ogni computer è formato da quattro parti
CU = Control Unit:
unità centrale che esegue istruzioni
ALU = Arithmetcal Logical
Unit: esegue i calcoli
MEMORIA = contiene le istruzioni e i dati
CANALE = presiede le comunicazioni esterne con l'interno (processore di
I/O)
La CU e il canale possono lavorare su operazioni diverse contemporaneamente e quando
un programma arriva a compiere delle istruzioni di I/O è il canale
che si occupa di questo e quindi la CU è libera. Il SO deve riuscire
ad impegnare al meglio tutte le risorse, cioè deve fare in modo che
mentre il canale è occupato e la CU è libera, deve cercare di
impiegarla. Si ha così un avanzamento dei lavori in parallelo.
Questo modo di lavoro complica il SO che ha a questo punto
il compito di gestire le risorse, distribuirle ai vari Job,
ottimizzare l'uso delle risorse (cioè fare in modo
che le risorse non siano inattive), velocizzare i tempi di
risposta per l'utente.
Quindi con questa tecnica si possono svolgere ed eseguire
più job alla volta. Si strutturano al meglio le
risorse ed i risultati arrivano prima. Questa tecnica
permette la MULTIPROGRAMMAZIONE e la MULTIUTENZA;
cioè nello stesso computer e nello stesso momento sono
presenti più programmi in esecuzione e sono presenti
diversi utenti.
Questa tecnica viene applicata anche oggi: il canale non è unico in realtà ma ogni periferica ha il suo processore di I/O, che può accedere direttamente alla memoria (DMA= Direct Memory Access) completando così le operazioni di I/O senza l'intervento del processore centrale.
Con la comparsa del terminale, che serve per collegare
l'utente al computer, il SO si evolve verso un nuovo modo di
lavoro: prima c'erano le schede perforate e la stampante; ma
si pensa a questo punto di collegare direttamente l'utente
al computer e compaiono le prime tastiere.
C'era però la necessità anche di
vedere le risposte del computer e vedere se quello che un
utente scriveva era corretto e nascono così le prime
tastiere a stampante (collegamento locale o
remoto). Ben presto si pensa di sostituire la stampante
con il video, che all'inizio era semplicemente un display
di una sola riga; in seguito compare il video (anni '80).
A questo punto cambia il modo di rapportarsi con il
computer; bisognava fare in modo che la persona non
rimanesse inattiva in attesa della risposta, ma potesse
lavorare in maniera interattiva, cioè ricevendo subito le
risposte dal computer.
Quindi c' era la necessità di distribuire i tempi dei
computer in modo che fosse assicurata l'operatività
di tutti gli utenti. Questa distribuzione di tempi (Time
Sharing) è applicata principalmente alla CPU
(Processore) che è quella parte che esegue le
istruzioni.
Quindi se noi abbiamo un unico computer con
un unico processore dedichiamo una unità di tempo a
ciascun utente a turno. Unità di tempo = TIME SLICE
(4 millisecondi).
Perciò così non c'è un utente che
aspetta che l'altro abbia finito e contemporaneamente
vengono sfruttati i tempi morti perché si utilizza la
stessa tecnica di prima.
Nel 1971 nasce il SO UNIX (diffuso al giorno d'oggi per lo
più nei computer di fascia alta come Workstation o
Server).
Per la prima volta venne implementato su PDP11 Digital; in
questo modello la memoria RAM era di 64Kb ed aveva un Hd con
capacità 20Mb. Era un modello avanzato perché
l' HD era removibile, permettendo così di ampliare la
memoria a disposizione usando diversi supporti.
Sul
PDP11, due ricercatori che lavoravano per la AT&T chiamati
Thompson e Ritchie erano stati impegnati in un progetto per
riscrivere un nuovo sistema operativo. Quando però il
SO è giunto ad un certo punto, per una questione di
monopolio la AT&T è stata costretta ad
abbandonare i progetti di ricerca. Questi due, quindi,
andavano avanti in maniera autonoma e si produsse un doppio
risultato: un nuovo linguaggio (il C) che venne utilizzato
per scrivere il nuovo sistema operativo, che sarebbe stato
Unix.
Gli autori resero pubblico il SO distribuendolo nelle università dove incontrò un notevole successo a causa delle sue caratteristiche interessanti:
Questo SO venne distribuito in formato sorgente
cioè il programma era in formato testo da modificare ed adattare al
computer e quindi per tutti gli anni '70, Unix è stato sviluppato da
ricercatori e studenti e poi da società commerciali che
lo hanno introdotto nelle aziende. Queste società prendevano i
sorgenti Unix, poi lo modificavano per adattarlo ai propri sistemi Hardware
e lo ridistribuivano sotto il proprio marchio, modificando anche il
nome.
Tutti questi SO che nascono sono derivati di Unix e sono
chiamati Dialetti Unix. In genere sono riconoscibili
perchè mantengono la X all'interno del
nome.
Alla fine degli anni 70 negli USA
ci fu una restrizione: la legge sul Copyright venne estesa per tutelare la
produzione di software e quindi non era più possibile
la libera circolazione dei programmi; questa legge serviva per
proteggere chi produceva il software e lo voleva vendere.
Quindi il nome dei SO che nascono e che derivano da Unix
diventano marchi registrati, distribuiti solo in formato binario.
Alcuni
dei marchi più noti ad encora oggi distribuiti sono: XENIX della
SCO = Santa Cruz Operation, AIX della IBM, IRIX della Silicon Graphics,
Solaris della SUN).
C'erano però alcune
versioni di Unix ancora libere, soprattutto nelle università, ad
esempio nell'università di Berkley che continuava ad
utilizzare la propria versione di Unix.
Intanto stava avanzando la ricerca ed il progetto Internet.
Quindi i principali server di Internet di allora erano Unix.
Infatti gli strumenti che vengono utilizzati in internet
oggi, erano contenuti e furono sviluppati allora in
Unix, nelle principali università
americane che parteciparono al progetto.
Sono gli anni dei PC (= Personal Computer). Nasce quindi
l'idea di produrre computer a prestazioni ridotte e
monoutente. Quindi per questo si ha bisogno di meno memoria,
meno risorse e quindi tutto questo è meno
costoso.
Anche l' ingombro è ridotto. L'
elettronica produce circuiti integrati miniaturizzati (LSI
= Large Scale Integration).
All' inizio fu un fenomeno a livello hobbistico: si
incominciarono a costruire prototipi con materiale di
recupero per un uso personale. Poi si affermarono sul
mercato nuove aziende, con lo slogan "Un computer su ogni
scrivania". La prima fu la Apple fondata da Steve Jobs, poi la
Commodore; anche aziende del calibro di IBM e (in Italia) Olivetti,
immisero sul mercato i loro modelli di PC.
Su questi computer comparvero i primi microprocessori (la
CPU si basava su un solo Chip). I modelli
più famosi sono: il 6210 della Motorola, l' 8086
della Intel (il 'padre' di tutta la famiglia x86,
che continua ancora col PentiumIII e IV), e il mitico Z80.
La produzione era su larga scala e in questo modo si ammortizzavano i costi.
La Commodore produsse modelli 'storici' e per quei
tempi molto avanzati: il Pet4032 (monitor a 40
colonne e 32 Kb di memoria) 8032 (monitor a 80
colonne) e 8096 (96 Kb di RAM) avevano due drive con
dischetti da 5 ¼ fomattabili su doppia faccia in modo
da ottenere 1Mb di spazio su ogni dischetto. Su questi
computer non c'era un vero e proprio sistema operativo ma un
linguaggio Basic integrato registrato su ROM che faceva da
sistema operativo e che serviva anche per gestire tutti i
programmi. In questo modo non era necessario un disco per
l'avvio, e i dischetti servivano solo per memorizzare dati e
programmi BASIC.
Successivamente, sull' ondata del successo dei cosiddetti
'home computer' modelli in cui la spesa era ridotta
all'osso, fu messo in produzione il Commodore64, dotato
di accessori (come unità a dischi, monitor e
stampanti) acquistabili separatamente, ma che forniva
con una spesa molto ridotta, una tastiera con il processore
6210 e ben 64Kb RAM. Questo modello rimase sul mercato
per circa dieci anni, vero fenomeno in un mondo in cui
la vita media dei prodotti era di 2-3 anni.
La principale rivale della Commodore era la Apple, che successivamente dovette cambiare il proprio marchio in MacIntosh, a causa di questioni legali. Questa azienda si contraddistinse sempre per il taglio innovativo dei suoi prodotti, ed è infatti l'unica al giorno d'oggi che continua a mantenere una linea di produzione non allineata con gli standard di mercato.
Successivamente sul mercato entrò l'IBM che
all'inizio utilizzava il SO Unix, e commercializzava solo sistemi di fascia alta; in questo periodo lanciò siul mercato un PC con un SO chiamato
CP/M e non con un linguaggio di programmazione BASIC integrato come
il Commodore.
La caratteristica di questo modello
è che il SO viene caricato dal dischetto e serve a
far funzionare il computer, ma non include il linguaggio di programmazione.
Per quanto riguarda l'Olivetti, ditta che si occupa di
macchine d'ufficio, negli anni '70 capisce che i computer
diventeranno molto importanti ed ha una svolta, iniziando la
produzione di elaboratori.
Il primo modello di PC dell'Olivetti si
chiamava P6060. Non è un PC come oggi, era molto
grande e formato da una tastiera e sopra la tastiera non vi
era il monitor ma un display di una sola riga. Aveva due
dischetti da 8 pollici in linea. Come linguaggio di
programmazione aveva il Basic, che è stato il
cavallo di battaglia di tutti i programmatori per PC degli
anni '80 (ma anche adesso).
Vengono poi prodotti i primi monitor e si passa al secondo
pc, l' M20 che aveva come SO PCOS (Personal Computer
Operating System). Il SO era abbastanza simile al DOS anche se i comandi
erano diversi. Dopo un paio di anni l'Olivetti produceva l' M24 che aveva
come SO il DOS.
A quei tempi non c'era un
SO universale che poteva essere utilizzato su ogni computer
e ogni computer aveva il suo SO proprietario e il suo modo
di formattare i dischi. Per cui ogni disco poteva essere
usato solo su un determinato computer ed era incompatibile
con gli altri modelli.
I primi PC non avevano l'Hard
Disk: montavano il floppy drive o alcuni addirittura
unità a nastro compatibile con i nastri delle
musicassette.
Quindi c'erano tanti modelli e non si era
affermato uno standard, quando Bill Gates, decise di creare
una ditta che producesse solo software per PC. Fondò
così la Microsoft il cui compito era quello di
produrre il SO che poteva essere utilizzato su ogni
computer. Fino alla metà degli anni '80 ogni ditta
aveva i suoi modelli con SO diversi. Questi ditte cominciano
ad affiancare i loro modelli e i loro SO con il SO della
Microsoft. Con l'andare del tempo i precedenti SO sono
scomparsi tranne quello della Apple, che continua a
montare un SO proprietario per i suoi PC.
Così dalla metà degli anni
ottanta, abbiamo MS-DOS (= MicroSoft Disk Operating System)
e Microsoft su quasi tutti i computer, e quando diciamo PC
il computer può essere di qualsiasi ditta, ma sono
tutti più o meno uguali: soprattutto, cosa per quei
tempi molto importante perchè il PC di solito non era ancora
collegabile a Internet e raramente ad una rete locale, il
formato dei dischetti era compatibile, ed i programmi che
giravano su un PC potevano in genere funzionare anche su un
altro modello. In questo modo era possibile scambiare
software e dati tra un PC ed un altro.
Successivamente
(negli anni 90) la Microsoft strinse un accordo con la Intel
per cui tutti i PC montano oggi processori Intel (o con essi
compatibili).
Nel 1985-86 la Apple produce la prima interfaccia grafica
per i suoi pc (GUI).
Invece dei comandi, per lanciare i
programmi od agire sui file e cartelle, si usava uno schermo
con le icone; il cestino sostituiva il comando di cancellazione. Un nuovo
tipo di periferica, il mouse, ispirato alle periferiche di gioco
(joystick) consentiva all'utente di puntare e selezionare gli oggetti sullo
schermo, e interagire con essi tramite pulsanti.
Dopo la diffidenza iniziale dei programmatori, che finora
erano ancora gli utenti principali di PC, questo aprì una
nuova fascia di mercato per quelle persone che non erano programmatori, e
Steve Jobs potè finalmente dire di avere raggiunto il suo scopo (un
computer su ogni scrivania).
La Microsoft, visto che le cose andavano bene
si mise al lavoro e produsse Windows 2.1 con un interfaccia grafica. Fino a
Windows 3.11 il SO era sempre Dos.La 3.11 all'inizio degli anni '90La 2.11
alla fine degli anni '80.Nel frattempo gli altri pc perdono quote di
mercato tranne quelli che adottano MsDos. Quindi rimangono alla fine degli
anni '80 due SO che sono quelli di Apple che cambia in McIntosh e quello di
Microsoft.
Unix continua ad esistere sui computer considerati di fascia
alta. Negli anni '80 si disperde nei cosiddetti dialetti Unix. Da SO libero
a cui tutti gli studiosi potevano accedere, le varie ditte di distribuzione
se ne appropriano e lo distribuiscono sotto Copyright. Alla fine non c'era
più un SO Unix che era libero e tutti i nuovi computer avevano il SO
Unix, però ognuno con il suo adattamento. Nelle università si
lavora al progetto Internet, e vengono sviluppati i protocolli che le ditte
produttrici di Hardware incorporarono nelle loro nuove versioni di Unix.
Cioè tra le funzionalità del SO venivano inclusi questi due protocolli:
TCP/IP, ed il sistema della posta elettronica. Quindi gli elementi alla base di Internet vennero
sviluppati nel SO Unix.
I ricercatori ed i programmatori delle
università erano ostacolati dal fatto che Unix fosse protetto da
CopyRight; inizialmente infatti Unix era in formato sorgente, e si poteva
quindi modificare, mentre in seguito veniva distribuito a pagamento, e
solamente in formato binario, ostacolando così la ricerca.
Negli anni '80 un grande movimento di pensiero vide la nascita della cultura 'hacker': l'hacker è come il bambino che vuole smontare il suo giocattolo per capirne il funzionamento, e la sua attività non è mai spinta da scopi di lucro, ma solo dalla ricerca della conoscenza, e sostiene che il sapere informatico deve essere diffuso senza confini od ostacoli.
Nel 1989, un ricercatore universitario, Richard Stallman fondò la FSF (Free Software Foundation), con lo scopo di riscrivere Unix e fare in modo che questo non venisse coperto da CopyRight. Stallmann introdusse il contratto Copyleft, inteso a tutelare le quattro libertà dell'utente:
Si diffondono le interfacce grafiche. La prima metà degli
anni 90 è caratterizzata dal diffondersi di tali interfacce su
tutti i sistemi, dal MacIntosh, ai PC. Anche i sistemi Unix incominciano
ad essere configurati con le interfacce grafiche. I primi anni
'90 sono caratterizzati da una gara tra interfacce quali CDE,
Motif, per la conquista del mercato Unix.
Microsoft compie una
svolta decisa in questo senso con Windows'95 e abbandona il S. O.
MSDOS.
Gradualmente i computer si trasformano in stazioni multimediali. Il
mercato dei giochi si rivela ricco di possibilità e molti
computer si trasformano in stazioni di gioco. Lo slogan non è
più un computer sui ogni scrivania, ma un computer in ogni
casa.
La seconda metà degli anni novanta è
caratterizzata dal discorso delle reti e di internet. Il primo sistema
operativo con incorporate le funzioni di rete è stato windows 3.11.
Le prime reti windows erano peer to peer, cioè su tutti i computer
potevano accedere alle cartelle e tutti potevano creare cartelle condivise.
Con il termine WorkGroup s'intende questa struttura peer to peer,
cioè se non abbiamo un server la nostra rete è una rete
paritetica. Come SO, la Microsoft incomincia a produrre SO di fascia alta
con funzioni più specializzate, chiamata NTSERVER. Allarga la sua
fascia di mercato a computer più potenti. Quindi la rete non
è più peer to peer perché c'è un computer che
fa da Server che ha una funzione diversa e contiene tutte le cartelle
condivise e tutti gli altri computer possono accedere alle cartelle.
Appunti a cura di: Valentina Zavatta
Stesura di: Marcello
Bondoni
Revisione e correzione: prof. Silena Campana
![]() |
![]() |
![]() |