Il Sistema Operativo

Documenti analoghi
Prof. G. Ascia. Sistema Operativo

Sistemi Operativi ed interazione con HW e CAD

Laboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1

Corso di Informatica

Struttura Logica del S.O:

Elementi di Informatica A. A. 2016/2017

Il Sistema Operativo. Informatica Sistema Operativo 1

Il sistema operativo

Il sistema operativo

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

IL SISTEMA OPERATIVO

Il software. Il solo hardware non è sufficiente per usare un calcolatore

Sistema Operativo (Software di base)

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Sistema operativo: Introduzione

Sistema operativo: Introduzione

Il Sistema Operativo

Architetture hardware e software dei calcolatori

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

Sistemi Operativi: Concetti Introduttivi

I sistemi operativi. Prof. Daniele Contarino

correttezza e precisione; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; riservatezza dei dati; interoperabilità fra

Definizioni iniziali. Sistemi Operativi. Tipi di software. Sistema Operativo. Programma: una sequenza di istruzioni elementari

Sistemi Operativi. Definizioni iniziali

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

Informatica e Bioinformatica: Sistemi Operativi

Il software di sistema

Sistema Operativo. (hardware e software) della della macchina

Lezione 15: Il Sistema Operativo : Principi Generali (3P) Lunedì 22 Novembre 2010

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Il Sistema Operativo. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 02. Ottobre 2011

Architettura dei Sistemi Informatici

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Il Sistema Operativo

IL SISTEMA OPERATIVO

IL SOFTWARE DI SISTEMA

Sistema operativo & file system 1

Laboratorio di Informatica (Chimica)

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

IL SISTEMA OPERATIVO

Architettura di un calcolatore

Componenti di un sistema operativo

Cenni all architettura. architettura dei calcolatori. Walter Didimo. Fondamenti di Informatica 1

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Il Sistema Operativo Ripasso

Struttura dei Sistemi Operativi

Il Sistema Operativo. Informatica B AA 17/18 Luca Cassano 30 Novembre 2017 Informatica B, AA 17/18, Luca Cassano

Sistema operativo. Interazione con il SO

Il sistema operativo

2. Cenni di sistemi operativi

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Personal Computer: introduzione

Capitolo 6 Le infrastrutture SoftWare

Abilità Informatiche e Telematiche

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Laboratorio di Informatica

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Il Sistema Operativo Gestione del File System

Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7.

Informatica. Il computer

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi)

Il linguaggi di programmazione sono lo strumento per tradurre algoritmi in programmi. Ma come viene gestita l esecuzione di un programma?

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

Laboratorio di Informatica (Chimica)

Sistemi Di Elaborazione Dell informazione

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Sistema operativo (SO)

Corso di Informatica

FILE SYSTEM. Ciascuno strato costituisce un modulo che è in grado di svolgere le funzioni relative, indipendentemente dagli altri livelli.

Cenni di sistemi operativi

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

I file utente sistema operativo nome

Il file È un insieme di informazioni: programmi. Il File System. Il file system

FONDAMENTI DI INFORMATICA

Software di base e software applicativo

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi

Il Sistema Operativo Ing. Agnese Pinto. Fondamenti di Informatica CDL in Ingegneria Meccanica- A.A

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Introduzione ai thread

Il sistema operativo Panoramica dei principali O.S.

Il software: cenni sul sistema operativo

La memoria secondaria

Strutture dei sistemi di calcolo

Il sistema operativo Panoramica dei principali O.S.

Architettura dei calcolatori e Software di sistema

Sistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali

Capitolo 6 Le infrastrutture SoftWare

Il Sistema Operativo. Il Sistema Operativo. Sommario. Il Sistema Operativo - Classificazione. Fondamenti di Informatica Anno Accademico 2010/2011

Transcript:

Il Sistema Operativo

Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche e fornendo agli utenti un insieme di funzionalità di alto livello In sintesi, il sistema operativo: fornisce all utente una interfaccia per usare e gestire il calcolatore in modo semplice è responsabile della gestione delle risorse del calcolatore, e in particolare di come le risorse vengono allocate alle applicazioni e dell ottimizzazione del loro uso G. Di Modica Fondamenti di Informatica 2

