Storia ed evoluzione dei sistemi operativi

ANNI 40, assenza di SO,"programmatore-operatore"

Inizialmente tra il 1945 e il 1955, quando gli elaboratori elettronici erano costituiti da "VALVOLE" termoioniche, occupavano intere stanze,erano lentissimi e costosissimi - li potevano avere solo grossi centri di ricerca o Università, e inaffidabili (a causa delle valvole che si rompevano molto frequentemente), non esiste il concetto di Sistema Operativo.IL Programmatore inseriva il programma, scritto in linguaggio macchina, attraverso primitivi lettori di schede perforate e i risultati venivano inviati alla stampante.Un primo abbozzo di SO si è avuto con la messa a disposizione di tutti i programmatori dei sottoprogrammi di I/O e con l'avverto del linguaggio simbolico "ASSEMBLER".

Anni 50, i primi Sistemi Operativi,Sistemi Batch [ 1 generazione]

Tra il 1955 e il 1965,grazie alla rivoluzionalità invenzione del "TRANSISTOR" gli elaboratori - chiamati MainFrame - divennero affidabili e furono costruiti in serie, pur restando macchine grosse e costosissime. Gli acquirenti possibili erano Centri di Calcolo, e le Università e le banche. L'alto costo rendeva inaccettabile l'uso dell'elaboratore da parte d una sola persona alla volta (con conseguente inattività del computer mentre il programmatore pensava al da farsi) e l'avvento del linguaggio ad alto livello "FORTRAN, nel 1955, apre le porte ad un numero crescente di programmatori. IL primo SO fu prodotto dalla General Motors per il proprio IBM 701. Non essendo stata ancora introdotta la tecnologia di accesso diretto alla memoria (DMA) tutte le operazioni di input/output erano a carico della CPU, con conseguente rallentamento dell'esecuzione vera e propria. Per questo che si adottò la soluzione Batch (a lotti): L'IO viene gestito da un calcolatore economico come L'IBM 1401 e l'elaborazione affidata a un calcolatore centrale come L'IBM 7094. IL Sistema Operativo di questi calcolatori (Batch Monitor) svolgeva pochi servizi quali la gestione dell'input/output e l'interpretazione ed esecuzione dei comandi contenuti nelle schede di controllo. Tali comandi costituiscono il JCL (Job Control Language). IL programmatore prepara il proprio lavoro - Job -su schede perforate e lo consegna al Centro di Calcolo; i job vengono raggruppati in lotti ed inseriti nel sistema di elaborazione;il calcolatore centrale elabora un job alla volta e produce i risultati su tabulati di stampa; il programmatore , dopo un certo tempo , passa a ritirare il tabulato; se c'è stato un errore deve correggere il job e ricominciare la trafila. Si perde l'interattività con il computer, ma questi viene utilizzato senza interruzione.Le schede che compongono il job sono due tipi : schede dati (istruzioni e dati del programma da eseguire) e schede controllo ( contenenti comandi JCL, quelle che iniziano con //). Questi sistemi - quali L'FMS ( Fortran Monitor System ) e L'IBSYS - erano programmati in Fortran e in Assembler

CODICE

// JOB Pippo, USER=Claudio,CPU=50,MEM=30

//COMP FORTRAN MioProg

...

... (programma Fortran)

...

// LINK MioProg,Sub1,Sub2,Fortlib

// EXECUTE MioProg

...

... (dati per il programma)

...

// END

Anni 60, la multiprogrammazione [ 2 generazione]

Nei primi anni 60 si hanno notevoli progressi nei transistor, si ha l'integrazione di media scala, si dispone di terminali telescriventi, viene introdotto il concetto di dispositivo virtuale che permette di riferirsi alle periferiche con nomi logici senza doverne conoscer dettagliatamente il funzionamento (sarà il SO l'intermediario tra utente e periferica), la IBM introduce i Canali di I/O (o Data Channel o Processori di I/O) che gestiscono le periferiche di I/O in parallelismo effettivo con la CPU che può cosi essere dedicata esclusivamente all'esecuzione del programma, demandando L'I/O ai canali. Questo è oggi il DMA (Direct Memory Access), sistema che permette di trasferire interi blocchi di dati da memoria secondaria a memoria centrale in modo completamente indipendente dal processore, che può nel frattempo eseguire altre operazioni.Si hanno i primi SO in multiprogrammazione time-sharing e sistemi real-time per il controllo di processo. Nel 1962 al MIT si realizza il CTSS, il primo sistema timesharing, su un IBM 7094; il MIT, la General Electric e i Bell Labs realizzano congiuntamente il MULTICS, un sistema operativo in grado di supportare centinaia di utenti in timesharing. Questo rivoluzionario sistema introdusse molte idee che influenzarono notevolmente i successivi Sistemi Operativi.

