La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il concetto di software e introduzione ai principali Sistemi Operativi.

Presentazioni simili


Presentazione sul tema: "Il concetto di software e introduzione ai principali Sistemi Operativi."— Transcript della presentazione:

1 Il concetto di software e introduzione ai principali Sistemi Operativi

2 Università degli Studi di Salerno Sommario Introduzione al concetto di software Il sistema Operativo  Struttura del Sistema Operativo  Principali caratteristiche di un Sistema Operativo  Tipologie di sistemi operativi  Modello a Strati I Sistemi Operativi Linux I Sistemi Operativi della famiglia Mac Os I Sistemi Operativi della famiglia Microsoft Windows I software applicativi

3 Università degli Studi di Salerno 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

4 Università degli Studi di Salerno 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]

5 Università degli Studi di Salerno 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]

6 Università degli Studi di Salerno 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]

7 Università degli Studi di Salerno 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

8 Università degli Studi di Salerno 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

9 Università degli Studi di Salerno Evoluzione dei sistemi operativi I primi calcolatori non avevano un sistema operativo. Era chi produceva gli applicativi che doveva tenere conto di questi aspetti; Questo rendeva molto critica la fase di identificazione e correzione degli errori; Altri problemi erano legati alla difficoltà di interazione tra l’utente e la macchina (dovuta alla mancanza dell’interfaccia utente) e all’efficienza di gestione delle risorse disponibili; E’ opportuno sottolineare, inoltre, che la macchina consentiva l’esecuzione di un solo programma alla volta e doveva essere fissato in anticipo il tempo dedicato allo stesso (con conseguente introduzione di tempi morti): elaborazione seriale dei programmi; Il Sistema Operativo [6]: Struttura

10 Università degli Studi di Salerno I primi sforzi per soddisfare questi requisiti sono andati nell’ottica di ridurre l’impegno necessario per passare dall’esecuzione di un programma al successivo Obiettivo era quello di conservare in memoria contemporaneamente diversi programmi oltre al sistema operativo Si è passati quindi dai sistemi uniprogrammati a quelli multiprogrammati Nel caso di sistema uniprogrammato in memoria risiede, oltre che il sistema operativo, un solo applicativo Nel caso di sistema multiprogrammato in memoria risiede, oltre che il sistema operativo, più di un programma applicativo Il Sistema Operativo [7]: Struttura

11 Università degli Studi di Salerno I benefici dell’approccio multiprogrammato sono evidenti. Si pensi ad un sistema di elaborazione in cui sia presente un solo processore In questa situazione il processore può eseguire un solo programma per volta: questo caso comporta un ridotto utilizzo del sistema Durante l’attesa, infatti, per le operazioni ingresso/uscita il processore rimane inattivo attendendo il termine delle stesse Nei sistemi uniprogrammati per sfruttare i tempi morti è necessario scaricare il programma residente in memoria e caricare dalla memoria di massa un nuovo programma da mandare in esecuzione Il Sistema Operativo [1]: Principali caratteristiche

12 Università degli Studi di Salerno Nei sistemi uniprogrammati per sfruttare i tempi morti è necessario scaricare il programma residente in memoria e caricare dalla memoria di massa un nuovo programma da mandare in esecuzione: soluzione accettabile solo quando i tempi di attesa siano maggiori rispetto al tempo di caricamento di un programma dalla memoria di massa Nei sistemi multiprogrammati è possibile passare ad altri programmi già presenti in memoria in tempi molto brevi in quanto il tempo di accesso della memoria centrale è tipicamente molto inferiore rispetto a quello della memoria di massa Lo svantaggio di quest’ultima soluzione risiede nell’aumento della complessità del sistema operativo Il Sistema Operativo [2]: Principali caratteristiche