Funzionalità del sistema operativo Si consideri, ad esempio, un utente che vuole avviare l esecuzione di un programma la richiesta di esecuzione di un programma può avvenire facendo un doppio click sull icona del programma sul desktop del calcolatore il desktop del calcolatore fa parte dell interfaccia grafica del sistema operativo per avviare l esecuzione del programma, il sistema operativo svolge le seguenti attività individua il codice eseguibile del programma (memorizzato sull hard disk) Alloca (riserva) al programma le risorse necessarie per la sua esecuzione (ad esempio, una certa quantità di memoria centrale) carica il codice eseguibile del programma in memoria centrale avvia il programma (partendo dalla prima istruzione.) G. Di Modica Fondamenti di Informatica 3

Una (possibile) classificazione dei S.O. I moderni sistemi operativi possono essere classificati in: Sistemi monotask Permettono l esecuzione di un solo programma utente per volta (es. DOS) Sistemi multitask Permettono l esecuzione di più programmi utente contemporaneamente Classificazione ulteriore Multitasking cooperativo (windows 3.1, MacOS prime versioni) Multitasking preemptive (Unix, Windows 95/98/NT/2000/XP, MacOS ultime versioni) G. Di Modica Fondamenti di Informatica 4

Architettura di un Sistema Operativo Un moderno S.O. è organizzato secondo una architettura a strati (a cipolla) Ogni strato implementa una macchina virtuale più potente della precedente Appoggiandosi alle funzionalità offerte dallo strato precedente Tale approccio permette una chiara separazione tra interfaccia ed implementazione delle varie funzionalità Ogni strato è costituito da un insieme di programmi e librerie I meccanismi di chiamate tra livelli possono essere diversi Chiamate a sottoprogrammi, interruzioni sincrone o asincrone, invio di messaggi a processi G. Di Modica Fondamenti di Informatica 5

Sistema operativo Architettura di un Sistema Operativo Programmi applicativi / Utenti Interprete comandi Interfaccia grafica Gestore della memoria Gestore delle periferiche Nucleo (kernel) Gestore dei file hardware G. Di Modica Fondamenti di Informatica 6

Sitemi operativi e macchine virtuali Le diverse componenti di un sistema operativo hanno, tra l altro, lo scopo di gestire e virtualizzare le diverse risorse del calcolatore, ovvero di renderle più semplici da utilizzare da parte dei suoi utenti gli utenti del sistema operativo sono in parte gli utenti finali (ovvero, le persone che utilizzano il calcolatore tramite il sistema operativo) ma comprendono anche i programmi applicativi le risorse gestite dal sistema operativo sono i processori, la memoria, le periferiche, le memorie secondarie, l interfaccia utente l utente del calcolatore interagisce in modo diretto solo con l interprete comandi del sistema operativo, che è il componente più esterno del sistema operativo G. Di Modica Fondamenti di Informatica 7

Nucleo (kernel) Il nucleo del sistema operativo (o kernel) è il componente del sistema operativo più complesso, che in particolare è responsabile della gestione della risorsa unità di elaborazione (processore) e dei processi (ovvero, dei programmi in esecuzione) al di sotto il nucleo esiste fisicamente un solo processore quindi il calcolatore potrebbe svolgere un solo programma alla volta il nucleo ha (tra l altro) lo scopo di definire tanti processori virtuali, uno per ciascun programma che si vuole eseguire ciascun processo in esecuzione ha l impressione di essere l unico processo eseguito dal calcolatore il nucleo ripartisce la capacità di elaborazione dell unico processore reale tra i tanti processori virtuali Inoltre, il nucleo fornisce un insieme di servizi di base di supporto agli altri componenti del sistema operativo G. Di Modica Fondamenti di Informatica 8