Anni 65, i sistemi general purpose, LIBM S/360 [ 3 generazione]

Nell'aprile 1964 la IBM presenta la famiglia di computer System 360 (una serie di computer di potenza diversa,ma con la stessa architettura)che utilizza il sistema operativo OS/360. Tale sistema operativo era onnicomprensivo, gestiva il batch, il time-sharing e il real-time, supportava sia il calcolo scientifico (in Fortran) che quelo commerciale (in COBOL, linguaggio gestionale realizzato nel 1965). Se da un lato esistono questi supercomputer, negli stessi anni vi fu lo sviluppo dei mini elaboratori, dei quali un importante esponente fu il Digital PDP-1, del 1961, che costava solo 120.000 dollari, il 5% del prezzo di un IBM 7094. Per questi sistemi vennero progettati appositi Sistemi Operativi , il più famoso dei quali fu senza dubbio UNIX.

Anni 75-oggi, sistemi user-friendly,data base,reti [4 generazione]

Si hanno sistemi operativi molto eterogenei e difficilmente raggruppabili. Si va dall' OS/370, il sistema operativo dell'IBM S/370 che introduce il concetto di macchina virtuale,al VM/CMS del 1972, all'avvento dei sistemi operativi distribuiti su una rete di processori, alla diffusione dei Mini Elaboratori e dei Personal Computer. I sistemi operativi tendono a fornire funzioni prima caratteristiche dei programmi applicativi (data base, protocolli di comunicazione, ...), compaiono elaboratori multiprocessor con relativi sistemi operativi multiprocessing.

Unix e Linux

UNIX fu progettato a partire dal 1969 da un gruppo di ricercatori della AT&T presso i Bell Labs, tra i quali erano presenti KEN THOMPSON(che lavorò anche al progetto Multics) e DENNIS RITCHIE. Da esso furono realizzate varianti come BSD ( Berkley Software Distribution), SCO System V, Minix (usato in ambito didattico) e successivamente l'ormai famosissimo LINUX sviluppato nel 1991 dallo studente finlandese LINUS TORVALDS. La fortuna di Linux si è dovuta al suo abbinamento con il Progetto GNU di RICHARD STALLMAN, portavoce della filosofia del Software Libero. Oggi i sistemi operativi *NIX sono conformi allo standard POSIX (che uniforma l'interprete dei comandi e le API dei programmi).

Sistemi Operativi per Personal Computer

Verso gli anni 80 grazie alla tecnologia LSI (Large scale integration)la costruzione di chip integrati diviene massiccia e porta all'abbattimento dei prezzi dell'hardaware. Sorge l'era dei Personal Computer .Questi piccoli ed economici computer avevano prestazioni simili a quelle dei calcolatori medio-grandi di 10-20 anni prima. Con l'avvento dei PC si impone il BASIC, un linguaggio di programmazione sviluppato nel 1964. I più importanti sistemi operativi per PC erano il CP/M-80 (della Digital Research per le CPU Intel 8080 e Z-80) e L'MS-DOS, della Microsoft simile al CP/M , adottato dalla IBM per il proprio Personal Computer lanciato nel 1981 (fatto , questo che propriziò lo sviluppo irresistibile di Microsoft , oggi la più grande azienda informatica a livello mondiale).

Sistemi Operativi GUI (Graphic User Interface)

Steve Jobs, il fondatore di APPLE Computer , era uno dei pochi che credeva nell'idea del Personal Computer (a quell'epoca era difficile immaginare l'utilità di un computer personale). Nel 1984, ispirandosi all'interfaccia grafica sviluppata da XEROX qualche anno prima, Apple lancia, sul Macintosh , MAC OS il primo sistema operativo per PC con interfaccia grafica. Questa fu una vera rivoluzione.Poco dopo in ambiente Unix nasce X WINDOW SYSTEM e l'anno successivo MICROSOFT commercializza WINDOWS.All'inzio Windows non era un vero e proprio sistema operativo,ma un'estensione di MS-DOS.Nel 1987 la IBM lancia OS/2,un sistema operativo grafico per il suo PC PS/2,ma con scarso successo.Nel 1990,con Windows 3.0 che supporta il multitasking e la memoria virtuale,Microsoft si impone sul mercato. Con Windows 3.10 e 3.11,nel 1992,viene introdotto il supporto alla multimedialità e le funzioni di rete per lan peer to peer. E' con l'introduzione,nel 1995,di WINDOWS 95 che si può parlare, per Windows,di bit.Seguiranno Windows 98(1998), ME(2000),2000(2000),XP(2001) e VISTA (2007).Anche LINUX nelle sue varie distribuzioni - Red Hat (1994), Debian GNU/Linux (1996),Ubuntu(2005), etc. - fornisce l'interfaccia grafica