13 Università degli Studi di Salerno Nell’ultimo periodo si è assistito allo sviluppo dei sistemi a partizione di tempo (time- sharing) che simulano un quasi parallelismo nell’accesso alle risorse da parte di più utenti e programmi Al fine di evitare che la CPU venga utilizzata in modo esclusivo da un unico programma, il suo tempo viene idealmente suddiviso in unità elementari dette quanti I quanti possono essere assegnati in accordo ad alcune politiche predefinite ai vari programmi Un esempio di queste politiche può essere quella di assegnare a rotazione la disponibilità di un quanto di tempo della CPU ai vari programmi residenti in memoria (politica detta di round robin) Un miglioramento può essere ottenuto prevedendo l’opzione che un programma possa rinunciare anche prima dello scadere del suo quanto di tempo alla disponibilità della CPU Il Sistema Operativo [3]: Principali caratteristiche

14 Università degli Studi di Salerno Sfruttamento dei tempi di attesa per le operazioni di ingresso/uscita tramite la tecnica del time-sharing Il Sistema Operativo [4]: Principali caratteristiche

15 Università degli Studi di Salerno Nei sistemi moderni il parallelismo nell’esecuzione ha portato a superare il concetto statico di programma; L’entità di riferimento è diventata il processo: unità di esecuzione dinamica che include il programma che viene eseguito e il suo contesto di esecuzione; Il contesto di esecuzione è l’insieme dei dati che sono necessari perché il programma possa essere eseguito; In questo modo l’intera architettura del sistema operativo è concepita come infrastruttura di supporto all’esecuzione concorrente di più processi da parte di più utenti. Il Sistema Operativo [5]: Principali caratteristiche

16 Università degli Studi di Salerno Modelli organizzativi dei sistemi operativi Il sistema operativo è funzionalmente caratterizzato dalla combinazione di un insieme di processi di servizio e di un gestore (detto nucleo) che opera come sistema di controllo dei processi Si possono identificare diverse alternative in riferimento alla collocazione delle funzione di gestione del processore che possono essere fornite sempre in mutua esclusione a un processo alla volta oppure possono essere virtualmente condivise In base a quanto detto esistono due modelli organizzativi di riferimento: Modello monolitico Modello a strati Il Sistema Operativo [1]: Tipologie

17 Università degli Studi di Salerno Modello monolitico Il sistema operativo è costituito da un unico processo che si preoccupa della gestione del sistema I processi applicativi in genere richiedono al sistema operativo l’esecuzione di particolari servizi attraverso quelle che vengono dette chiamate di sistema Si definiscono quindi due modalità di funzionamento Utente: usata per la normale esecuzione dei processi. In questa modalità non è possibile accedere a tutte le risorse del sistema Supervisore: permette lo svolgimento dei servizi richiesti al sistema operativo da parte di un processo Tale approccio è tipico di sistemi semplici dedicati alla gestione di una sola applicazione Il Sistema Operativo [2]: Tipologie

18 Università degli Studi di Salerno Modello a strati Questo modello è caratterizzato da una strutturazione a strati Ognuno di questi strati è costruito a partire da quelli sottostanti. Tale modello garantisce la modularità del sistema che si va a realizzare Le funzioni realizzate dal sistema operativo sono ripartite in componenti fra loro indipendenti e implementate dai processi gestiti dal nucleo Si noti come solo il nucleo resti il componente del sistema operativo dipendente dalle caratteristiche hardware del calcolatore In questo modo vi è una notevole separazione fra i meccanismi e le politiche di gestione delle risorse che in questo modo possono essere stabilite in modo indipendente dall’hardware Il Sistema Operativo [3]: Tipologie

19 Università degli Studi di Salerno Modello a strati In base a quanto precedentemente detto il sistema operativo risulta fortemente portabile (con l’eccezione del nucleo) e adattabile a calcolatori diversi I sistemi operativi attualmente più diffusi adottano un approccio di questo tipo Essi sono strutturati su un modello in ogni strato corrisponde ad una macchina virtuale che usa i servizi del livello sottostante. Il Sistema Operativo [4]: Tipologie

