Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione...

45
Politecnico di Milano Sistemi Operativi ed interazione con HW e CAD Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione [email protected]

Transcript of Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione...

Page 1: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

Sistemi Operativi ed interazione con HW e CAD

Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione [email protected]

Page 2: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

2

Indice �  Il Sistema Operativo ◦  Software di sistema e applicativo ◦  Architettura di un sistema operativo ◦  Classificazione dei sistemi operativi ◦  Bootstrap ◦  Panoramica dei principali sistemi operativi �  MS DOS, MS Windows, UNIX, Linux, BSD, Mac OS

�  Interazione tra SO, HW e CAD ◦  Un esempio pratico: la grafica computerizzata

Page 3: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

3

Software: di sistema e applicativo

�  Di sistema: controlla il comportamento del sistema stesso ◦  il più importante dei software di sistema è il sistema operativo:

�  controlla le risorse del sistema �  fornisce la base su cui costruire tutti gli altri programmi

�  Applicativo: risolve i problemi dell’utente, appoggiandosi sullo strato fornito dal sistema operativo

Page 4: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

4

Il sistema operativo

� Con il termine sistema operativo si intende l’insieme di programmi e librerie che opera direttamente sulla macchina fisica... ◦  ... mascherandone le caratteristiche specifiche... ◦  ... e fornendo agli utenti un insieme di funzionalità

di alto livello

Page 5: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

5

Sistemi Operativi

� MS-DOS � MS-Windows (95, 98, 2000, XP, Vista) � Unix ◦ Commerciali: Sun Solaris, IBM AIX, HP-UX,… ◦  Linux ◦  BSD

� Mac OS ◦ Mac OS X

� Altri (IBM AS/400, Symbian,…)

Page 6: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

6

Architettura di un S.O. - 1 �  Un moderno S.O. è organizzato secondo una architettura “a strati” (a

cipolla)

�  Ogni strato implementa una macchina virtuale più potente del precedente ◦  Appoggiandosi alle funzionalità offerte dallo strato precedente

�  Tale approccio permette una chiara separazione tra interfaccia e implementazione delle diverse funzionalità

�  Ogni strato è costituito da un insieme di programmi e librerie ◦  I meccanismi di chiamate tra livelli possono essere diversi

�  chiamate a sottoprogrammi, interruzioni sincrone o asincrone, invio di messaggi a processi

Page 7: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Architettura di un S.O. - 2

Macchina fisica

Gestore dei processi (nucleo)

Gestore della memoria

Gestore delle periferiche

Gestore del file system

Interprete dei comandi Interfaccia grafica

Programmi utente

Gestori di risorse (kernel)

Interfacce utente

Page 8: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

8

Il Nucleo ◦  Si appoggia direttamente sulla macchina fisica ◦  Effettua la gestione dei processi ◦  In un sistema multitasking realizza una macchina virtuale in

cui ad ogni processo è assegnata un processore virtuale ◦  Comprende i principali programmi di risposta ad

interruzione ◦  Realizza le primitive di sincronizzazione e scambio

messaggi tra processi

Page 9: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

9

Il Nucleo

Memoria centrale

Interfaccia delle

periferiche

Bus di sistema

Processore virtuale

Processore virtuale

Processore virtuale

...

Disco

� La macchina virtuale realizzata dal nucleo

Page 10: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

10

Il gestore della memoria

�  Il gestore della memoria ◦ Realizza le funzionalità di allocazione della

memoria �  Supera i limiti della memoria fisica e mostra ai processi

uno spazio di memoria virtuale

◦  Partiziona la memoria tra i vari processi che la richiedono �  Garantendo la protezione delle diverse zone di memoria

Page 11: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

11

Il gestore della memoria � La macchina virtuale realizzata dal gestore

della memoria

Interfaccia delle

periferiche

Bus di sistema

Processore virtuale ...

Disco

Processore virtuale

Processore virtuale

Memoria virtuale

Memoria virtuale

Memoria virtuale ...

Page 12: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

12

Il gestore delle periferiche �  Il gestore delle periferiche ◦  Maschera le caratteristiche fisiche delle periferiche

◦  Fornisce agli strati superiori un insieme di procedure di alto livello per l’accesso alle diverse periferiche

