I Sistemi Operativi Introduzione ai Sistemi Operativi

Transcript

I Sistemi Operativi Introduzione ai Sistemi Operativi
I Sistemi Operativi
Introduzione ai Sistemi Operativi (parte B)
Stefano Quer
Dipartimento di Automatica e Informatica
Politecnico di Torino
Sistemi Operativi – Stefano Quer
2
Principali SO
 I SO possono essere classificati utilizzando diversi
criteri
 Tra le varie possibilità la seguente classificazione
tiene conto del dominio applicativo
 Calcolo scientifico, servizi, web, etc
 Supercomputing, mainframe, server, workstation,
desktop, laptop
 Applicazioni particolari
 Dispositivi real-time (e.g., safety critical,
aereonautica), sistemi embedded (automotive)
 Handlet device (e.g., bar-code scanners, Personal
Digital Assistant, etc.), smart card
Sistemi Operativi – Stefano Quer
3
Principali SO: Diffusione
Tipologia
SO
Desktop, laptop, etc.
Windows 7
53.01%
Windows 8
17.81%
Dati aggiornati a
ottobre 2015
Tipologia
SO
WEB Client
Windows
Market Share
Windows XP
9.72%
OS X
8.18%
Windows 10
5.38%
Windows Vista
1.93%
Linux
1.80%
Altri
2.17%
Market
49.5%
Tipologia
SO
All devices
Android
48.61%
11.04%
Apple
15.62%
iOS / OS X
Linux based
19.13%
Windows
Altri
3.83%
Altri
Market
14.0%
26.34%
Sistemi Operativi – Stefano Quer
4
Windows
 Microsoft
 Fondata nel 1975 da Bill Gates e Paul Allen
 Nel 1981 commercializza MS-DOS
 Dal 1985 commercializza Windows
 Sistema operativo con interfaccia grafica a finestre
(da cui il nome)
 Orientato a processori Intel
 Controlla tra l’80 e il 90% del mercato dei desktop
(includendo tutte le versioni in uso)
Sistemi Operativi – Stefano Quer
5
Windows: Versioni
Server
Windows NT 3.1, 3.5, 3.51, 4.0 (dal 1993), Windows
2000, Windows Server 2003, 2003 R2, 2008, 2008 R2,
2012, 2012 R2
Device embedded
Windows CE, Windows Embedded, Windows Phone,
Windows Mobile, Windows RT, ...
Desktop
Windows 1.01-3.2 (dal 1985 al 1993)
Windows 95, 98, ME (Windows 9x) (dal 1993)
Windows XP (dal 2001)
Windows Vista (dal 2007): disponibile nelle versioni
home premium, business, enterprise, ultimate
Windows 7 (dal 2009): disponibile nelle versioni basic,
premium, professional, enterprise, ultimate, thin PC
Windows 8, 8.1 (dal 2012): disponibile in versione
standard, pro, enterprise
Windows 10 (dal 2015)
Sistemi Operativi – Stefano Quer
6
Windows: Versioni
16 bit
Windows 1.0 (1985) - Windows 3.1 (1992)
Concepito per essere portabile
Introduce mouse e GUI (Graphical User Interface)
Basato su BIOS e DOS per tutte le funzioni di base
16-32 bit
Windows 9x (1993-2000)
Derivate da MS-DOS e dalla versioni a 16 bit
Introduce un proprio kernel
Il parziale insuccesso porta alla commerzializzazione
parallela di Windows NT (interamente su 32 bit)
32- 64 bit
Da Windows NT (NT = New Technology?)
Abbandona la filosofia MS-DOS
Introduce un nuovo kernel (micro-kernel ibrido di
ispirazione UNIX)
Permette la gestione multi-utente, multi-tasking,
multi-processore
Sistemi Operativi – Stefano Quer
7
MAC OS
 Apple
 Dal 1984 al 2001 commercializza MAC OS
 Versione di SO completamente grafica
 Raggiunge limiti strutturali di sviluppo alla fine del
’90, non permettendo
● Multitasking preemptivo
● Memoria protetta
 Dal 2001 commercializza MAC OS X
 Nato per computer Macintosh
 Inizialmente retro-compatibile con MAC OS
 Basato su architettura UNIX della famiglia BSD e
100% compliant standard POSIX
Sistemi Operativi – Stefano Quer
8
MAC OS X
 Inizialmente MAC OS X utilizzava una struttura a
micro-kernel basata su
 Spostamento servizi da kernel a spazio utente
 Comunicazioni gestire con scambio di messaggi
 Questo implicava un degrado delle prestazioni dovuto
alla comunicazione tra gli utenti e il kernel
 Le ultime versioni di MAC OS X utilizzano una
struttura ibrida stratifica a tre strati includente
 Tutte le più comuni utility e shell di UNIX
 Una macchina Java nativa
 I principali linguaggi di scripting (Perl, Python, etc.)