20 Università degli Studi di Salerno La struttura classica di un sistema operativo a livelli, ognuno corrispondente ad una macchina virtuale: al di sopra il sistema operativo si trovano sia i programmi applicativi che quelli di utilità Il Sistema Operativo [1]: Modello a strati Applicativi Interprete dei comandi (shell) Gestore del file (file system) Gestore delle periferiche Gestore della memoria Nucleo Hardware

21 Università degli Studi di Salerno Modello a strati Nel modello proposto: Ogni macchina virtuale è un insieme di programmi che realizza funzionalità utilizzando i servizi forniti dal livello inferiore Ogni macchina virtuale gestisce risorse specifiche del sistema semplificando l’interazione con esse I meccanismi di gestione sono separati dalle politiche di gestione delle risorse Il Sistema Operativo [2]: Modello a strati

22 Università degli Studi di Salerno struttura di base di un calcolatore Il Sistema Operativo [3]: Modello a strati

23 Università degli Studi di Salerno Nucleo Interagisce direttamente con l’hardware Si occupa dell’esecuzione dei programmi Gestisce la risposta ad eventi esterni generati dalle periferiche Attua una politica di alternanza nell’accesso alla CPU da parte dei processi in esecuzione Il nucleo fornisce alle macchine virtuali di livello superiore la visione di un insieme di unità di elaborazione virtuali dedicate ad ogni processo presente in memoria Il Sistema Operativo [4]: Modello a strati

24 Università degli Studi di Salerno Il gestore della memoria Controlla la memoria centrale. Offre ad ogni processo uno spazio di memoria in cui operare. In particolare il gestore della memoria è chiamato a: Proteggere programmi e relativi dati caricati nella memoria di lavoro (evitando conflitti) Nascondere la collocazione fisica dei dati Ruolo di questo componente è offrire alle macchine di livello superiore la possibilità di lavorare come se esse avessero a disposizione una memoria a loro dedicata Il Sistema Operativo [5]: Modello a strati

25 Università degli Studi di Salerno schema di funzionamento Bus Il Sistema Operativo [6]: Modello a strati

26 Università degli Studi di Salerno Il gestore delle periferiche Fornisce una visione astratta del sistema in cui i processi possono operare mediante periferiche astratte Maschera le problematiche connesse alla gestione di tali periferiche Risolve eventuali conflitti di accesso alla periferiche da parte di più processi Il Sistema Operativo [7]: Modello a strati

27 Università degli Studi di Salerno schema di funzionamento Il Sistema Operativo [8]: Modello a strati

28 Università degli Studi di Salerno Le funzionalità che un sistema operativo mette a disposizione dell’utente per interagire con le periferiche consento l’esecuzione di operazioni di lettura e scrittura mediante comandi indipendenti dalla struttura hardware delle periferiche in questione Ciò accade grazie all’introduzione dei: Controller: dispositivi hardware che servono a effettuare a livello fisico le operazioni di trasferimento dei dati con le periferiche. Driver: programmi finalizzati alla gestione delle periferiche. Sebbene vengano prodotti e forniti dai produttori delle periferiche essi fanno parte a tutti gli effetti del sistema operativo. Il Sistema Operativo [9]: Modello a strati

29 Università degli Studi di Salerno Driver Il driver permette al sistema operativo di utilizzare l'hardware senza sapere come esso funzioni, ma dialogandoci attraverso un'interfaccia standard, i registri del controllore della periferica, che astrae dall'implementazione dell'hardware e che ne considera solo il funzionamento logico. In questo modo hardware diverso costruito da produttori diversi può essere utilizzato in modo intercambiabile. Ne consegue che un driver è specifico sia dal punto di vista dell'hardware che pilota, sia dal punto di vista del sistema operativo per cui è scritto. Non è possibile utilizzare driver scritti per un sistema operativo su uno differente, perché l'interfaccia è generalmente diversa. Il driver è scritto solitamente dal produttore del dispositivo hardware, dato che è necessaria un'approfondita conoscenza dell'hardware per poter scrivere un driver funzionante. A volte, i driver vengono scritti da terze parti sulla base della documentazione tecnica rilasciata dal produttore, se questa è disponibile. Il Sistema Operativo [10]: Modello a strati