Concetti di base: i processi Un processo è un programma in esecuzione È costituito da: Codice: il programma vero e proprio Stato: i dati contenuti in memoria e nei registri in un dato istante La relazione tra programma e processo non è necessariamente biunivoca Un programma può dar luogo a più processi (programmazione concorrente) Un sistema multitasking consente quindi di gestire più processi in parallelo È più corretto parlare di processi che di programmi in questo contesto G. Di Modica Fondamenti di Informatica 9

Il gestore dei processi Il gestore dei processi Si appoggia direttamente sulla macchina fisica Si occupa di eseguire i vari processi In un sistema multitasking, esso realizza una macchina virtuale in cui ad ogni processo è assegnato un processore virtuale Comprende i principali programmi di risposta ad interrupt Realizza le primitive di sincronizzazione e scambio messaggi tra processi Memorizza i dati di ciascun processo in una struttura dati chiamata descrittore di processo G. Di Modica Fondamenti di Informatica 10

Stati di un processo In esecuzione (running) Al processo è assegnato il processore Il processo esegue fino a quando: Si verifica un evento esterno (interruzione esterna) O fino a quando il processo richiede l esecuzione di una operazione di I/O (interruzione interna) In attesa (waiting) Il processo giunge in questo stato a seguito di una interruzione interna Andrà in uno stato di pronto non appena l operazione richiesta sia completata Pronto (ready) Il processo giunge in questo stato dallo stato di attesa a seguito del completamento della operazione di I/O richiesta o dallo stato di esecuzione, al verificarsi di una interruzione esterna O allo scadere del quanto di tempo assegnato al processo (nel caso di S.O. preemptive time-sharing) G. Di Modica Fondamenti di Informatica 11

Ciclo di vita di un processo Fine esecuzione Primo processo pronto In esecuzione Interruzione interna Interruzione esterna, Fine quanto di tempo Pronto In attesa Inizio esecuzione Evento esterno atteso G. Di Modica Fondamenti di Informatica 12

Scheduling dei processi Per dare l illusione dell esecuzione contemporanea di processi viene utilizzato un meccanismo di scheduling del processi Una possibilità è il time-sharing: Ad ogni processo attivo è assegnato un quanto di tempo allo scadere del quale il processo viene spostato in stato di pronto ed il processore viene assegnato ad un altro processo Dimensioni tipiche del quanto di tempo sono di qualche decina di millisecondi G. Di Modica Fondamenti di Informatica 13

Gestore della memoria Il gestore della memoria è responsabile dell allocazione dinamica della memoria centrale ai programmi in esecuzione Per ciascun processo viene allocata una area di memoria virtuale sufficiente per la sua esecuzione Supera i limiti della memoria fisica, mostrando ai processi uno spazio di memoria virtuale Partiziona la memoria tra i vari processi che la richiedono Garantendo la protezione delle diverse zone di memoria G. Di Modica Fondamenti di Informatica 14

Il gestore della memoria È responsabile di: Suddividere la memoria tra i vari processi in esecuzione Rilocare i programmi affinchè possano eseguire indipendentemente dalla loro effettiva posizione fisica Gestire la politica di assegnamento della memoria ai processi Tale politica deve essere coordinata con la politica di gestione dei processi svolta dal nucleo Fornire l astrazione della memoria virtuale Ciascun processo ha a sua disposizione una quantità di memoria superiore a quella fisicamente disponibile G. Di Modica Fondamenti di Informatica 15

Memoria virtuale: lo swap Il gestore della memoria può usare una parte della memoria di massa come area di memoria di appoggio Quando un processo è sospeso i suoi segmenti dati, codice e stack possono essere spostati su disco per liberare memoria centrale Ciò consente di mostrare ai processi una memoria virtuale di dimensione superiore alla memoria centrale G. Di Modica Fondamenti di Informatica 16

Gestore delle periferiche Il gestore delle periferiche adatta la modalità d uso delle singole periferiche (che possono essere estremamente diverse) a quello di poche tipologie di periferiche virtuali Maschera le caratteristiche fisiche delle periferiche Fornisce agli strati superiori un insieme di procedure di alto livello per l accesso alle diverse periferiche Offre ad ogni processo la visibilità di un insieme di periferiche virtuali dedicate Consente a più processi di condividere la stessa periferica Gestisce, almeno in parte, i malfunzionamenti delle periferiche G. Di Modica Fondamenti di Informatica 17

