Sistema Operativo e Applicativi



Похожие документы
Un sistema operativo è un insieme di programmi che consentono ad un utente di

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Introduzione ai Sistemi Operativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Corso di Informatica

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il Sistema Operativo (1)

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Architettura di un sistema di calcolo

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Corso di Sistemi di Elaborazione delle informazioni

Informatica e Bioinformatica: Sistemi Operativi

STRUTTURE DEI SISTEMI DI CALCOLO

Le Infrastrutture Software ed il Sistema Operativo

Come funziona un sistema di elaborazione

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Il Software. Il software del PC. Il BIOS

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Approccio stratificato

Dispensa di Informatica I.1

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Introduzione al sistema operativo Il file system: file, directory,...

Sistemi operativi. Esempi di sistemi operativi

Laboratorio di Informatica

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa)

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Corso di Informatica

Organizzazione Monolitica

Pronto Esecuzione Attesa Terminazione

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi operativi e reti A.A Lezione 2

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Gestione della memoria centrale

Sistemi Operativi SCHEDULING DELLA CPU

Architettura di un sistema operativo

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

Nozioni di Informatica di base. dott. Andrea Mazzini

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Funzioni del Sistema Operativo

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

Infrastrutture Software

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo

GESTIONE DEI PROCESSI

Capitolo 3: Strutture dei sistemi operativi

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

Sistemi Operativi (modulo di Informatica II) I processi

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

La Gestione delle risorse Renato Agati

Software di base. Corso di Fondamenti di Informatica

Informatica (A-K) 25. Il sistema operativo

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

Scheduling della CPU:

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Il sistema operativo

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Sistema di protezione (1)

Sistema di protezione (2) Protezione (1)

LINUX. Che cos'e` un sistema operativo?

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

Il software. la parte contro cui si può solo imprecare. Il software

Processi e Thread. Scheduling (Schedulazione)

Scheduling della CPU Simulazione in linguaggio Java

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Транскрипт:

Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36

Software Conosciamo due classi di software: Programmi Applicativi Sistemi Operativi Modulo di Informatica () Software A.A. 2012-2013 2 / 36

Software: Programmi applicativi programmi di videoscrittura (es. Word) browser, usati per navigare il Web (es. Firefox) fogli elettronici, usati per manipolare e analizzare numeri e dati (es. Fogli di calcolo) programmi per la gestione di banche di dati (database), utilizzati per conservare ed elaborare dati strutturati (es. Mysql, PosgreSQL) programmi per creare applicazioni multimediali/ grafiche, manipolare foto, fare presentazioni con audio/video, ecc. videogiochi Modulo di Informatica () Software A.A. 2012-2013 3 / 36

Il Sistema Operativo Definizione e tipi di SO Le funzionalità di un SO Come macchina astratta Modulo di Informatica () Software A.A. 2012-2013 4 / 36

SO e interazioni con gli utenti Modulo di Informatica () Software A.A. 2012-2013 5 / 36

Definizione di SO Un sistema operativo è un programma che agisce come intermediario tra Utente, Software Applicativo e Hardware. Il suo scopo è di fornire un ambiente nel quale un utente possa eseguire programmi in modo conveniente ed efficiente. Deve evitare che i programmi utente in esecuzione entrino in conflitto Un sistema operativo fornisce sevizi ai programmi. Modulo di Informatica () Software A.A. 2012-2013 6 / 36

Obiettivi del SO Efficienza: Un S.O. cerca di utilizzare in modo efficiente le risorse del calcolatore Semplicità: Un sistema operativo dovrebbe semplificare l utilizzazione dell hardware di un calcolatore c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 7 / 36

I tipi di SO (1/2) Sistemi Batch (lotti): Il SO gestiva il passaggio da un Job a quello successivo. (I: Schede perforate, O: stampante, Utente: non interagiva) Sistemi Multi-programmati: permettono di avere la funzione di multi- programmazione, per cui in memoria centrale si possono caricare simultaneamente più programmi (scheduling) Sistemi Time sharing: è un estensione della multi-programmazione in cui la CPU esegue i vari processi con una frequenza tale che permetta all utente di interagire con più programmi. Modulo di Informatica () Software A.A. 2012-2013 8 / 36

I tipi di SO (2/2) Sistemi Multi-processore: Questo sistema dispone di più processori che condividono il bus di sistema (quello dentro la scheda madre), il clock, e talvolta dispositivi di memoria. Sistemi Distribuiti: Sono un insieme di processori che non condividono nè memoria nè clock. I sistemi distribuiti comunicano tra loro con mezzi di comunicazione diversi. Sistemi Real Time: Sono sistemi operativi nati dall esigenza che alcuni processi devono essere elaborati in un tempo ben preciso Modulo di Informatica () Software A.A. 2012-2013 9 / 36

