Please enable JavaScript.
Coggle requires JavaScript to display documents.
la storia dei sistemi operativi - Coggle Diagram
la storia dei sistemi operativi
cenni storici
Problema di interazione I/O
Dagli anni ’40 del secolo scorso
● Nacque così il software di base
∙corredo di programmi di utilità
∙ per integrare nei programmi l’utilizzo HW
∙ per evitare di riscrivere tutte le funzioni di basso livello.
classificazione
i vari tipi sono
∙sistemi dedicati;
∙sistemi a lotti (batch);
∙sistemi interattivi:
nei sistemi interattivi esistono delle sottocategorie
ad esempio
∙conversazionali;
∙in tempo reale;
∙transazionali.
sistemi dedicati (1945-1955)
MARK 1
● programmato con un alfabeto a 32 simboli
● trasferiti come gruppi di 5 bit in memoria
● si utilizzava I/O un lettore/perforatore di nastro
ENIAC
● costituita da 19.000 valvole e 1500 relays ● il peso complessivo superava le 30 t ● occupava un locale ● la potenza consumata di 200 KW.
UNIVAC 1
● è una macchina con significato storico
primo prodotto a essere venduto al pubblico, creato con uno scopo commerciale.
● Dotato di una tastiera di una macchina da scrivere per l’input ed equipaggiato con diverse unità a nastro magnetico. È stato usato per predire correttamente il risultato delle elezioni presidenziali del 1952.
gestione a lotti
● Introduzione di un sistema automatico di caricamento dei programmi
● si utilizzarono le schede perforate
● Ogni scheda perforata conteneva un’istruzione
● Lotto: un pacco di schede inserite nell’apposito lettore
● questo tipo di gestione fu proprio chiamata gestione a lotti (batch processing)
i job:
● Un job è delimitato da due schede speciali di controllo: $JOB e $END
● Le schede di controllo utilizzavano un particolare linguaggio per comunicare con il calcolatore: ● il JCL o Job Control Language
● I risultati delle elaborazioni finivano stampati su un tabulato comune a tutti i job
caratteristiche principali
che sono:
∙ il SO è sempre residente in memoria (monitor); ∙ in memoria centrale è presente un solo job alla volta; ∙ finché il job corrente non è terminato, il successivo non può iniziare l’esecuzione;
∙ non è presente interazione tra utente e job;
∙ se un job si sospende in attesa di un evento, la CPU rimane inattiva;
∙ scarsa efficienza: durante l’I/O del job corrente, che sono per loro natura molto lente, la CPU rimane inattiva
sistemi interattivi (1965-1980)
Negli anni ’60 IBM introduce i canali di I/O
Nasce il DMA (Direct Memory Access, “accesso diretto alla memoria”)
è un meccanismo che permette ad alcuni dispositivi (unità a disco, schede grafiche, schede audio e musicali) di accedere direttamente alla memoria del calcolatore
● Multiprogrammazione
Idea è quella di eliminare i tempi di attesa per I/O ● sono pronti in memoria altri job
nel caso uno si debba sospendere prendono il suo posto
Un solo job utilizza in un dato istante la CPU ● più job attendono (caricati in RAM) di acquisire la CPU
Il SO effettua delle scelte tra tutti i job:
quali job caricare in memoria centrale: scheduling dei job o long term scheduling;
∙ a quale job assegnare la CPU: scheduling della CPU o short term scheduling.
time sharing
Nel termine time sharing (a partizione di tempo) si ha
ad esempio
a ogni utente connesso con il suo terminale al sistema viene assegnata una porzione di tempo (quanto) di utilizzo CPU (time slice, tipicamente della durata di poche centinaia di millisecondi);
∙ se il job non si conclude nel tempo macchina a lui assegnato, viene temporaneamente sospeso ∙ il processore viene assegnato a un altro programma che era stato sospeso
∙ … e cosi via.
buffering
cos'è
un buffer è un’area di memoria intermedia dedicata al salvataggio temporaneo di informazioni
spooling
si arrivò all’introduzione di meccanismi chiamati dischi di spooling (Simultaneous Peripheral Operations On Line) ● Si legge e si scrive su due dispositivi virtuali
∙ il disco di spooling di ingresso
∙ il disco di spooling di uscita
home computing (anni '70)
Nolan Bushnell fu il fondatore del primo grande colosso dei videogiochi: l’Atari (1972).
Ad esso si affiancarono Commodore, Sinclair e altre case produttrici di home computer
sistemi dedicati (anni '80)
ad esempio
● Nel 1982 Microsoft rilascia MS-DOS
● INTEL i microprocessori della famiglia x86
● Prende piede il software grafico interattivo, con nuovi strumenti di interazione con l’utente come il mouse
nuove tipologie di sistemi operativi
● il primo esempio lo troviamo con MacOS
● (acronimo di Macintosh Operating System) di Apple nel 1984.
sistemi odierni e futuri
Stiamo ora vivendo un continuo e costante aumento dei pc personali, della connessione e dei computer indossabili (wearable computer)
alcuni dei sistemi odierni sono:
ad esempio
∙ Sistemi Operativi per Server
∙ Sistemi Operativi in Tempo Reale
∙ Sistemi Operativi Embedded
∙ Sistemi Operativi per Smart Card
∙ Sistemi Operativi per Smartphone