movimentiamoci il concetto di software e introduzione ai principali sistemi operativi

25
MoviMentiAmoCi www.movimentiamoci.i t Il concetto di software e introduzione ai principali Sistemi Operativi

Upload: flavio-cavallaro

Post on 01-May-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Il concetto di software e introduzione ai principali Sistemi Operativi

Page 2: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Sommario

Introduzione al concetto di software

Il sistema Operativo

Struttura del Sistema OperativoPrincipali caratteristiche di un Sistema OperativoTipologie di sistemi operativiModello a Strati

I Sistemi Operativi LinuxI Sistemi Operativi della famiglia Mac OsI Sistemi Operativi della famiglia Microsoft WindowsI software applicativi

Page 3: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Introduzione al concetto di software

Software: programmi che vengono eseguiti dal sistema.

Il confine fra Hardware e Software è sfumato: la “terra di nessuno” è occupata da uno strato di microprogrammi, firmware, che sono scritti sulle memorie permanenti del calcolatore direttamente dai costruttori del calcolatore.

Si distingue generalmente tra:

‣ Software di base

‣ Software applicativo

Page 4: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Le componenti hardware di un calcolatore per poter essere utilizzate da applicativi software o utenti hanno bisogno di una serie di strumenti software;

Tali software vengono di solito denominati software di sistema o di base;

Di solito vengono forniti a corredo dell’hardware con l’obiettivo di gestire in modo efficace ed efficiente le risorse fisiche di un sistema informatico e semplificare l’interazione dell’utente con il sistema;

Questo insieme di programmi prende il nome di Sistema Operativo,

Il sistema operativo mostra il sistema informatico all’utente come un erogatore di servizi;

A tali servizi è associata l’esecuzione di uno o più programmi specifici;

Il Sistema Operativo [1]

Page 5: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Le funzioni del sistema operativo•Obiettivo del sistema operativo è quello di permettere ad utenti o ad applicativi software un efficace ed efficiente utilizzo delle risorse fisiche presenti nel sistema informatico. In particolare garantire la corretta elaborazione e trasmissione dell’informazione;

•Nascondere all’utente il problema della localizzazione delle risorse permettendo allo stesso di accedere alle applicazioni da ogni luogo e in ogni momento;

•Garantire l’affidabilità, la disponibilità, la sicurezza e la privatezza dei dati;

•Favorire l’interoperabilità fra dispositivi hardware e software che in genere sono forniti da diversi produttori;

•Risolvere il problema della limitazione delle risorse da utilizzare attraverso un’opportuna gestione delle politiche di accesso alle stesse da parte di utenti e applicativi;

Il Sistema Operativo [2]

Page 6: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Le funzioni che il sistema operativo è chiamato a svolgere sono:•Esecuzione di applicazioni: il sistema operativo gestisce operazioni del tipo caricamento di programmi, inizializzazione di dispositivi, gestione di risorse

•Accesso ai dispositivi di ingresso/uscita: maschera tutta la problematica del controllo delle periferiche permettendo all’utente di operare in termini di operazioni astratte

•Archiviazione di dati e programmi: il sistema operativo fornisce all’utente la possibilità di organizzare logicamente i dati

•Controllo di accesso: in sistemi che prevedono l’utilizzo condiviso di una stessa risorsa è necessario introdurre meccanismi di protezione e di risoluzione di eventuali conflitti

•Contabilizzazione: talvolta l’uso delle risorse può essere soggetto a monitoraggio al fine di ottimizzare il tempo di risposta o di fatturare agli utenti il costo di impiego del sistema

•Gestione di malfunzionamenti

Il Sistema Operativo [3]

Page 7: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Elementi di un sistema operativo

•All’interno di un sistema operativo si possono identificare I seguenti componenti:

•Sistema di gestione del processore

•Sistema di gestione della memoria

•Sistema di gestione delle periferiche

•Sistema di gestione dei file (file system)

•Sistema di gestione degli utenti e dei relativi comandi (interprete dei comandi)

•Sistema di gestione della rete

Il Sistema Operativo [4] : Struttura

Page 8: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Il sistema operativo è quindi un insieme di programmi che sono in grado di controllare altri programmi eseguiti dallo stesso processore

E’ opportuno sottolineare che sebbene vi siano delle forti analogie fra applicativi e sistemi operativi vi sono delle importanti differenze:

I programmi applicativi hanno accesso ad un insieme ridotto di risorse.

I programmi applicativi non possono stabilire autonomamente quando e come accedere alle risorse del sistema, ma sono costretti a chiedere al sistema operativo l’esecuzione di alcuni servizi.

Il Sistema Operativo [5]: Struttura

