Il concetto di software e introduzione ai principali sistemi operativi
Download
1 / 78

Il concetto di software e introduzione ai principali Sistemi Operativi - PowerPoint PPT Presentation


  • 193 Views
  • Uploaded on

Il concetto di software e introduzione ai principali Sistemi Operativi. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Il concetto di software e introduzione ai principali Sistemi Operativi' - corine


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Sommario l.jpg

Introduzione al concetto di software Operativi

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

Sommario


Slide3 l.jpg

Introduzione al concetto di software Operativi

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


Slide4 l.jpg

Il Sistema Operativo [1] Operativi

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;


Slide5 l.jpg

Il Sistema Operativo [2] Operativi

  • 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;


Slide6 l.jpg

Il Sistema Operativo [3] Operativi

  • 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


Slide7 l.jpg

Il Sistema Operativo [4] : Struttura Operativi

  • 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


Slide8 l.jpg

Il Sistema Operativo [5]: Struttura Operativi

  • 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.


Slide9 l.jpg

Il Sistema Operativo [6]: Struttura Operativi

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;


Slide10 l.jpg

Il Sistema Operativo [7]: Struttura Operativi

  • 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


Slide11 l.jpg

Il Sistema Operativo [1]: Principali caratteristiche Operativi

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


Slide12 l.jpg

Il Sistema Operativo [2]: Principali caratteristiche Operativi

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


Slide13 l.jpg

Il Sistema Operativo [3]: Principali caratteristiche Operativi

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


Slide14 l.jpg

Il Sistema Operativo [4]: Principali caratteristiche Operativi

Sfruttamento dei tempi di attesa per le operazioni di ingresso/uscita tramite la tecnica del time-sharing


Slide15 l.jpg

Il Sistema Operativo [5]: Principali caratteristiche Operativi

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.


Slide16 l.jpg

Il Sistema Operativo [1]: Tipologie Operativi

  • 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


Slide17 l.jpg

Il Sistema Operativo [2]: Tipologie Operativi

  • 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


Slide18 l.jpg

Il Sistema Operativo [3]: Tipologie Operativi

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


Slide19 l.jpg

Il Sistema Operativo [4]: Tipologie Operativi

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.


Slide20 l.jpg

Il Sistema Operativo [1]: Modello a strati Operativi

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à


Slide21 l.jpg

Il Sistema Operativo [2]: Modello a strati Operativi

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


Slide22 l.jpg

Il Sistema Operativo [3]: Modello a strati Operativi

struttura di base di un calcolatore


Slide23 l.jpg

Il Sistema Operativo [4]: Modello a strati Operativi

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


Slide24 l.jpg

Il Sistema Operativo [5]: Modello a strati Operativi

  • 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


Slide25 l.jpg

Memoria Operativi

Video/Tastiera

Memoria

di massa

(terminale)

di lavoro

Interfaccia I/O

Interfaccia I/O

dati

indirizzi

controllo

CPU

CPU

CPU

CPU

virtuale

virtuale

virtuale

virtuale

processo

processo

processo

processo

Memoria

Memoria

Memoria

Memoria

Il Sistema Operativo [6]: Modello a strati

schema di funzionamento

Bus


Slide26 l.jpg

Il Sistema Operativo [7]: Modello a strati Operativi

  • 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


Slide27 l.jpg

Memoria Operativi

Memoria

di massa

di lavoro

Interfaccia I/O

dati

indirizzi

BUS

controllo

CPU

I/O

CPU

I/O

virtuale

virtuale

virtuale

virtuale

I/O

I/O

processo

processo

virtuale

virtuale

Memoria

Memoria

Il Sistema Operativo [8]: Modello a strati

schema di funzionamento


Slide28 l.jpg

Il Sistema Operativo [9]: Modello a strati Operativi

  • 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.


Slide29 l.jpg

Il Sistema Operativo [10]: Modello a strati Operativi

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.


Slide30 l.jpg

Il Sistema Operativo [11]: Modello a strati Operativi

  • 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


Slide31 l.jpg

Il Sistema Operativo [12]: Modello a strati Operativi

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


Slide32 l.jpg

Il Sistema Operativo [13]: Modello a strati Operativi

  • 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)


Slide33 l.jpg

Il Sistema Operativo [14]: Modello a strati Operativi

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


Slide34 l.jpg

Il Sistema Operativo [15]: Modello a strati Operativi

Organizzazione ad albero di un file system:


Slide35 l.jpg

Il Sistema Operativo [16]: Modello a strati Operativi

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.


Slide36 l.jpg

Il Sistema Operativo [17]: Modello a strati Operativi

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)


Slide37 l.jpg

I sistemi operativi: Linux [1] Operativi

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.


Slide38 l.jpg

I sistemi operativi: Linux [2] Operativi

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.


Slide39 l.jpg

I sistemi operativi della famiglia Mac Os [1] Operativi

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.


Slide40 l.jpg

