Storia dei Sistemi Operativi

  • Period: to

    FASE 1: Job by Job / Open Shop

    Pre SO.
    • Computer usati solo dai loro progettisti e dai loro collaboratori;
    • Scrivere un programma veniva svolto in più passi:
    1. Scrivere il programma su carta;
    2. Trasferire il programma su schede perforate;
    ..
    7. L’output poteva essere stampato o convertito in schede perforate
    • Difficile il debugging;
    • Si introduce la figura professionale dell’operatore addetto alla sala macchine
    • Si caricava un solo programma alla volta;
    • A metà degli anni ’50 nascono i primi assembler.
  • John von Neumann - EDVAC

    Il concetto di programma memorizzato in memoria centrale è stato introdotto da John von Neumann nel 1945 con l'EDVAC e le istruzioni macchina. Era una procedura manuale, a quei tempi non si pensava minimamente al farsi aiutare da un programma per inserire un programma nel computer.
    Un sistema operativo è un programma che aiuta a "far girare" gli altri programmi.
  • Period: to

    Sistemi batch

    Il resident monitor dei sistemi batch integrava il lavoro del personale, che forniva al computer i programmi da eseguire sotto forma di pacchetti di schede perforate. Poi il resident monitor si sarebbe occupato di far girare questi programmi uno dopo l'altro.
    Automatizzare il lavoro necessario per lanciare i programmi uno dopo l'altro, anziché dover ricorrere all'intervento umano per mandare in esecuzione ogni singolo programma: un programma che amministra la vita degli altri programmi.
  • Period: to

    Sistemi batch

    Permisero un uso più esteso e versatile delle schede perforate, in modo da impartire opportuni comandi al computer, ad esempio che uno specifico compilatore doveva essere usato per compilare un certo programma sorgente, per poi eseguirlo.
    L'idea alla base fu usare uno specifico programma per pianificare il lavoro da far fare al computer
  • Period: to

    FASE 2: Sistemi batch

    • le schede perforate potevano contenere: il codice dei programmi, i dati di input dei programmi, o i comandi di controllo da impartire al resident monitor
    • l'addetto alla sala macchine poteva immettere nella memoria del computer il contenuto di pacchetti di schede perforate corrispondenti ad un gruppo di programmi da eseguire. Il resident monitor (programmma che rimane in memoria e gestisce Inp e Out) avrebbe poi gestito in maniera autonoma l'esecuzione di tutti i programmi, uno dopo l'altro.
  • Period: to

    FASE 4: Timesharing

    Furono concepiti quasi contemporaneamente ai sistemi operativi multitasking, e implementati a partire dai primi anni '60.
    Permettere a più utenti di usare la stessa macchina contemporaneamente.
    Hanno costituito l'ambiente nel quale è sorta ed è stata implementata l'idea di un sistema di cartelle e sottocartelle in cui organizzare i file degli utenti.
    I primi sistemi realizzati sono stati il CTSS e il MULTICS.
    Diedero origine alla formulazione delle caratterist fondament dei moderni File System
  • Period: to

    FASE 3: Multiprogrammazione

    • fu implementata tra l’altro nei sistemi operativi Atlas e OS/360
    • fu concepita alla fine degli anni ’50 per evitare le attese dovute alle periferiche di input/output
    • poté essere implementata nel momento in cui furono resi disponibili i primi dispositivi di memorizzazione di massa ad accesso diretto
  • Period: to

    Multiprogrammazione

    memorizzazione di massa ad accesso diretto (memorie a tamburo rotante e hard disk (testina va dove vuole, non esecuzione sequenziale, disk come specie di buffer per raccogliere lettura di schede e creazione di output)), canali dati diretti tra memoria primaria e secondaria, diffusione di CPU a transistor più potenti (sofisticato sistema di interrupt), quindi simulazione esecuzione contemporanea di processi (spooling, simultaneous peripheral operation on line). Multitasking cooperativo.
  • Sistema ATLAS - Kilburn, Payne, Howard

    Sistema operativo che permetteva di eseguire più programmi in parallelo.
    Compaiono per la prima volta le system call (o extracode) e l’implementazione di memoria virtuale con paginazione su richiesta.
    - Memoria suddivisa in pagine (blocks)
    - mem prim in 2 livelli: MCMs per fixed store (codice
    supervisor), subsidiary store (dati supervisor), core store; mem a tamburo rotante per processi non in esecuzione
  • Timesharing - CTSS - Corbatò

    1° SO timesharing, login e psw, comunicavano lasciandosi file nel sistema, MAIL. Permettere a più utenti di usare la stessa macchina contemporaneamente attraverso un supervisor;
  • Timesharing - MULTICS - Fano

    • era pesante e sovradimensionato rispetto alle macchine degli anni '60 su cui avrebbe dovuto girare
    • Ebbe il merito di ispirare lo sviluppo del concetto di File System gerarchico
    • non poté usufruire di una piattaforma hardware sufficientemente performante per supportarne la complessità computazionale, e questa fu una delle cause del suo insuccesso
    • Multitasking
    • Nascita di UNIX
  • OS/360 - IBM

    • Multiprogrammazione
    • Sistema operativo multitasking molto diffuso negli anni '60
    • fu tra i sistemi più diffusi degli anni '60, non era nemmeno un sistema timehsaring, ma era solo multiprogrammato
    • Multitasking
  • Timesharing - SO Titan

    File system operativo moderno.
    successore ATLAS, File Allocation Table, primo sistema a memorizzare in un file di sistema le password degli utenti in forma criptata, in modo da evitarne il facile furto
  • Timesharing - UNIX - Thompson, Ritchie

    A metà degli anni ’80 UNIX era il sistema operativo Timesharing di riferimento. Lo UNIX ebbe la fortuna di comparire al momento giusto, quando i computer erano abbastanza potenti da poter supportare un sistema operativo Timesharing.
    - fu sviluppato ai laboratori Bell dopo che questo centro di ricerca si era ritirato dal progetto del
    MULTICS
    - fu riscritto in C all’inizio degli anni ‘70, e questo ne favorì tantissimo lo studio, la comprensione, la portabilità su sistemi hardware diversi
  • UNIX

    • si diffuse inizialmente in università e centri di ricerca grazie al fatto che veniva distribuito gratuitamente a parte i costi di spedizione e del nastro su cui era memorizzato
    • È il capostipite di buona parte dei sistemi operativi usati oggi, anche nei dispositivi mobile
    • già pochi anni dopo la sua iniziale diffusione, fu in grado di suscitare ampio interesse tra programmatori e ricercatori che fondarono il “Unix User Group” dove scambiare opinioni ed esper
    • è il più vecchio SO in uso ora
  • OS 6, Stoy, Strachey, primo SO per personal computer

    in BCPL, file system e meccanismo I/O
  • DOS

    • un sistema operativo molto semplice, progettato apposta per i primi personal computer, che erano macchine quasi sempre dotate di risorse hardware molto limitate
    • 1975 Gates compra la licenza d’uso dell’86-DOS; ingaggia Tim Patterso per portare l’86-DOS sull’IBM PC; rinomina l’86-DOS in MS-DOS e vende la licenza d’uso alla IBM; Microsoft può vendere DOS anche ad altri produttori di PC IBM compatibili.
  • BIOS - Kildall - Basic Input Output System

    • per interfacciare un sistema operativo con l’hardware. Sostanzialmente le istruzioni passavano da CCP a BDOS e poi a BIOS.
    • Permetteva di portare velocemente un sistema operativo (per personal computer) su piattaforme hardware diverse.
  • MicroSoft - Bill Gates, Allen

    per interprete BASIC
  • Period: to

    Sistemi Distribuiti

    • insieme di computer collegati tra loro tramite una rete;
    • idea di un unico sistema;
    • si diffusero tramite Ethernet;
    • era implementato Remote Procedure Call (RPC), un’estensione di IPC;
    • Le prime RPC in ambiente UNIX furono sviluppate da Sun Microsystems per NFS;
    • non si diffuserò al di fuori dall’ambito di ricerca.
  • GNU - Stallman

    progetto collaborativo di massa per lo sviluppo di software libero, quindi serve SO libero ispirato a Unix
  • Windows 1.0

    Microsoft presenta Windows 1.0, un’interfaccia grafica per MS-DOS. Successivamente con la versione 3.0, Windows diventa un sistema operativo completo.
  • Apple II usa DOS per gestire floppy disk

    Un’idea profiqua della Apple fu quella di rendere pubbliche le specifiche hardware delle sue macchine. Questo permise a terzi di sviluppare software per i computer Apple, per esempio VisiCalc
  • Minix - Andrew Tanenbaum

    Un sistema operativo Unix-like per l’uso didattico
  • Period: to

    Linux

    Nel 1991 Linus Torvalds rilascia la prima versione di Linux (un kernel) su una news group. Il nome originale di questo S.O. era Freax (Free Unix), ma il nome Linux fu scelto da un suo amico. Nel 1992 il kernel Linux viene rilasciato con la licenza GNU GPL (General Public License).
    Completamente modificabile e da esso nacquero diverse estensioni.
    - è una variante dello Unix sviluppata per girare su personal computer.
  • APPLE primo palmare, MessagePad

  • Windows 95 diventa il sistema operativo più diffuso.

  • Period: to

    Sistemi operativi per dispositivi mobili

    Un S.O. per dispositivi mobili deve essere:
    • in grado di gestire un touchscren;
    • in grado di gestire funzionalità in tempo reale;
    • in grado di gestire le risorse in maniera efficiente.
    Per questi dispositivi si sviluppano sistemi operativi come:
    • Symbian OS (1998);
    • BlackBerry OS (1999);
    • iOS (2007);
    • Android (2008);
    • Windows Mobile.
  • Nokia 9000

  • OS X

    OS X era basato su UNIX, derivato da NeXTSTEP
  • Android

    Nel 2007 acquistata da Google. Il suo sistema si basa su un kernel linux, ma viene sviluppato in Java. Fece il suo debutto nel 2008 con HTC Dream.
  • iPhone - primo accesso ai social

  • Apple iOS

    Apple iOS è un sistema operativo sviluppato da Apple per iPhone, iPod Touch e iPad. Viene rilasciato nel 2007 e ha un kernel XNU (X is Not Unix) basato su Mach e BSD. Ha una ristretta fetta di mercato (tra il 15% e il 25%).