Page 9: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Unix fu progettato a partire dal 1969 da alcuni menti libere di una compagnia telefonica statunitense, gli AT&T, presso i Bell Labs, laboratori di ricerca e sviluppo. Esso prese notevole spunto dal padre Multics, e grazie all'ottimo lavoro di queste persone divenne un sistema molto interattivo, affidabile e ricco di funzionalità, tanto che, nelle sue varianti ed evoluzioni, tuttora domina il mercato delle Workstation.

Da esso furono realizzate varianti come BSD e sistemi Unix-like come Minix, e successivamente l'ormai famosissimo Linux sviluppato dallo studente finlandese Linus Torvalds.

I sistemi operativi: Linux [1]

Page 10: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Multiutente: più utenti possono interagire contemporaneamente (da terminali diversi) con il sistema.

Multiprogrammato: il suo nucleo può supportare la contemporanea esecuzione di più processi gestiti a divisione di tempo.

Gestione della memoria virtuale: il sistema di gestione della memoria in Unix si basa su paginazione e segmentazione. Queste caratteristiche consentono ad ogni processo di indirizzare un'area di memoria di dimensioni eventualmente superiori a quelle della memoria centrale effettivamente disponibile.

Portabile: grazie all'impiego del linguaggio C nella realizzazione del sistema, esso gode di un'elevata portabilità, ed è oggi disponibile su una vastissima gamma di diverse architetture.

Ambiente di sviluppo per programmi C: Linux mantiene tuttora uno stretto legame con il linguaggio C. Questa relazione si manifesta anche nella disponibilità all'interno delle utilità di sistema di un insieme piuttosto ricco di strumenti per lo sviluppo di applicazioni C.

I sistemi operativi: Linux [2]

Page 11: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Steve Jobs era uno dei pochi che credeva nell'idea del Personal Computer. Jobs era convinto che il futuro del Personal Computer sarebbe stato legato all‘interfaccia grafica. E così,Apple lanciò nel 1984 Mac Os il primo sistema operativo per Personal Computer con interfaccia grafica. Questa fu una vera rivoluzione tanto che di lì a poco Microsoft avrebbe commercializzato Windows.

Mac OS viene utilizzato particolarmente nell'editoria, nella grafica pubblicitaria, negli studi di registrazione musicali e per i piccoli uffici o per uso personale. La fama del Macintosh è dovuta in gran parte alla sua interfaccia utente grafica (GUI). Altre caratteristiche peculiari del primo Macintosh (per l'epoca) furono l'utilizzo standard di un mouse e di un lettore per dischetti da tre pollici e mezzo.

I sistemi operativi della famiglia Mac Os [1]

Page 12: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Il nome Mac OS è riferito a due famiglie di sistemi operativi:

Il Mac OS Classic, cioè il sistema operativo montato sul primo modello di Macintosh nel 1984.

L'attuale Mac OS X, completamente riscritto e basato su piattaforma Unix, commercializzato a partire dal 2001

Il vecchio Mac Os soffriva ancora di molte limitazioni come la mancanza del multitasking e della memoria protetta. Il Mac OS X, non è una semplice evoluzione del Mac OS Classic, ma è stato completamente riscritto e costituisce, di fatto, un sistema operativo diverso. Mac OS X è basato su piattaforma Unix. Successivamente Apple ha reso liberamente disponibile parte del codice sorgente del sistema con una licenza open source.

I sistemi operativi della famiglia Mac Os [2]

Page 13: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Windows è un sistema operativo concepito fin dall'inizio per essere portabile su differenti architetture.

Ha un’interfaccia ad alto livello al programmatore, costituita dalle Windows API, cioè l’insieme delle interfacce di programmazione, che hanno mantenuto una forma sostanzialmente immutata dalla prima versione di Windows ad oggi.

Windows è sin dall'origine un sistema operativo grafico, pensato per essere utilizzato con il mouse, e a differenza dei sistemi Linux l'interfaccia grafica è un componente essenziale non opzionale, tanto da definirlo un sistema WYSIWYG (what you see is what you get).

Il successo di Windows si deve, rispetto al Macintosh, al suo minor costo.

I sistemi operativi della famiglia Windows [1]

Page 14: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Gestione dell’interfaccia

Gestione dell’hardware

Gestione degli utenti

Gestione della memoria

Gestione dei processi

Gestione del file system

Utilità di sistema

I sistemi operativi della famiglia Windows [2]

Page 15: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Windows gestisce lo schermo dell’elaboratore utilizzando la metafora di una scrivania (desktop)

Sul desktop è possibile memorizzare oggetti, descritti sotto forma di icone

Alcune icone identificano oggetti particolari e sono inserite dal S.O.

Altre icone identificano applicazioni o documenti e sono gestite dall’utente

I sistemi operativi della famiglia Windows [3]: interfaccia

Page 16: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

I sistemi operativi della famiglia Windows [4]: interfaccia

Il desktop