Una similitudine per i SO Batch Ristorante Sistema Informativo Fila degli Utenti Programmi Strumenti Tecnologia Preparazione Processo in sequenza Cassiere Sistema Operativo La cassa della banca è composto da un cassiere, da un cliente, da risorse materiali (carta, denaro, ecc..) Il cassiere per gestire ogni utente deve svolgere una procedura che dipende dalla richiesta dell utente Carta, denaro, cassaforte, moduli, ecc... La procedura viene eseguita compiendo una serie di operazioni stabilite, in un certo ordine Esegue e gestisce le risorse in modo tale da soddisfare un utente di seguito all altro Modulo di Informatica () Software A.A. 2012-2013 10 / 36

Una similitudine per i SO multi-programmati Ristorante Sistema Informativo Menù e piatti del giorno Programmi Strumenti Tecnologia Preparazione Processi e Coerenza Cuoco Sistema Operativo Il ristorante è composto di risorse umane addette alle comande (camerieri), da cuochi, da risorse materiali (cucina, strumenti, ecc..), da un menù Il menù propone il nome di tutti possibili piatti del ristorante Ciotola, fornello, forno, padella antiaderente, forchetta, cucchiaio di legno, lavapiatti, ecc.. La preparazione dei piatti gestendo le risorse in maniera coerente ed efficiente, nel rispetto dei tempi di attesa degli utenti Esegue e gestisce le risorse in modo tale da soddisfare nel minor tempo possibile il maggior numero di utenti Modulo di Informatica () Software A.A. 2012-2013 11 / 36

Le altre similutidini SO multiprocessore SO Realtime Modulo di Informatica () Software A.A. 2012-2013 12 / 36

Il sistema operativo Definizione e tipi di SO Le funzionalità di un SO Come macchina astratta Modulo di Informatica () Software A.A. 2012-2013 13 / 36

Le funzionalità di un SO È il Sistema Operativo che : decide quale programma può utilizzare la CPU in ogni istante (e in questo modo gestisce l esecuzione delle diverse applicazioni); consente l accesso ai file (salvataggio, cancellazione, ecc.); gestione della memoria gestisce dispositivi I/O; gestione file system interprete di programmi c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 14 / 36

Gestisce i processi Un processo è un programma in esecuzione: Un processo utilizza le risorse fornite dal computer per assolvere i propri compiti Dai SO multi-programmati questo è responsabile delle seguenti attività riguardanti la gestione dei processi: creazione e terminazione dei processi sospensione e riattivazione dei processi gestione dei deadlock comunicazione tra processi sincronizzazione tra processi c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 15 / 36

Stati di un processo Modulo di Informatica () Software A.A. 2012-2013 16 / 36

Stati di un processi In un SO multi-programmato (più processi sono pronti per l elaborazione) Ogni processo durante la sua vita alterna gli stati: new: Il processo è creato running: Il processo è in esecuzione waiting: Il processo è in attesa di un evento ready: Il processo è pronto per essere eseguito (è in coda) termiated: Il processo ha finito la sua esecuzione/o è stata forzata la sua interruzione Modulo di Informatica () Software A.A. 2012-2013 17 / 36

Eventi Ogni processo durante la sua vita alterna gli stati al determinarsi di un evento: admited:il processo creato è inserito in coda scheduler dispatch: lo scheduler assegna al processo il processore interrupt: è un segnale di interruzione dell esecuzione del processo per poter usare la CPU I/O or event Wait: Si richiede un operazione di I/O e si mette in coda il processo, oppure un altro processo richiede una particolare operazione da un altro processo I/O or event completion: la periferica I/O o il processo ha completato la sua esecuzione e il processo può ritornare nella coda ready exit: il processo termina Modulo di Informatica () Software A.A. 2012-2013 18 / 36

Scheduler L avanzamento dei processi è determinato dalla disponibilità del processore e dalla politica con la quale l uso del processore è ripartito tra i processi Le politiche di assegnazione del processore ai processi pronti si chiamano politiche di scheduling. Lo scheduling ha come obiettivo un uso efficiente del processore, e decide come fare avanzare i processi. Lo scheduling fa delle scelte ad esempio: In base all ordine di arrivo (FIFO: first in first out) In base alla priorità In base al tempo di esecuzione ecc.. Modulo di Informatica () Software A.A. 2012-2013 19 / 36

Gestione dei deadlock Il deadlock è una situazione in cui due (o più) processi si bloccano a vicenda aspettando che uno esegua una certa azione (es. rilasciare il controllo su una risorsa come un file, una porta input/output ecc.) che serve all altro e viceversa. Il SO è responsabile della prevenzione se possibile, individuazione e risoluzione di questa situazione anomala: Evitare i deadlock: Il SO ad ogni richiesta di una risorsa da parte di un processo, effettua una verifica dello stato in cui si troverebbe allocando la risorsa. Risolvere deadlock: si procede con la terminazione (forzata) di tutti i processi in stallo o di un processo alla volta fino alla risoluzione del Deadlock, oppure con la prelazione sulla risorsa che causa il problema. Particolare cura deve essere riposta nella scelta della vittima della prelazione. Modulo di Informatica () Software A.A. 2012-2013 20 / 36