◦  Offre ad ogni processo la visibilità di un insieme di periferiche virtuali dedicate

◦  Gestisce, almeno in parte, i malfunzionamenti delle periferiche

Page 13: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

13

Il gestore delle periferiche � La macchina virtuale realizzata dal gestore

delle periferiche

Interfaccia periferiche

virtuali

Bus di sistema

Processore virtuale

Disco

Memoria virtuale

... Bus

Interfaccia periferiche

virtuali

Processore virtuale

Memoria virtuale

Bus

Page 14: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

14

Il gestore del file system �  Il gestore del file system ◦  E’ responsabile della gestione delle periferiche di massa �  Hard disk �  CD / DVD �  Memory stick USB �  ... ◦  Fornisce agli strati superiori un insieme di procedure per

l’accesso al file system ◦  Garantisce la protezione nell’accesso ai file

Page 15: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

15

Il gestore del file system

� Le funzioni di base che sono supportate da un file system sono ◦  Il recupero di dati precedentemente memorizzati ◦  L’eliminazione di dati obsoleti ◦  La modifica/aggiornamento di dati preesistenti ◦  La copia di dati �  Tra supporti di memorizzazione diversi (ad es. da HD a

CD) �  In cartelle diverse nello stesso supporto

Page 16: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

16

Il gestore del file system �  I dati contenuti nella memoria di massa vengono strutturati e

gestiti mediante una organizzazione in file

�  Un file è un contenitore logico identificato da un nome (filename)

�  I filename generalmente sono composti da due parti ◦  ad es. curriculum_vitae.doc ◦  Il filename vero e proprio (curriculum_vitae) ◦  L’estensione (doc)

Page 17: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

17

Il gestore del file system �  L’estensione è spesso associata al programma che ha

generato il file e individua pertanto la tipologia del contenuto del file ◦  .exe à file eseguibili ◦  .txt à file di testo ◦  .doc à documenti di testo (MS Word) ◦  .wav à file audio ◦  .dwg à file di AutoCAD ◦  ...

�  Ad ogni file sono poi associati dal sistema operativo altri dati ◦  Data di creazione / modifica ◦  Lunghezza del file (in byte) ◦  Utenti/Gruppi che possono accedere ai file

Page 18: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

18

Il gestore del file system �  I file vengono suddivisi in più contenitori logici, chiamati directory,

cataloghi o cartelle (folders)

�  Le cartelle sono organizzate secondo una struttura ad albero

�  Il file system contiene una directory detta radice dell’albero che può contenere file o altre cartelle

�  Ciascun file è individuato univocamente dal suo nome completo o percorso assoluto ◦  Ad es. D:\downloads\temp\002.part

�  Due file con lo stesso nome in due cartelle distinte, ad esempio ◦  D:\Immagini\Compleanno\foto1.jpg ◦  D:\Documenti\foto1.jpg

fanno riferimento a due file che in generale possono essere DIVERSI

Page 19: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

19

Il gestore del file system

D:

Documenti

Downloads

Incoming Temp

...

...

Page 20: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

20

Il gestore del file system

� La macchina virtuale realizzata dal gestore del file system

Interfaccia periferiche

virtuali

Bus di sistema

Processore virtuale

Memoria virtuale

... Bus

File File ...

Interfaccia periferiche

virtuali

Processore virtuale

Memoria virtuale

Bus

File File ...

Page 21: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

21

L’interprete dei comandi e l’interfaccia grafica �  L’interprete comandi e l’interfaccia grafica ◦  Costituiscono l’interfaccia verso l’utente ◦  Consentono l’interazione dell’utente con il s.o. e con i

programmi applicativi in esecuzione �  Permettono di accedere ai programmi conservati su memoria di

massa e mandarli in esecuzione �  allocando la memoria necessaria e creando il processo relativo

◦  Nel caso di un sistema multiutente forniscono ai diversi utenti la visione di una macchina virtuale dedicata

Page 22: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

22

Una possibile classificazione dei moderni S.O. ◦  Sistemi monotask: �  Permettono l’esecuzione di un solo programma utente per volta (es.

DOS) �  Il computer a disposizione del programma dall’inizio alla fine della sua

esecuzione �  Coda dei job, gestita FIFO (first in, first out) e/o con priorità ◦  Sistemi multitask �  Permettono l’esecuzione di più programmi utente contemporaneamente �  Classificazione ulteriore:

