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