Gestione della memoria principale La memoria principale: è un array di byte indirizzabili singolarmente. è un deposito di dati facilmente accessibile e condiviso tra la CPU ed i dispositivi di I/O Il sistema operativo è responsabile delle seguenti attività riguardanti la gestione della memoria principale: tenere traccia di quali parti della memoria sono usate e da chi decidere quali processi caricare quando diventa disponibile spazio in memoria allocare e de allocare lo spazio di memoria quando necessario c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 21 / 36

Gestisce la memoria secondaria Memoria secondaria: Poichè la memoria principale è volatile e troppo piccola per contenere tutti i dati e tutti i programmi in modo permanente, un computer è dotato di memoria secondaria In generale, la memoria secondaria è data da hard disk, dischi ottici, nastri Il sistema operativo è responsabile delle seguenti attività riguardanti la gestione della memoria secondaria: Allocazione dello spazio inutilizzato Gestione dello spazio di memorizzazione Ordinamento efficiente delle richieste (disk scheduling) c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 22 / 36

Gestisce il file system Un file è l astrazione informatica di un archivio di dati: Il concetto di file è indipendente dal media sul quale viene memorizzato (che ha caratteristiche proprie e propria organizzazione fisica) Un file system è composto da un insieme di file Il sistema operativo è responsabile delle seguenti attività riguardanti la gestione del file system: Creazione e cancellazione di file Creazione e cancellazione di directory Manipolazione di file e directory Codifica del file system sulla memoria secondaria c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 23 / 36

File Directory e Filesystem File (o archivio, o documento elettronico): è sequenza di caratteri (byte) identificata da un nome Directory è un contenitore di file. Filesystem: è meccanismo con il quale i file sono organizzati. Modulo di Informatica () Software A.A. 2012-2013 24 / 36

Gestisce le operazioni di Input/Output La gestione dell I/O richiede: Un interfaccia comune per la gestione dei device driver Un insieme di driver per dispositivi hardware specifici Un sistema di gestione di buffer per il caching delle informazioni c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 25 / 36

Protezione Il termine protezione si riferisce al meccanismo per controllare gli accessi di programmi, processi o utenti alle risorse del sistema e degli utenti Il meccanismo di protezione software deve: Distinguere tra uso autorizzato o non autorizzato Specificare i controlli che devono essere imposti Fornire un meccanismo di attuazione della protezione c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 26 / 36

Protezione della memoria Dai SO multi-programmati in avanti: ogni processo ha un suo spazio di indirizzi: è necessario impedire al processo di accedere ad aree di memoria esterne al proprio spazio (ad es., del S.O. oppure di altri processi). se fosse consentito: un programma potrebbe modificare codice e dati di altri programmi o del S.O. Modulo di Informatica () Software A.A. 2012-2013 27 / 36

Gestione della protezione Per garantire protezione, molte architetture prevedono un duplice modo di funzionamento (dual mode): user mode: tutti i programmi utenti eseguono sul processore in user mode, se un programma utente ha bisogno di un istruzione privilegiata deve richiamare una System Call kernel mode: si possono gestire istruzioni critiche: accesso a dispositivi di I/O gestione della memoria arresto del sistema Modulo di Informatica () Software A.A. 2012-2013 28 / 36

Networking Consente Di far comunicare due o più elaboratori Di condividere risorse Quali servizi: Protocolli di comunicazione a basso livello TCP/IP UDP c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 29 / 36

Interfaccia utente - S.O. Interprete dei comandi permette di: attivare un programma, terminare un programma interagire con le componenti del sistema operativo (file system) Può essere: grafica (a finestre, icone, etc.) testuale (linea di comando) c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 30 / 36

Interfaccia programmatore - S.O. System Call: Ogni volta che un processo ha bisogno di un servizio del S.O. richiama una system call sono in genere disponibili come istruzioni a livello assembler esistono librerie che permettono di invocare le system call da diversi linguaggi (ad es. librerie C) vengono normalmente realizzate tramite interrupt software c 2002-2005 Renzo Davoli, Alberto Montresor Modulo di Informatica () Software A.A. 2012-2013 31 / 36

System call Le system call sono specifiche dei vari S.O.: Modulo di Informatica () Software A.A. 2012-2013 32 / 36

Il Sistema Operativo Definizione e tipi di SO Le funzionalità di un SO Come macchina astratta Modulo di Informatica () Software A.A. 2012-2013 33 / 36

Il SO come Macchina Astratta Il SO consente di utilizzare l HW, la comunicazione con l utente, in modo efficiente, corretto e sicuro, fornendo una visione astratta della macchina reale, e viene definita la macchina estesa. Attraverso questa visione di macchina estesa si riesce a gestire un adeguato insieme di risorse tramite un linguaggio semplice, che è il linguaggio fornito dal SO. Modulo di Informatica () Software A.A. 2012-2013 34 / 36

SO e interazioni con gli utenti Modulo di Informatica () Software A.A. 2012-2013 35 / 36

Conclusione Cosa è il SO? Le funzionalità di un SO? Dove si colloca nella struttura a livelli? Modulo di Informatica () Software A.A. 2012-2013 36 / 36