�  Multitasking cooperativo (Windows 3.1, MacOS) �  Multitasking preemptive (Windows 95/98/NT, Unix) �  Time sharing o meno

Page 23: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

23

Svantaggi dei sistemi monoprocessore mono-tasking

�  Nessuna interazione utente-programma �  Lentezza: la CPU non può essere usata da nessun

processo mentre il programma in esecuzione svolge operazioni di I/O (molto piu’ lente di letture/scritture in Memoria)

�  Esempio: DOS è un SO monotasking; non si può fare niente altro mentre si formatta un floppy o si memorizzano dati su disco

Page 24: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

24

Multitasking (time sharing) �  Ripartizione del tempo di CPU tra tutti i processi che la vogliono �  Ogni job rimane in esecuzione solo per un quanto di tempo, poi

l’esecuzione passa al prossimo job e il primo va in attesa à Esecuzione globale più veloce

�  Durata del quanto di tempo tra 100 e 200 millisecondi à granularità molto fine

�  A ciascun utente sembra di avere la CPU tutta per lui, solo più lenta

Page 25: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

25

Stati di un processo

Processo in esecuzione

Processo in attesa

Processi pronti

Inizio esecuzione

Selezione primo processo pronto e sua esecuzione

Termine quanto di tempo

Completamento operazione di I/O (evento esterno atteso)

Richiesta di operazione di I/O

Page 26: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

26

Attesa �  Se il processo richiede operazioni ad altri dispositivi (es.

Operazioni di I/O), la CPU rimarrebbe inutilizzata è ◦  lo scheduler mette il processo in stato di attesa, ◦  il dispatcher sceglie un nuovo processo tra i pronti dalla tabella, ◦  quando l’operazione sarà finita, lo scheduler dichiarerà di nuovo

pronto il processo �  Permette un utilizzo molto più efficiente delle risorse di

elaborazione ◦  Esempio:

�  durante la digitazione di un documento di testo, l’utente compie molte pause per riflettere sul contenuto che sta scrivendo

�  questo tempo è usato dal sistema per compiere altre operazioni in contemporanea (ad es. gestire la ricezione di e-mail)

Page 27: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

27

Sistemi mono e multi-processore � Time sharing in sistemi mono-processore:

multi-tasking (più programmi in esecuzione con una sola CPU)

�  Sistemi multiprocessore: ◦  le varie CPU possono lavorare

contemporaneamente su job diversi ◦  ciascuna CPU opera in multi-tasking

Page 28: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

28

Bootstrap: avvio del SO �  All’inizio, la CPU ha in indirizzo fissato nel registro contatore di

programma, che punta all’indirizzo nella ROM (Read Only Memory) ove inizia il programma di bootstrap che è sempre memorizzato lì

�  L’esecuzione del programma di bootsrap trasferisce il kernel del Sistema Operativo da una parte prestabilita della memoria di massa (hard-disk, floppy-disk, CD-Rom,…) in memoria principale

�  Quindi l’esecuzione prosegue con un salto all’area di memoria principale contenente il Sistema Operativo (che quindi viene mandato in esecuzione)

�  Tra le prime operazione del kernel del Sistema Operativo vi sono tipicamente quelle di caricamento di altri componenti software: ◦  driver delle periferiche installate ◦  programmi di sistema lanciati automaticamente all’avvio

Page 29: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

29

Bootstrap

Page 30: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

30

MS-DOS �  Sviluppato dalla Microsoft nel 1981 per il PC IBM �  Adottato da altri con PC IBM-compatibili �  Molto limitato: ◦  mono-utente, ◦  mono-tasking

�  Circa 50 comandi per il SO: ◦  DIR per vedere il contenuto di una directory ◦  COPY per copiare file ◦  DEL per cancellare un file ◦  REN per cambiare il nome a un file ◦  CD per muoversi in un altra directory ◦  MD per creare nuove directory ◦  RD per cancellare directory ◦  Nome file: per eseguire il file (se eseguibile) ◦  …

Page 31: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

31

MS Windows – Elementi principali

�  Interfaccia grafica �  Mouse che sposta un cursore �  Cut & paste (copia e incolla) �  Drag & drop (trascina e lascia) �  Icone associate a file, directory,