Sistemi Operativi – Stefano Quer
9
MAC OS X: Caratteristiche
 Architettura proprietaria molto chiusa in termini
di SO e applicativi
 Esegue direttamente molti programmi GNU Linux
(con makefile)
 Micro-kernel facilmente estendibile
 Adattabile a nuove architetture hardware
 Affidabilità elevata (compiti del kernel limitati)
 Sicurezza elevata
 Diffusione non eccessiva
 Architetture e software costosi
 Market share mantenuto in buona parte per
l’appealing del marchio
Sistemi Operativi – Stefano Quer
10
UNIX / Linux
 UNIX nasce nel 1970 per la programmazione del
PDP11 (minicomputer Digital 1970-1990)
 Nonostante la relativa elevata portabilità gli anni
‘80 vedono una notevole proliferazione di versioni
 Diversi enti (e.g., il governo USA) richiedono la sua
standardizzazione
 Uno standard specifica l’interfaccia del SO
 Per ciascun standard possono esistere diverse
implementazioni reali (e commercializzate da
"vendor" distinti)
 Una implementazione è in genere un sotto-insieme
dello standard
Sistemi Operativi – Stefano Quer
11
UNIX/Linux: Standard
ISO C
1972: UNIX viene migrato dall’assembler al linguaggio
C. Nel tempo si susseguono diverse versioni dello
standard C: ANSI C (1989), ISO C o C90 (1990), ISO C
o C99 (1999), C11 (2011)
POSIX
POSIX = Portable Operating System Interface
Famiglia di standard nata per promuovere la portabilità
dei sistemi UNIX a livello mondiale
Definisce i servizi che ogni sistema UNIX deve
soddisfare per essere "POSIX compliant"
Include lo standard ISO C
SUS
SUS = Single UNIX Specification
Progetto nato nella metà degli anni ’80, sovrainsieme di POSIX. Definisce quanto un sistema
operativo deve rispettare per fregiarsi del nome
UNIX
Sistemi Operativi – Stefano Quer
12
UNIX/Linux: Implementazioni
 AT&T Bell Laboratories, Berkeley Software
Distridution (BSD), Free-BSD, Solaris (SUN
Microsystems), MAC OS X, etc.
 Linux
 Sviluppato a partire da Minix (Tanenbaum)
 Creato nel 1991 da Linus Torvalds (Helsinki)
 Nato per scopi didattici diviene presto software
libero (differenza principale da altri sistemi UNIX)
 Permesso utilizzo e sviluppo
 Coperto da "GNU Public License"
 L’elemento comune è il kernel ("Linux" identifica il
"kernel") ma esistono diverse distribuzioni
Sistemi Operativi – Stefano Quer
13
Linux: Distribuzioni
Distribuzione
Caratteristiche
CentOS
Derivata da RedHat Entrerprise; orientata al mercato
aziendale
Debian
Contiene solo software libero
Fedora
Realizzata da GNU/Linux, sponsorizzata da Red Hat
Mandriva
Originariamente Mandrake, per utenti meno esperti
Red Hat
Sviluppata sino al 2004. Sostituita da Red Hat Enterprise
SuSE
Sviluppata da Novel
Slackware
Longeva (dal 1993). Pubblico esperto
Ubuntu
Attualmente la più diffusa; Basata su Debian; completa e
semplice; propone diverse derivazioni ufficiali: EduUbuntu
(educational), Kubuntu (KDE), Lubuntu (LXDE), Ubuntu
Mobile, etc.
Sistemi Operativi – Stefano Quer
14
Linux: Caratteristiche
 SO sviluppato su base globale
 Diffusione
 Desktop 1.6% (2014)
 Server 60% (2008)
 Il 95% deigli effetti visivi e animazioni di Hollywood
(e.g., Titanic 1997) sono sviluppati su sistemi Linux
 Complessità di Debian 4.0 (2007)
 283 milioni di righe di codice
 Con mezzi convenzionali lo sviluppo richiederebbe
73000 anni uomo e 8.16 miliardi di $
 Alcuni lo considerano come il SO più evoluto
 Punto di riferimento per lo sviluppo del kernel
Sistemi Operativi – Stefano Quer
15
Confronti
 Il confronto tra SO
 È spesso argomento di discussione tra i vari utenti
 È complesso
 Esistono diverse versioni con caratteristiche diverse
(desktop, server, mobile)
 Prezzi e supporto variano con le versioni
 Per ogni affermazione trovata su testi o risorse in
rete ne esiste almeno una di senso opposto
Sistemi Operativi – Stefano Quer
16
Confronti
 La maggior parte del dibattito si concentra su
 Windows: poco stabile
 MAC OS X – IOS: elegante e "sexy"
 Linux: Difficile da usare e software poco
