CORSO DI INFORMATICA E RAPPRESENTAZIONE DIGITALE PDF
Document Details
Uploaded by HardierRooster5292
Università San Raffaele Roma
Noemi Scarpato
Tags
Summary
This presentation provides an overview of computer science topics, including an introduction to computer systems, digital representation, and operating systems. The presentation is from Università San Raffaele Roma.
Full Transcript
Noemi Scarpato CORSO DI INFORMATICA E RAPPRESENTAZIONE DIGITALE Noemi Scarpato Università Telematica San Raffaele Roma Sistemi Operativi 1 di 25 ...
Noemi Scarpato CORSO DI INFORMATICA E RAPPRESENTAZIONE DIGITALE Noemi Scarpato Università Telematica San Raffaele Roma Sistemi Operativi 1 di 25 Noemi Scarpato Cosa Vedremo Nelle Lezioni 1. Fondamenti Dell´Informatica 2. Architetture e Sistemi Operativi 3. Introduzione alle Reti di Calcolatori - INTERNET, IL World Wide Web e i loro servizi. 4. Elaborazione di documenti elettronici 5. Fondamenti di elaborazione multimediale 6. Creazione di Pagine Web. Sistemi Operativi 2 di 25 Noemi Scarpato Architetture e Sistemi Operativi Introduzione al Computer e Rappresentazione dell'Informazione. Architettura della macchina di von Neumann. Dispositivi di memoria,dispositivi di input, dispositivi di output. Classificazioni e architetture. Sistemi Operativi. Introduzione e organizzazione dei sistemi operativi. Gestione dei processi. Gestione della memoria. Gestione dei dispositivi. File system. La sicurezza nei sistemi operativi. Casi di studio: Windows (VISTA,SEVEN) e Linux (Mandriva,Ubuntu). Sistemi Operativi 3 di 25 Noemi Scarpato Sistemi Operativi Definizione: Un sistema operativo è un programma che controlla l’esecuzione di programmi applicativi e agisce come interfaccia tra le applicazioni e l’hardware del calcolatore Obiettivi di un sistema operativo: Semplicità:Deve semplificare l’utilizzazione della macchina da parte degli utenti Astrazione:Deve fornire una visione astratta delle risorse del calcolatore per i programmatori Efficienza:Deve utilizzare in modo efficiente le risorse del calcolatore Protezione:Deve proteggere le risorse del computer e permettere un accesso controllato ad esse Sistemi Operativi 4 di 25 Noemi Scarpato Sistemi Operativi Un Sistema Operativo (S.O.) è il primo software che viene caricato all’accensione di un calcolatore. Una volta completato il caricamento, il S.O. prende il controllo della macchina e permette l’esecuzione di programmi applicativi. I compiti di un S.O. sono sostanzialmente quattro: Rendere semplice l’utilizzazione delle risorse del calcolatore da parte degli utenti. Questo significa che deve fornire un certo numero di servizi, fra cui : – l’esecuzione di programmi, – la gestione della spazio di memorizzazione (dischi, CD-ROM, nastri) Sistemi Operativi 5 di 25 Noemi Scarpato Sistemi Operativi – un’interfaccia grafica che permetta un’interazione naturale con il sistema. Presentare agli utenti una visione astratta delle risorse del calcolatore. Un esempio di astrazione è il concetto di file e Directory: dal punto di vista dell’hardware, un disco rigido non è altro che un insieme di tracce e settori memorizzati su dischi rotanti, acceduti tramite una testina mobile di lettura/scrittura; dal punto di vista del software, un disco rigido è uno spazio di memorizzazione contenente file e Directory. Sistemi Operativi 6 di 25 Noemi Scarpato Sistemi Operativi Il S.O. si occupa di trasformare questa visione astratta (file come sequenze di byte e Directory come insieme di file) in una visione fisica, suddividendo i file in blocchi e registrando ogni blocco negli opportuni settori del disco. Agire come arbitro tra le diverse attività che vengono svolte in un calcolatore, che competono fra loro nell’utilizzo delle risorse. Lo scopo è la gestione efficiente delle risorse; il S.O. deve proteggere le risorse del calcolatore da accessi indesiderati. Sistemi Operativi 7 di 25 Noemi Scarpato Sistemi Operativi I principali servizi offerti dai sistemi operativi sono: Esecuzione di programmi (applicativi e di sistema): I S.O. moderni sono multi-programmabili, ovvero permettono di eseguire più programmi contemporaneamente. Gestione dell’accesso alla memoria (principale e secondaria) del calcolatore: I programmi utilizzano il S.O. per accedere alla memoria principale e a quella secondaria. Sistemi Operativi 8 di 25 Noemi Scarpato Sistemi Operativi Gestione dell’accesso ai dispositivi di I/O: I programmi utilizzano il S.O. per accedere ai dispositivi di I/O. Rilevazione e risposta agli errori: Oltre a gestire il normale funzionamento del sistema, il S.O. deve rispondere in modo appropriato a condizioni eccezionali, quali ad esempio guasti hardware e bachi nel software. Nel primo caso, deve avvisare i programmi con opportune segnalazioni di errore; sarà poi compito di questi ultimi avvertire l’utente nel modo appropriato. Nel caso di bachi, invece, l’esecuzione del programma deve essere interrotta, al fine di evitare interferenze con le altre attività in corso sul calcolatore. Sistemi Operativi 9 di 25 Noemi Scarpato Sistemi Operativi Amministrazione di utenti diversi: Se un calcolatore è utilizzato da più utenti, è compito del S.O. separare in modo appropriato le attività e i dati di ognuno di essi. La prima operazione da fare in tal senso è identificare appropriatamente gli utenti ed assegnare ad ognuno di essi un certo insieme di risorse. Controllo degli accessi: La separazione fra gli utenti avviene tramite il controllo degli accessi, prima di eseguire una qualsiasi azione per conto di un processo, è necessario verificare che l’utente che ha lanciato il programma corrispondente abbia il diritto di eseguire tale operazione. Sistemi Operativi 10 di 25 Noemi Scarpato Sistemi Operativi Accounting: Collegato alla gestione degli utenti è il problema dell’accounting: ovvero, la misurazione e il controllo della quantità di risorse utilizzate da ciascun utente, in modo particolare nel caso di risorse limitate. Per esempio, in un sistema multi-utente una delle risorse più limitate è lo spazio su disco; in alcuni S.O. è possibile impostare un limite massimo (detto quota) allo spazio su disco utilizzabile da ogni utente. Sistemi Operativi 11 di 25 Noemi Scarpato CALCOLATORE Sistemi Operativi 12 di 25 Noemi Scarpato CALCOLATORE Il calcolatore della figura precedente è composto da elementi hardware ed software. E’ possibile rappresentare le relazioni che esistono fra i vari elementi tramite un diagramma a strati, come quello proposto in figura. L’hardware è lo strato inferiore: è il più complesso e difficile da utilizzare e programmare. Per fare un esempio, la lettura di informazioni da un floppy disk richiede una complessa interazione tra il controllore del floppy disk (hardware) e il software; questo ultimo deve orchestrare numerose operazioni, incluse l’accensione del motore, l’attesa che il disco raggiunga una velocità di rotazione sufficiente, lo spostamento della testina di lettura, e così via. Possiamo indicativamente suddividere l’hardware in processore, memoria e dispositivi di I/O. 13 di 25 Sistemi Operativi Noemi Scarpato CALCOLATORE Il nucleo del sistema operativo (in inglese, kernel) è quella parte del sistema operativo che si colloca immediatamente sopra l’hardware, con il compito di nascondere ai livelli soprastanti i dettagli più complessi e fungere da gestore delle risorse del sistema. La comunicazione tra il nucleo e gli altri elementi software è mediata da un’interfaccia di programmazione, detta delle chiamate di sistema (system call). Sopra a questa interfaccia sono costruite: le librerie (di sistema e applicative), un insieme di funzioni di base che permettono di eseguire le operazioni più comuni realizzate da un sistema operativo :esecuzione di programmi, lettura di file, ecc. Sistemi Operativi 14 di 25 Noemi Scarpato CALCOLATORE I tool di sistema, ovvero programmi che permettono di realizzare le operazioni più comuni, come copia di file, backup, ecc. Il nucleo del sistema operativo, l’interfaccia di programmazione, le librerie e i tool di sistema vengono detti software di sistema, in quanto si occupano tutti della gestione della macchina. Sopra al software di sistema troviamo il software applicativo (come ad esempio suite per l’ufficio, per la navigazione in Internet, ecc). Sistemi Operativi 15 di 25 Noemi Scarpato Chi utilizza il sistema operativo Quando si parla di S.O., possono esistere diverse figure (professionali e non) coinvolte nella sua realizzazione, manutenzione ed uso che sono: Utente: Al livello più elevato troviamo l’utente comune, che utilizza il sistema operativo attraverso la sua interfaccia, grafica oppure testuale. Amministratore di sistema: la figura dell’amministratore di sistema è sostanzialmente quella di un utente evoluto, che è in grado non solo di utilizzare programmi applicativi, ma anche installare, configurare e mantenere un sistema operativo. Sistemi Operativi 16 di 25 Noemi Scarpato Chi utilizza il sistema operativo Fra i compiti dell’amministratore di sistema troviamo l’inserimento di nuovi utenti nel sistema, l’amministrazione e l’assegnazione delle risorse disponibili, l’installazione di nuove applicazioni e l’aggiornamento del sistema operativo. Programmatore: i programmatori di sistema, utilizzano le librerie messe a disposizione dal sistema operativo o addirittura l’interfaccia di programmazione del sistema operativo stesso per mettere a disposizione dell’utente nuovi programmi applicativi. Progettista di sistema operativi: i progettisti di sistema operativi hanno il compito di realizzare i meccanismi di gestione delle risorse e presentare un’astrazione conveniente di tali risorse ai livelli soprastanti, sotto forma di nucleo del sistema operativo. 17 di 25 Sistemi Operativi Noemi Scarpato Componenti del sistema Operativo Sistemi Operativi 18 di 25 Noemi Scarpato Componenti del sistema Operativo I principali componenti di un S.O. sono: Il gestore del processore: è l’elemento che si occupa di organizzare l’esecuzione dei programmi sul processore. Quando un programma è in esecuzione, prende il nome di processo. Periodicamente o in seguito ad eventi di I/O generati dai dispositivi, il gestore dei processi sceglie uno fra i processi pronti ad eseguire, e istruisce il processore affinché venga eseguito. Il meccanismo di gestione deve essere tale che ogni processo riceva una porzione del tempo del processore proporzionale alla sua importanza (o una porzione equa, se tutti i processi hanno la stessa importanza). Sistemi Operativi 19 di 25 Noemi Scarpato Componenti del sistema Operativo Il gestore della memoria principale: si occupa di suddividere la memoria RAM fra i vari processi attualmente in esecuzione. Le operazioni svolte da tale componente sono essenzialmente due: tenere traccia di quali sezioni della memoria sono occupate da quali processi e tenere traccia dello spazio libero di memoria, ovvero dello spazio non utilizzato. Può avvalersi dei servizi del gestore della memoria secondaria per simulare una quantità maggiore di memoria principale. Sistemi Operativi 20 di 25 Noemi Scarpato Componenti del sistema Operativo I gestori dei dispositivi di I/O: si occupano di astrarre la complessità dei dispositivi hardware fornendo un’interfaccia comune ad ognuno di essi; ad esempio, tastiera e mouse possono essere modellati semplicemente come un flusso di dati in input. Un gestore di dispositivo può gestire più dispositivi dello stesso tipo. Il gestore della memoria secondaria e il gestore del file system: sono i componenti che forniscono l’astrazione di file e Directory; come nel caso della memoria principale, il loro compito più importante è mantenere informazioni su chi utilizza certe parti della memoria ed eventualmente sopprimere il processo se necessario. Sistemi Operativi 21 di 25 Noemi Scarpato Componenti del sistema Operativo I meccanismi di protezione e sicurezza: spesso non sono organizzati come un modulo a parte; invece, permeano tutti i moduli precedenti, impedendo che i processi e gli utenti eseguano operazioni non consentite. Sistemi Operativi 22 di 25 Noemi Scarpato Interrupt e sistemi operativi I sistemi operativi moderni sono basati sul concetto di interrupt. Ogni qual volta viene generato un evento hardware o software, il processore viene "avvisato" tramite un interrupt. L’arrivo di un interrupt interrompe l’attività corrente del processore e passa il controllo al sistema operativo. Esempi di eventi hardware possono essere la pressione di un tasto sulla tastiera, o la terminazione di una richiesta di lettura di un blocco di disco. Esempi di eventi software possono essere la richiesta di un particolare servizio da parte del processo in esecuzione, oppure condizioni eccezionali del software quali la divisione per zero (che non è possibile). Sistemi Operativi 23 di 25 Noemi Scarpato Interrupt e sistemi operativi L’arrivo di un interrupt causa la sospensione dell’attività corrente e il passaggio del controllo del processore al sistema operativo. La gestione dell’interrupt da parte del sistema operativo dipenderà dal particolare evento che lo ha scatenato; per esempio, il movimento del mouse richiederà lo spostamento della freccia sullo schermo. Una volta completata la gestione, il controllo ritorna all’attività precedente; come avremo modo di vedere nella sezione dedicata ai processi, tuttavia, vi è anche la possibilità che si passi ad eseguire un processo diverso. Sistemi Operativi 24 di 25 Noemi Scarpato Interrupt e sistemi operativi E’ interessante notare come gran parte del programma del nucleo di un sistema operativo sia eseguito all’interno della gestione degli interrupt. In altre parole, una volta completato il caricamento all’accensione, il controllo passa ai processi e solo occasionalmente torna al sistema operativo. Questo tipo di organizzazione permette di ottimizzare il sistema operativo, che viene invocato unicamente nei momenti di bisogno, per trasformare la visione fisica dell’hardware in azioni ed eventi software. Sistemi Operativi 25 di 25