30 Università degli Studi di Salerno L’interprete dei comandi L’interprete dei comandi è un modulo a cui l’utente può direttamente accedere La sua funzione è quella di interpretare i comandi che gli giungono e di attivare i programmi corrispondenti. Le operazioni che può svolgere sono: Lettura dalla memoria di massa del programma da eseguire Allocazione della memoria centrale Caricamento del programma e dei relativi dati nella memoria allocata Creazione e attivazione del processo corrispondente Il Sistema Operativo [11]: Modello a strati

31 Università degli Studi di Salerno I dati contenuti nella memoria di massa vengono strutturati attraverso la loro organizzazione in file. Un file viene identificato attraverso un nome (filename) composto da due parti, Nome vero e proprio: deciso dall’utente Estensione: assegnata (generalmente) dal sistema in accordo alla tipologia di programma che ha generato il file. Esempi di estensione: Exe: file eseguibili Doc: file generati dal programma di elaborazione testi word Txt: file di testi generici Waw: file audio Mp3: file audio Jpg: file immagine Il Sistema Operativo [12]: Modello a strati

32 Università degli Studi di Salerno La lunghezza del filename può avere delle limitazioni MS-DOS (uno dei primi sistemi operativi) aveva una lunghezza massima per il filename di 11 caratteri (8 per il nome e 3 per l’estensione) Windows XP o Unix (altri sistemi operativi) non hanno questa limitazione Ad ogni file sono, inoltre, associate le seguenti informazioni: Grandezza del file Data e ora della creazione Data di ultima modifica Informazioni che vengono utilizzate direttamente dal sistema operativo (per esempio eventuali protezioni) Il Sistema Operativo [13]: Modello a strati

33 Università degli Studi di Salerno Se il file system avesse un’organizzazione monolitica si andrebbe incontro ad una serie di incovenienti quali per esempio l’impossibilità di non avere più file con lo stesso filename Per risolvere tali problemi i file vengono suddivisi in contenitori logici chiamati directory o cartelle La struttura secondo cui vengono organizzati file e cartelle è detta ad albero Il file system contiene una radice (root) che può contenere file e directory (dette anche sub-directory) che a loro volta possono avere al loro interno file o altre directory Il Sistema Operativo [14]: Modello a strati

34 Università degli Studi di Salerno Organizzazione ad albero di un file system: Il Sistema Operativo [15]: Modello a strati

35 Università degli Studi di Salerno Ciascun file, quindi, viene univocamente identificato attraverso il suo nome completo (detto anche percorso assoluto) Il nome completo si ottiene scrivendo ordinatamente i nomi dei vari nodi che si incontrano a partire dalla radice e intervallati dal carattere di separazione \ Esempio: nel lucido precedente il nome completo del file sci.jpg è \immagini\montagna\sci.jpg Non è possibile avere nel file system due file con lo stesso nome completo ma è possibile avere due file con lo stesso filename a patto che essi siano in cartelle diverse. Il Sistema Operativo [16]: Modello a strati

36 Università degli Studi di Salerno Durante le operazioni di gestione del file system è sempre definita in ogni istante una directory corrente che identifica la posizione attuale dell’utente nel file system E’ possibile quindi identificare un file anche con un suo percorso relativo Se la directory corrente (nell’esempio del lucido precedente) è \video allora il file \video\natale\albero.bmp può essere anche individuato come natale\albero.bmp (la mancanza di \ nel nome indica che il percorso è relativo) Il Sistema Operativo [17]: Modello a strati

37 Università degli Studi di Salerno 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]

38 Università degli Studi di Salerno 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]

39 Università degli Studi di Salerno 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]