dischi, … �  Directory come cartelle �  Pulsanti �  Finestre: cornici con strumenti

�  Menu di comandi

Page 32: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

32

Breve storia di windows 1/2 �  Nel 1980 la Microsoft era una piccola società con 40 dipendenti, che fatturava 8

milioni di dollari. �  Bill Gates venne contattato dall'IBM, che in quel periodo dominava il mercato degli

elaboratori mainframe ed aveva appena iniziato la realizzazione di un personal computer, per scrivere un nuovo sistema operativo.

�  Nasce così l'MS DOS ed esplode il boom del computer per tutti. �  Due anni dopo Bill Gates annuncia la nascita di una prima versione di Windows

(1982). Non è un sistema operativo, ma una semplice interfaccia grafica attaccata al DOS molto rozza. Gli utenti cominciano a prendere confidenza con questa nuova dimensione.

�  A maggio, nel 1990, viene lanciato Windows 3.0 e un anno dopo esce Windows 3.1. �  Nel '94 il fatturato è di 4,65 miliardi di dollari. �  Nel '95 viene lanciato Windows 95 e i dollari salgono a quasi 6 miliardi. Internet

Explorer comincia ad insidiare la posizione di leader tra i browser di Netscape. �  Infine nel '98 esce la nuova versione di Windows (Windows 98) e nel frattempo la

crescita del sistema operativo di rete, Windows NT, si consolida fino a creare serie minacce a ben più blasonati sistemi.

Page 33: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

33

Breve storia di windows 2/2 �  Il successore di windows NT è Windows 2000. Windows 2000 compare in due

versioni: la Professional e la Server. La prima è la soluzione ideale per applicazioni desktop mentre la seconda per la gestione e l’amministrazioni di reti, domini, ecc.

�  Con il nuovo millennio si registra l’uscita del nuovo Windows Millennium Edition (ME), praticamente un Windows 98 SE rivisto nella grafica, potenziato a livello di funzioni multimediali e nel quale fa la sua definitiva scomparsa il buon vecchio DOS.

�  Alla fine del 2002 viene presentato Windows XP nelle versioni Home, Professional e Server. La prima prenderà il posto di Windows ME mentre le altre due sostituiranno le analoghe versioni di Windows 2000. Windows XP presenta un’interfaccia completamente ridisegnata, un ottimo supporto alle periferiche attualmente sul mercato e una grande supporto ai prodotti multimediali non ultimi i videogame grazie all’integrazione diretta delle DirectX.

�  Nel 2006 è stata rilasciato Windows Vista. Tra le principali novità: pieno supporto dei processori a 64 bit (funziona però anche a 32 bit); nuovo motore per l’interfaccia grafica; funzionalità avanzate di ricerca dei documenti archiviati; maggiore protezione rispetto agli attacchi informatici.

�  Nel 2009 arriva Windows 7 ...

Page 34: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

34

Unix �  Sistema Operativo: ◦  multi-utente, ◦  multi-tasking, con time-sharing

�  Nato negli anni ’60 con un progetto congiunto AT&T e MIT

�  Concepito per poter funzionare su diverse piattaforme hardware con adattamenti limitati

�  Interprete dei comandi: shell ◦  testuale ◦  più di 300 comandi, con opzioni

�  Disponibilità di interfaccia grafica (finestre, mouse, etc.) messa a disposizione da un insieme di moduli separati (sistema X Window)

Page 35: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

35

Linux �  Linux è una delle molte varianti di Unix con la peculiarità di

essere open source (= il cui codice sorgente è liberamente disponibile)

�  La sua nascita è dovuta in parte alle restrizioni imposte da AT&T all’uso di del codice sorgente di UNIX per la didattica: ◦  hanno indotto Andy Tanenbaum allo sviluppo di MINIX, un

implementazione di UNIX per scopi didattici ◦  MINIX ha ispirato Linus Torvalds a realizzare una propria implementazione

del kernel UNIX ◦  Il kernel sviluppato da Linus è stato combinato con una suite di programmi

UNIX, sviluppati nell’ambito del progetto GNU (iniziativa che ha originato il movimento open source), per formare la prima distribuzione di Linux e renderla disponibile su Internet come software open source