I sistemi operativi della famiglia Mac Os [2] Operativi

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.


Slide41 l.jpg

I sistemi operativi della famiglia Windows [1] Operativi

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.


Slide42 l.jpg

I sistemi operativi della famiglia Windows [2] Operativi

  • Gestione dell’interfaccia

  • Gestione dell’hardware

  • Gestione degli utenti

  • Gestione della memoria

  • Gestione dei processi

  • Gestione del file system

  • Utilità di sistema


Slide43 l.jpg

I sistemi operativi della famiglia Windows [3]: interfaccia Operativi

  • 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



Slide45 l.jpg

I sistemi operativi della famiglia Windows [5]: interfaccia Operativi

  • 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


Slide46 l.jpg

I sistemi operativi della famiglia Windows [6]: interfaccia Operativi

  • 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.


Slide47 l.jpg

I sistemi operativi della famiglia Windows [7]: interfaccia Operativi

  • Icone

  • Pulsanti

  • Aree di testo

  • Altri controlli(liste, combo-box, …)


Slide48 l.jpg

I sistemi operativi della famiglia Windows [8]: hardware Operativi

  • 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)


Slide49 l.jpg

I sistemi operativi della famiglia Windows [9]: utenti Operativi

  • 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.


Slide50 l.jpg

I sistemi operativi della famiglia Windows [10]: utenti Operativi

  • 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.


Slide51 l.jpg

I sistemi operativi della famiglia Windows [11]: utenti Operativi

  • 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.


Slide52 l.jpg

I sistemi operativi della famiglia Windows [12]: utenti Operativi

  • 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


Slide53 l.jpg

I sistemi operativi della famiglia Windows [13]: processi Operativi

  • 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


Slide54 l.jpg

I sistemi operativi della famiglia Windows [14]: processi Operativi

  • 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


Slide55 l.jpg

I sistemi operativi della famiglia Windows [15]: processi Operativi

  • 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)


Slide56 l.jpg

I sistemi operativi della famiglia Windows [16]: processi Operativi

  • 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


Slide57 l.jpg

I sistemi operativi della famiglia Windows [17]: memoria Operativi

  • Windows alloca direttamente la memoria alle varie applicazioni, in modo “trasparente” (invisibile) all’utente

  • E’ comunque possibile verificarequanta memoria è disponibileeseguendo Task Manager eselezionando il tab Prestazioni


Slide58 l.jpg

I sistemi operativi della famiglia Windows [18]: file system Operativi

  • 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


Slide59 l.jpg

I sistemi operativi della famiglia Windows [19]: file system Operativi

  • 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.


Slide60 l.jpg

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

  • 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.


Slide61 l.jpg

I sistemi operativi della famiglia Windows [21]: file system Operativi

  • 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


Slide62 l.jpg

I sistemi operativi della famiglia Windows [22]: file system Operativi

  • 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


Slide63 l.jpg

I sistemi operativi della famiglia Windows [23]: file system Operativi

file

radice

directory

applicazioni

Lezioni informatica

Cartella sistema

prima sett.

videoscrittura

Programma.exe

Internet

Seconda sett.

Lezione.txt

Laboratorio.xls


Slide64 l.jpg

I sistemi operativi della famiglia Windows [24]: file system Operativi

  • 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


Slide65 l.jpg

I sistemi operativi della famiglia Windows [25]: file system Operativi

  • 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


Slide66 l.jpg

I sistemi operativi della famiglia Windows [26]: file system Operativi

  • 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


Slide67 l.jpg

I sistemi operativi della famiglia Windows [27]: file system Operativi

  • 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, …)


Slide68 l.jpg

I sistemi operativi della famiglia Windows [28]: file system Operativi

  • 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


Slide69 l.jpg

I sistemi operativi della famiglia Windows [29]: file system Operativi

  • L’estensione di un file può venire nascosta agendo sulle impostazioni del sistema operativo (Soluzione)


Slide70 l.jpg

I sistemi operativi della famiglia Windows [30]: file system Operativi

  • 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.


Slide71 l.jpg

I sistemi operativi della famiglia Windows [31]: file system Operativi

  • Esplora risorse

  • E’ un’applicazione che visualizza simultaneamente la struttura del file system e i file presenti in una particolare directory


Slide72 l.jpg

I sistemi operativi della famiglia Windows [32]: utilities Operativi

  • 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


Slide73 l.jpg

I sistemi operativi della famiglia Windows [32]: utilities Operativi

  • 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.


Slide74 l.jpg

I sistemi operativi della famiglia Windows [33]: utilities Operativi

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.


Slide75 l.jpg

I sistemi operativi della famiglia Windows [34]: utilities Operativi

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).


Slide76 l.jpg

I software applicativi [1] Operativi

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.

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


Slide77 l.jpg

I software applicativi [2] Operativi

  • 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.


Bibliografia l.jpg
Bibliografia Operativi

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


ad