Sistemi Operativi di Rete

Un fenomeno che iniziò a prendere piede a partire da metà degli anni 80 fu lo sviluppo delle reti di computer.Nacquero cosi i Sistemi Operativi di Rete e i Sistemi Operativi Distribuiti . I primi sono dei normali Sistemi Operativi ai quali viene aggiunto il software per il collegamento a macchine remote e quindi alle relative risorse condivise come file e stampanti. I secondi sono Sistemi Operativi che girano su sistemi a più processori oppure che inviano i processi da elaborare ad altri computer della rete. Essi sono dotati di particolari politiche di scheduling che permettono una efficace allocazione dei processi tra le CPU disponibili. Anche il file System, il sistema di archiviazione, è unico.Il Sistema Operativo NETWARE di NOVELL, la cui prima versione è DL 1983, consente la connessione in rete di computer UNIX e MAC OS. Alla prima classe di sistemi di rete appartengono tutte le versioni di Windows , dalla 3.1 e NT in poi,mentre UNIX e derivati fanno parte di entrambe le categorie in quanto supportano entrambe le tecnologie . Microsoft sviluppa diversi SO di Rete,sempre denominati Windows 3.1 (1992), NT (1993), 2000 Server (2000), Server 2003 (2003),Server 2008 (2008)

I Sistemi Operativi dei cellulari e dei PDA

Oggi è disponibile una grande varietà di sistemi di elaborazione dalle più disparate dimensioni e performance a costi contenuti e sono sempre più diffuse le interconnessioni tra i vari dispositivi in modalità sia wired che wireless. Tutto ciò ha portato allo sviluppo di sistemi operativi per le più svariate architetture, in particolare per dispositivi handheld come i CELLULARI - tra i quali il sistema operativo SYMBIAN OS - e PALMARI o PDA (Personal Digital Assistant) - tra i quali i sistemi operativi WINDOWS MOBILE e PALM OS.

Cronologia dei Sistemi Operativi

1961

CTSS

1964

OS/360 (annunciato)

1965

Multics (annunciato)

OS/360 (disponibile)

Tape Operating System (TOS)

1966

MS/8

1967

CP/CMS

ITS

WAITS

1969

ACP (IBM)

TENEX

Unix

1970

DOS/BATCH 11 (PDP-11)

1971

OS/8

1972

MFT

MVT

RDOS

SVS

VM/CMS

1973

Alto OS

RSX-11D

RT-11

VME

1974

MVS (MVS/XA)

1976

CP/M

TOPS-20

1978

Apple DOS 3.1 (Primo sistema operativo dell'Apple)

TRIPOS

VMS

1979

Apple DOS 3.2

1980

Apple DOS 3.3

OS-9

QDOS

SOS

XDE (Tajo) (Xerox Development Environment)

Xenix

1981

MS-DOS

1982

SunOS (1.0)

Ultrix

1983

Lisa OS

Coherent

ProDOS

1984

Macintosh OS (System 1.0)

QNX

UniCOS

1985

AmigaOS

Atari TOS

MIPS OS

Microsoft Windows 1.0

1986

AIX

GS-OS

HP-UX

1987

Arthur

IRIX (3.0 � la prima versione prodotta dall'SGI)

Minix

OS/2 (1.0)

Microsoft Windows 2.0

1988

A/UX (Apple Computer)

LynxOS

MVS/ESA

OS/400

1989

NeXTSTEP (1.0)

RISC OS

SCO Unix (release 3)

1990

BeOS (v1)

OSF/1

1991

Linux

1992

Solaris (2.0 � la prima versione non chiamata SunOS)

Windows 3.1

1993

Plan 9

FreeBSD

NetBSD

Slackware Linux

Windows NT 3.1 (Prima versione di NT)

1994

Red Hat Linux

1995

Digital Unix (detto anche Tru64' '')

OpenBSD

OS/390

Windows 95

1996

Debian GNU/Linux (Debian 1.1) [1]

1997

Mac OS 7.6 (Primo sistema operativo ufficialmente chiamato Mac OS)

1998

Windows 98

1999

Mac OS 8

2000

AtheOS

Mac OS 9

Windows 2000

Windows ME

2001

Mac OS X

Windows XP

z/OS

2002

Syllable

2003

Windows Server 2003

Made with Adobe Slate

Make your words and images move.

Get Slate

Report Abuse

If you feel that this video content violates the Adobe Terms of Use, you may report this content by filling out this quick form.

To report a Copyright Violation, please follow Section 17 in the Terms of Use.