�  Oggi esistono innumerevoli distribuzioni di Linux, distinte per diverse combinazioni di kernel, interfacce grafiche (le più note sono Gnome e KDE) e programmi di utilità.

Page 36: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

36

Linux Gnome à

ß KDE

Page 37: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

37

MAC OS-X �  MAC OS-X è l’ultima

generazione di S.O. per i personal computer prodotti da Apple

�  Abbandonato il precedente sistema operativo Apple ha costruito la nuova generazione del proprio S.O. a partire da una variante di BSD, chiamata Darwin, che rimane open source

�  A questo nucleo, Apple ha aggiunto componenti proprietari, dall’interfaccia grafica (Aqua) ad una suite di applicazioni e utilities.

Architettura MAC OS-X

Kernel, gestori di risorse e

servizi di base

GUI à

Applicazioni

Page 38: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano

Un esempio pratico: la grafica computerizzata

Interazione tra HW, SO e CAD

38

Page 39: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Un esempio pratico: la grafica

computerizzata

39

Hard Disk

Sistema Operativo

AutoCAD

File di salvataggio AutoCAD

RAM

Sistema Operativo

Monitor

Desktop

Accensione del computer

Page 40: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Un esempio pratico: la grafica

computerizzata (2)

40

Hard Disk

Sistema Operativo

AutoCAD

File di salvataggio AutoCAD

RAM

Sistema Operativo

AutoCAD

Monitor

Finestra di AutoCAD

Display window

Attivazione Programma AutoCAD

000000000000000000000000000000000000000000000000000000000000

Dati di AutoCAD

Frame Buffer

Page 41: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Un esempio pratico: la grafica

computerizzata (3)

41

Hard Disk

Sistema Operativo

AutoCAD

File di salvataggio AutoCAD

RAM

Sistema Operativo

AutoCAD

Monitor

Finestra di AutoCAD

Display window

Generazione di una linea

Line X1Y1-X2Y2 000000100000000001000000000010000000000100000000000000000000

Dati di AutoCAD

Frame Buffer

Page 42: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Un esempio pratico: la grafica

computerizzata (4)

42

Hard Disk

Sistema Operativo

AutoCAD

File di salvataggio AutoCAD

RAM

Sistema Operativo

AutoCAD

Monitor

Finestra di AutoCAD

Display window

Generazione di un cerchio

Line X1Y1-X2Y2 Circle X0Y0-R0

000000100000000111100000001010010000000111100000000000000000

Dati di AutoCAD

Frame Buffer

Page 43: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Un esempio pratico: la grafica

computerizzata (5)

43

Hard Disk

Sistema Operativo

AutoCAD

File di salvataggio AutoCAD

RAM

Sistema Operativo

AutoCAD

Monitor

Finestra di AutoCAD

Display window

Salvataggio su file

Line X1Y1-X2Y2 Circle X0Y0-R0

000000100000000111100000001010010000000111100000000000000000

Dati di AutoCAD

Frame Buffer

Line X1Y1-X2Y2 Circle X0Y0-R0

Page 44: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Un esempio pratico: la grafica

computerizzata (6)

44

Hard Disk

Sistema Operativo

AutoCAD

File di salvataggio AutoCAD

RAM

Sistema Operativo

AutoCAD

Monitor

Finestra di AutoCAD

Display window

Rimozione della linea

Circle X0Y0-R0

000000000000000111100000001000010000000111100000000000000000

Dati di AutoCAD

Frame Buffer

Line X1Y1-X2Y2 Circle X0Y0-R0

Page 45: Manuel Roveri, Ph.D. - di Milano Sistemi Operativi ed interazione …roveri.faculty.polimi.it/wp-content/uploads/5_Sistemi... · 2014. 10. 27. · Prof. Manuel Roveri Dipartimento

Politecnico di Milano Un esempio pratico: la grafica

computerizzata (7)

45

Hard Disk

Sistema Operativo

AutoCAD

File di salvataggio AutoCAD

RAM

Sistema Operativo

AutoCAD

Monitor

Finestra di AutoCAD

Display window

Salvataggio su file

Circle X0Y0-R0

000000000000000111100000001000010000000111100000000000000000

Dati di AutoCAD

Frame Buffer

Circle X0Y0-R0