40 Università degli Studi di Salerno 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  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.Unix I sistemi operativi della famiglia Mac Os [2]

41 Università degli Studi di Salerno 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]

42 Università degli Studi di Salerno 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]

43 Università degli Studi di Salerno 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

44 Università degli Studi di Salerno I sistemi operativi della famiglia Windows [4]: interfaccia Il desktop

45 Università degli Studi di Salerno 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

46 Università degli Studi di Salerno 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

47 Università degli Studi di Salerno Icone Pulsanti Aree di testo Altri controlli (liste, combo-box, …) I sistemi operativi della famiglia Windows [7]: interfaccia

48 Università degli Studi di Salerno 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

49 Università degli Studi di Salerno Un utente è un’entità in grado di utilizzare alcune risorse di un elaboratore. Ad esempio  persone;  gruppi di persone;  servizi gestiti da particolari programmi. L’accesso a queste risorse può avvenire  a livello locale, accedendo fisicamente all’elaboratore;  a livello remoto, tramite una rete telematica. I sistemi operativi della famiglia Windows [9]: utenti

50 Università degli Studi di Salerno Multiutenza Rappresenta la possibilità per più utenti di accedere alle risorse di un medesimo elaboratore in modalità  simultanea  In tempi differenti La multiutenza divide coloro che accedono al sistema in tre categorie principali:  Amministratori : sono coloro che hanno accesso sull'intero sistema, senza nessuna restrizione, e possono cambiare il livello d'accesso agli altri utenti.  Utenti normali : sono coloro che possono accedere al sistema ma non possono effettuare modifiche sostanziali all'apparato informatico.  Utenti privilegiati : sono coloro che hanno il permesso per accedere alcune zone ristrette agli utenti normali. I sistemi operativi della famiglia Windows [10]: utenti

51 Università degli Studi di Salerno Windows supporta tipicamente la multi-utenza in tempi differenti specificando:  quali utenti possono accedere al sistema;  quali risorse possono utilizzare. La multi-utenza simultanea è disponibile per alcune risorse nelle versioni server e come prodotto separato per altre. I sistemi operativi della famiglia Windows [11]: utenti

52 Università degli Studi di Salerno L’accesso a pc remoti (esempio: accesso ad un server via internet) è accompagnato in genere da restrizioni sull’utilizzo delle risorse disponibile come:  spazio su disco (quote)  esecuzione di programmi  etc. Negli elaboratori usati come client gli utenti accedono in locale, fisicamente l’utente si trova davanti al pc.  noi ci occuperemo di questo ambito I sistemi operativi della famiglia Windows [12]: utenti

53 Università degli Studi di Salerno Un processo è l’immagine di un programma in esecuzione Tipicamente un sistema operativo esegue apparentemente più processi in modo simultaneo, eseguendo ciclicamente una piccola parte di ognuno di essi I sistemi operativi della famiglia Windows [13]: processi

54 Università degli Studi di Salerno Un utente di Windows ha la percezione che vi sia in esecuzione un processo per ogni applicazione eseguita e per ogni oggetto visualizzato. Il passaggio tra i vari processi può essere fatto  Selezionando le finestre corrispondenti.  Utilizzando la taskbar.  Tramite la combinazione di tasti Alt+Tab I sistemi operativi della famiglia Windows [14]: processi

55 Università degli Studi di Salerno Per terminare un processo è possibile Eseguire il comando di uscita (tipicamente disponibile nel menù File) Cliccare sul controllo di chiusura (la croce in alto a destra della relativa finestra) eseguendo l’applicazione Task Manager (attenzione ai programmi che interrompete, il sistema può diventare instabile) I sistemi operativi della famiglia Windows [15]: processi

56 Università degli Studi di Salerno L’applicazione Task Manager viene utilizzata quando non è possibile terminare in altro modo una qualunque applicazione Viene eseguita automaticamente quando si preme CTRL+ALT+CANC In questo caso viene chiesta conferma della chiusura tramite una finestra di dialogo I sistemi operativi della famiglia Windows [16]: processi