disponibile
 Queste considerazioni sono basate
principalmente sulle versioni più obsolete dei SO
 Molte considerazioni dipendono dalle mode
 In pratica SO diversi possono co-esistere e essere
utilizzati per scopi diversi
Sistemi Operativi – Stefano Quer
17
Diffusione
Windows
Circa 80.0% nel desktop
Pre-installato su quasi tutti i desktop e laptop
MAC OS X
Nel 2011
• Circa il 14.0% negli Stati Uniti
• Circa il 6.5% a livello mondiale
Pre-installato su tutti i sistemi Apple
Se non si ha un computer MAC non lo si può utilizzare
Linux
Nel 2014
• 2.0% sui desktop
• 60.0% nei server
Raramente pre-installato
Sistemi Operativi – Stefano Quer
18
Costi e licenze
Windows
SO con costo dell’ordine di 100$
Il software aggiuntivo è spesso proprietario (End User
Licence Agreement EULA)
MAC OS X
SO generalmente più caro di Windows
Software proprietario
Linux
SO free, basta farne il dowload dalla rete
Software libero (GPL)
 Microsoft considera Linux e l’open source
minaccia crescente al mercato
Sistemi Operativi – Stefano Quer
19
Installazione
Windows
Semplificata da Windows XP in poi
Richiede sino a 60 minuti
Il software aggiuntivo è spesso a pagamento
Molti driver vanno installati separamente anche se il
procedimento è automatico
MAC OS X
Preinstallato
Si deve re-installare raramente
Aggiornamenti automatici
Permette l’utilizzo solo di software specifico
Linux
Modalità variabili a seconda dell’edizione
Richiede da 5 a 60 minuti
Molte alternative sono già preinstallate
Il software è libero per la maggior parte
I driver liberi sono pre-installati, quelli proprietari
vanno scaricati da repository
Sistemi Operativi – Stefano Quer
20
Stabilità
Windows
Aumentata con il kernel NT
Richiede riavvii frequenti
Dal kernel NT il task manager permette di chiudere i
processi dannosi
MAC OS X
Molto stabile
Avvantaggiato dall’essere utilizzato solo su computer
Apple
Linux
Linux ha una struttura modulare fortemente stabile
Va riavviato solo dopo l’aggiornamento del kernel
(esistono SO Linux mai riavviati per anni)
Gestione dei processi da riga di comando
Sistemi Operativi – Stefano Quer
21
Sicurezza
Windows
Scoperti circa 11,000 malaware nel 2005
Indispensabile procurarsi antivirus, antispam, etc.
Una volta infettato risulta difficile liberarsi del
problema
MAC OS X
Praticamente esente da virus
Questo è principalmente dovuto alla sua relativa
minore diffusione
Linux
Essendo "open" è virtualmente più insicuro di MAC
Scoperti 800 malaware
Estremamente difficile venga infettato da un virus in
pratica
 I kernel monolitici sono più soggetti a problemi
(infettato un componente il problema di diffonde)
 Se l’utente di root (super-user) è separato i
problemi sono minori
Sistemi Operativi – Stefano Quer
22
Aspetto
Windows
Unico desktop solo parzialmente modificabile
Fornisce prompt-comandi MS-DOS
PowerShell e Cygwin (GPL) permettono di ottenere una
shell UNIX-like
MAC OS X
Se Windows sembra OK, MAC in genere è più piacevole
Linux
Diverse alternative (GNOME, KDE, FluxBox,
Enlightment, etc.)
Le shell sono completamente integrate con la console
Sistemi Operativi – Stefano Quer
23
Prestazioni
Windows
Soprattutto Windows Vista e Windos 7 richiedono
moltissime risorse
Generalmente lenti tanto al boostrap quanto per
eseguire applicazioni varie
MAC OS X
Nel 2006 circa 2 volte più lento di Windows e Linux
Miglioramenti notevoli negli ultimi anni
Nel 2012 MAC OS X e Windows hanno performance
simili su diverse applicazioni
Eccellente per applicazioni grafiche non sempre riesce
a gestire l’hyper-threading della CPU in modo efficiente
Linux
Ipoteticamente più efficiente
Sfrutta l’hardware in maniera eccellente con
prestazioni paragonabili alle costose workstation UNIX
Su applicazioni CPU-intensive risulta 2-3 volte più
veloce di MAC OS X
Sistemi Operativi – Stefano Quer
24
Confronto sinottico
Caratteristica
Windows
MAC OS X
Linux
Price
≥ 100$
≥ 100$
Free
Ease
Easy
Easy
Average
Average
Good
Excellent
High
High
Good
≥ 200$
≥ 200$
Free
Very large
Good
Average
Average
Good
Excellent
No
No
Yes
Proprietary
Proprietary
Online
Reliability
Software #
Software cost
Hardware
support
Security
Open Source
Support