Page 17: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Ogni applicazione è generalmente associata a una finestra

Sul desktop si possono sovrapporre più finestre (i.e. più applicazioni)

Cliccando su una finestra questa viene portata in primo piano (focus): l’applicazione relativa può accettare input

Una finestra può essere in stato normale, massimizzato o minimizzato

I sistemi operativi della famiglia Windows [5]: interfaccia

Page 18: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Le operazioni fondamentali di un’applicazione vengono organizzate in una struttura gerarchica detta menù, inserita sotto il titolo della finestra

Le operazioni tipiche di un particolare contesto sono raggruppate in un menù contestuale, accessibile facendo clic col pulsante destro.

I sistemi operativi della famiglia Windows [6]: interfaccia

Page 19: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Icone

Pulsanti

Aree di testo

Altri controlli(liste, combo-box, …)

I sistemi operativi della famiglia Windows [7]: interfaccia

Page 20: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Il s.o. richiama una serie di moduli (driver) specializzati ognuno nella gestione di un particolare dispositivo hardware montato sull’elaboratore.

Questi moduli forniscono le funzionalità di base alle rimanenti componenti del S.O.

In questo modo lo stesso sistema operativo gira su macchine differenti, a patto di caricare i driver opportuni ( i driver si trovano nei cd allegati alle periferiche che acquistate)

I sistemi operativi della famiglia Windows [8]: hardware

Page 21: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Il file system è la componente del sistema operativo preposta alla gestione delle informazioni memorizzate permanentemente, che risiedono tipicamente su disco

Le componenti di un file system sono

Il file La directory

I sistemi operativi della famiglia Windows [9]: file system

Page 22: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

I sistemi operativi della famiglia Windows [10]: file system

Tabella di allocazione file (FAT, File Allocation Table)File system utilizzato da MS-DOS e altri sistemi operativi Windows per organizzare e gestire file. La tabella di allocazione file è una struttura di dati creata da Windows durante la formattazione di un volume tramite il file system FAT o FAT32. In Windows le informazioni sui diversi file vengono memorizzate nella tabella FAT, in modo da poter recuperare i file in un momento successivo.

FAT32Derivato dal file system FAT, rispetto a quest'ultimo FAT32 supporta cluster di dimensioni inferiori e volumi più elevati, grazie alll'aumento del numero di bit di indirizzo, per un'allocazione più efficiente dello spazio sui volumi FAT32.

Page 23: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

I sistemi operativi della famiglia Windows [20]: file system

File System NTFSFile system avanzato che offre livelli di prestazioni, protezione e affidabilità nonché funzionalità avanzate non disponibili in nessuna versione del file system FAT. Ad esempio, NTFS garantisce la coerenza dei volumi tramite tecniche standard di registrazione delle transazioni e di recupero: in caso di errore di sistema, NTFS utilizza le informazioni del file registro e del punto di arresto per ripristinare uno stato coerente del file system. In Windows 2000 e Windows XP NTFS offre inoltre funzionalità avanzate, come le autorizzazioni per file e cartelle, la crittografia, le quote del disco e la compressione.

Page 24: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

I software applicativi [1]

Da notare che i programmi applicativi risentono in misura ridotta o nulla delle caratteristiche architetturali del sistema sottostante; ciò consente di “trasportare” programmi applicativi da un sistema informatico a un altro con facilità.

Diverse categorie

Al di sopra del SO e del restante software di base troviamo i programmi applicativi, che vengono scritti per risolvere specifici problemi utilizzando linguaggi di programmazione di alto livello.

Page 25: MoviMentiAmoCi  Il concetto di software e introduzione ai principali Sistemi Operativi

MoviMentiAmoCiwww.movimentiamoci.it

Utilità di Sistema - si tratta di programmi che servono per migliorare la gestione e la sicurezza della macchina, come ad esempio gli antivirus, oppure programmi per l'ottimizzazione delle risorse, per il controllo dello stato del sistema, la ripulitura dell'hard disk, ecc.

Office Automation - programmi di ausilio nei normali lavori d'ufficio, quindi creazione e elaborazione di testi (word processor), gestione di basi di dati (database), fogli di calcolo, posta elettronica, navigazione in Internet, ecc.

Applicazioni aziendali - programmi creati per le necessità specifiche delle aziende, come ad esempio i programmi per la fatturazione o per la gestione del personale, dei magazzini, dei macchinari industriali. Spesso si tratta di programmi creati ad hoc da aziende di produzione software.

Strumenti di sviluppo - programmi per la creazione di oggetti multimediali (pagine Web, animazioni e CD interattivi), elaborazione audio/video/immagini, programmi che servono per la creazione di nuovi applicativi (authoring tools).

Giochi e svago - giochi, emulatori, lettori audio e video.

I software applicativi [2]