57 Università degli Studi di Salerno Windows alloca direttamente la memoria alle varie applicazioni, in modo “trasparente” (invisibile) all’utente E’ comunque possibile verificare quanta memoria è disponibile eseguendo Task Manager e selezionando il tab Prestazioni I sistemi operativi della famiglia Windows [17]: memoria

58 Università degli Studi di Salerno 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 [18]: file system

59 Università degli Studi di Salerno I sistemi operativi della famiglia Windows [19]: 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. FAT32 Derivato 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.

60 Università degli Studi di Salerno I sistemi operativi della famiglia Windows [20]: file system File System NTFS File 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.

61 Università degli Studi di Salerno Un file memorizza permanentemente una serie di informazioni.  Una applicazione (elaboratore testi, visualizzatore di clip multimediali, …)  Dei dati (un documento, un video musicale, ecc…) Una directory (o cartella, o folder) è un contenitore di oggetti, che possono essere file o altre directory I sistemi operativi della famiglia Windows [21]: file system

62 Università degli Studi di Salerno Un file system ha quindi una struttura gerarchica (in particolare, ad albero) nella quale  I file sono le estremità (foglie)  Le directory sono i nodi rimanenti  Esiste un’unica directory (radice) cui fa capo tutta la struttura I sistemi operativi della famiglia Windows [22]: file system

63 Università degli Studi di Salerno radice applicazioni videoscrittura Internet Cartella sistema Lezioni informatica prima sett. Seconda sett. Lezione.txt Laboratorio.xls Programma.exe file directory I sistemi operativi della famiglia Windows [23]: file system

64 Università degli Studi di Salerno Ogni file all’interno del file system è individuato in base alla sua posizione nell’albero, cioè al percorso (pathname o path) che si deve seguire per raggiungerlo partendo dalla radice se voglio indicare il programma del corso di informatica devo specificare il cammino: radice/lezioni_informatica/programma I sistemi operativi della famiglia Windows [24]: file system

65 Università degli Studi di Salerno I nodi di un pathname sono separati dal carattere di backslash (\) Ogni disco è individuato da una lettera seguita dal carattere di due punti (:), e contiene una sua struttura gerarchica C:\Documenti\Lezioni\Lezione1.pdf I sistemi operativi della famiglia Windows [25]: file system

66 Università degli Studi di Salerno La possibilità di inserire directory nelle directory fornisce l’opportunità di creare dei file system strutturati, in cui le informazioni sono memorizzate in modo ordinato In file system ben strutturati risulta più facile localizzare ed accedere alle informazioni in modo veloce I sistemi operativi della famiglia Windows [26]: file system

67 Università degli Studi di Salerno Apertura (doppio click, menù contestuale) Spostamento (copia e incolla, taglia, trascinamento) Copia (copia e incolla, trascinamento) Cancellazione (menù contestuale, trascinamento nel cestino) Altre azioni (stampa, invio per posta elettronica, …) I sistemi operativi della famiglia Windows [27]: file system

68 Università degli Studi di Salerno Ad ogni file è generalmente associata un’estensione consistente in una serie di lettere (tipicamente tre) separate dal nome del file tramite un punto Caratterizza il tipo di file in modo che il sistema operativo lo tratti correttamente L’estensione di un file può venire nascosta agendo sulle impostazioni del sistema operativo I sistemi operativi della famiglia Windows [28]: file system

69 Università degli Studi di Salerno L’estensione di un file può venire nascosta agendo sulle impostazioni del sistema operativo (Soluzione) I sistemi operativi della famiglia Windows [29]: file system

70 Università degli Studi di Salerno Nel file system di windows gli utenti possono specificare le seguenti proprietà:  Nascosto : il file diventa invisibile all’utente.  Solo Lettura : il file si può solo leggere ma non modificare. I sistemi operativi della famiglia Windows [30]: file system