Gestore dei file Il gestore dei file (o file system) è responsabile della gestione della memoria secondaria (hard disk) i dischi sono fisicamente organizzati in superfici, cilindri e settori il gestore dei file consente l uso della memoria secondaria mediante una organizzazione logica in volumi, cartelle e file un file è una sequenza di dati di dimensioni variabili, con accesso sequenziale oppure casuale una cartella (o direttorio) è un contenitore di un insieme di file e cartelle un volume è un contenitore di file e cartelle, solitamente corrispondente ad una unità a disco Inoltre, il gestore dei file permette di mostrare anche le periferiche come dei file, da cui è possibile leggere e/o su cui è possibile scrivere sequenze di dati G. Di Modica Fondamenti di Informatica 18

Il file system: dettagli Il sistema operativo gestisce la corrispondenza tra l organizzazione logica e l organizzazione fisica dei dati i dati nelle memorie secondarie sono organizzati logicamente in volumi, cartelle e file i dati nelle memorie secondarie sono organizzati fisicamente in dischi, superfici, cilindri e settori Fornisce agli strati superiori un insieme di procedure per l accesso a tali dati G. Di Modica Fondamenti di Informatica 19

Il file system: dettagli Un file è un contenitore logico di informazioni, caratterizzato da: un contenuto una sequenza di byte, da interpretare opportunamente un nome che ne consente l identificazione il nome è composto dal nome del file e da un percorso, che ne precisa il posizionamento all interno delle directory Il nome di un file è composto da due parti (separate da un punto) il nome scelto dall utente l estensione ha la funzione di identificare il formato del file o l applicazione da cui è stato creato, e quindi di consentire la corretta interpretazione del contenuto del file G. Di Modica Fondamenti di Informatica 20

Il file system: dettagli L insieme dei file di un calcolatore non viene gestito in un unico contenitore piatto, ma piuttosto i file vengono organizzati in volumi e cartelle un volume è un contenitore logico di file, corrispondente solitamente a una unità a disco ad esempio, il volume a: indica il floppy disk, e c: il disco fisso primario una cartella (o directory) è un contenitore logico di file e cartelle le cartelle sono organizzate gerarchicamente ad albero ogni cartella può contenere dei file ogni cartella può contenere altre cartelle (chiamate sottodirettori) la radice (root) è la cartella di livello gerarchico più elevato, corrispondente a un intero volume Si ottiene una struttura ad albero le cui foglie sono i file G. Di Modica Fondamenti di Informatica 21

Interprete comandi e interfaccia grafica L interprete comandi è l interfaccia utente del sistema operativo definisce le operazioni che possono essere utilizzate direttamente dall utente finale, chiamate comandi esempi di comandi sono esecuzione di una applicazione apertura di un documento (eseguendo l applicazione responsabile della manipolazione di quel tipo di documento) Nel caso di un sistema multiutente fornisce ai diversi utenti la visione di una macchina virtuale dedicata L interprete comandi può essere basato su una interfaccia a caratteri come nei sistemi operativi Unix, ma anche nel prompt dei comandi di Windows basato su una interfaccia grafica come nei sistemi operativi Windows e nell ambiente X Window di Unix G. Di Modica Fondamenti di Informatica 22

Programmi di utilità Il sistema operativo è corredato da un insieme di programmi di utilità, per la configurazione, l ottimizzazione e la gestione ordinaria del sistema: gestione degli utenti per definire gli utenti, i gruppi di utenti e i diritti di accesso alle varie risorse gestione delle periferiche ad esempio, programmi per l installazione e la configurazione delle periferiche, nonché programmi di utilità per la gestione dei dischi (come l utilità di formattazione e l utilità di deframmentazione) gestione delle applicazioni per l installazione e la disinstallazione di programmi altri accessori dall editor di testi alla gestione dei servizi Internet G. Di Modica Fondamenti di Informatica 23