71 Università degli Studi di Salerno I sistemi operativi della famiglia Windows [31]: file system Esplora risorse E’ un’applicazione che visualizza simultaneamente la struttura del file system e i file presenti in una particolare directory

72 Università degli Studi di Salerno Nel menù proprietà dell’hard disk sono presenti i seguenti strumenti o utilities: Scandisk: verifica lo stato dell’hard disk e la presenza di cluster o settori danneggiati ed eventualmente li ripara. Defrag: esegue la deframmenzazione dell’hard-disk, ossia ristruttura l'allocazione dei files presenti facendo in modo che ciascun file risulti memorizzato in zone contigue dal punto di vista fisico; questo diminuisce drasticamente i tempi di accesso ai file. Backup: esegue una copia completa del contenuto dell’hard-disk I sistemi operativi della famiglia Windows [32]: utilities

73 Università degli Studi di Salerno Formattazione hard-disk: L’operazione di formattazione consente di inizializzre l’hard disk, scegliendo un file system e dividendo i pezzi fisici da indirizzare in cluster o unità di allocazione. In Windows, aprendo il menù formatta… dell’hard disk compare la finestra di fianco in cui è visualizzata la dimensione dell’hard-disk, il file system, la dimensione dei cluster e il nome del volume da formattare. In Windows Xp è possibile anche attivare la compressione del volume. I sistemi operativi della famiglia Windows [32]: utilities

74 Università degli Studi di Salerno I sistemi operativi della famiglia Windows [33]: utilities Regedit: Il Registro di configurazione è un'area in cui sono memorizzate tutte le impostazioni hardware e software del PC. Tutte le volte che si cambia qualcosa all'interno di un computer (installazione di un programma, cambio di componenti hardware, ecc...) vengono eseguiti dei cambiamenti all'interno di tale registro. La modifica del registro di configurazione avviene attraverso l'editor Regedit.exe, per poterlo eseguire scegliere il pulsante Start\Esegui e digitare REGEDIT. La differenza fondamenale rispetto ad un qualsiasi altro programma è che ciascuna modifica viene apportata istantaneamente, non è richiesto alcun salvataggio, per cui bisogna stare molto attenti a quel che si fa altrimenti l'intero sistema potrebbe essere compromesso.

75 Università degli Studi di Salerno I sistemi operativi della famiglia Windows [34]: utilities Regedit: E' da notare la struttura gerarchica come per Esplora Risorse, solo che qui ci sono chiavi e sottochiavi e non directory e sottodirectory. A destra si possono notare dei valori (al posto dei file) i quali possono essere di diverso tipo. Tutte le informazioni presenti nel registro sono memorizzate nei file SYSTEM.DAT e USER.DAT. Nel primo file ci sono informazioni riguardanti il computer (all chiave HKEY_LOCAL_MACHINE) mentre nel secondo sono presenti i dati dell'utente (alla chiave HKEY_USER).

76 Università degli Studi di Salerno 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.

77 Università degli Studi di Salerno 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]

78 Università degli Studi di Salerno Bibliografia Sistemi operativi. Concetti ed esempi: concetti ed esempi - Abraham Silberschatz, P. Baer Galvin, Greg Gagne, Vincenzo Marra - Pearson Education Italia, 2006 Modern Operating Systems - Andrew S. Tanenbaum - Prentice Hall, 2008 Operating Systems: Internals and Design Principles - William Stallings - Pearson/Prentice Hall, 2004 Linux - Scott Granneman - Pearson Paravia Bruno Mondadori, 2007 Mac OS X - Bob Le Vitus, Bob Le Vitus Shelly Brisbin, Shelly Brisbin - Apogeo Editore, 2001 Windows XP SP2 - John P. Mueller - Apogeo Editore, 2004


Scaricare ppt "Il concetto di software e introduzione ai principali Sistemi Operativi."

Presentazioni simili


Annunci Google