Il sistema operativo



Похожие документы
Il Sistema Operativo (1)

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo

Il Sistema Operativo

Il Software. Il software del PC. Il BIOS

Infrastrutture Software

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

Sistemi operativi. Esempi di sistemi operativi

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

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

Corso di Sistemi di Elaborazione delle informazioni

Introduzione ai Sistemi Operativi

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

Funzioni del Sistema Operativo

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

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

CdL in Medicina Veterinaria - STPA AA

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

Software di base. Corso di Fondamenti di Informatica

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

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

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

Nozioni di Informatica di base. dott. Andrea Mazzini

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

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

Corso di Informatica

Un sistema operativo è un insieme di programmi che consentono ad un utente di

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

Informatica e Bioinformatica: Sistemi Operativi

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

uomo Software (sistema operativo) hardware

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

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

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

INTERAZIONE CON L UTENTEL

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Sistemi Operativi Kernel

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

Il File System. Il file system

Introduzione a Dev-C++

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

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Informatica. Il software (S.O.) e ancora sulle basi numeriche

Organizzazione Monolitica

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Sistema operativo: Gestione dei processi

Informatica - A.A. 2010/11

Pronto Esecuzione Attesa Terminazione

Classificazione del software

Gestione della memoria centrale

Dispensa di Informatica I.1

CAPITOLO 1 I SISTEMI OPERATIVI

Gestione del processore e dei processi

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

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

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Laboratorio di Informatica

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

Approccio stratificato

Il computer: primi elementi

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

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

PIATTAFORMA DOCUMENTALE CRG

Informatica di Base. Il software

Il sistema operativo

NozionidiBase di Informatica

Architettura hardware

Architettura di un calcolatore

Architettura dei computer

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Il software. Capitolo 3 La potenza non è nulla senza il software. Informatica di Base -- R.Gaeta 1

HARDWARE. Relazione di Informatica

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

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

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Транскрипт:

Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin

Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente che non ci sia: Applicazioni HARDWARE (periferiche, memoria, CPU) necessità per il programmatore di conoscere le specificità dell hardware e di occuparsi della sua gestione aumenta difficoltà nella scrittura dei programmi dipendenza applicazioni/hardware Introduciamo la suddivisione sistema operativo/applicazioni Elementi di Informatica e Programmazione Università di Brescia 2

Organizzazione a livelli di un sistema di elaborazione utenti programmatore di applicazioni applicazioni livello delle applicazioni interfaccia di programmazione verso le applicazioni programmatore di sistema sistema operativo livello del sistema operativo hardware livello fisico Elementi di Informatica e Programmazione Università di Brescia 3

In sostanza, un sistema operativo: 1. E una collezione di programmi (detti anche software di base) finalizzati a rendere utilizzabile l intera architettura di elaborazione 2. Fornisce una interfaccia (API: Application Programming Interface) al software applicativo usato dall utente, che può invocare il sistema operativo attraverso chiamate di sistema 3. Comprende programmi che gestiscono le risorse fisiche del sistema informatico (e quindi risolvono i problemi precedentemente visti) Più in generale, un sistema operativo offre la visione di una macchina astratta (o virtuale) più potente e più semplice da utilizzare di quella fisicamente disponibile (macchina fisica). Elementi di Informatica e Programmazione Università di Brescia 4

Il concetto di macchina virtuale Interfaccia: attraverso di essa gli utenti della macchina virtuale interagiscono con la macchina stessa, utilizzando un insieme di comandi Corpo: non visibile all esterno, esegue i comandi ricevuti utilizzando a sua volta i servizi dell eventuale macchina sottostante Cfr. di nuovo il lucido 3 Elementi di Informatica e Programmazione Università di Brescia 5

Funzioni di un Sistema Operativo Virtualizzazione dell hardware (mascherandone i dettagli) - periferiche - CPU - memoria centrale Gestione ottimale delle risorse (efficienza) Gestione della convivenza (più programmi in esecuzione e più utenti): - idealmente, ciascuno opera come se avesse a disposizione l intero sistema; - d altra parte, gestione delle interazioni tra programmi in esecuzione (es: output utilizzato come input da un altro) Gestione della sicurezza (riservatezza e integrità) Elementi di Informatica e Programmazione Università di Brescia 6

Organizzazione di un Sistema Operativo utenti utenti utenti interprete comandi applicazione... applicazione interfaccia di programmazione verso le applicazioni sistema operativo gestore dei processi gestore della memoria centrale gestore delle periferiche gestore memoria di massa interfaccia verso l hardware hardware Elementi di Informatica e Programmazione Università di Brescia 7

Sistema di gestione dei processi Definisce quali programmi sono da eseguire e quali compiti sono da assegnare alla CPU Sistema di gestione della memoria centrale Controlla l allocazione della memoria centrale assegnata ai diversi programmi che possono essere contemporaneamente in esecuzione Sistema di gestione delle periferiche Garantisce l accesso ai dispositivi di ingresso/uscita Maschera i dettagli di basso livello e gli eventuali conflitti che possono sorgere nel caso di diverse richieste formulate da più utenti/programmi ad uno stesso dispositivo contemporaneamente Sistema di gestione della memoria di massa (file system) Archiviazione e reperimento dati utilizzando le periferiche che costituiscono la memoria di massa Elementi di Informatica e Programmazione Università di Brescia 8

Sistema di interazione con gli utenti e gestione dei relativi comandi (interprete comandi) Permette agli utenti di accedere in maniera semplice e intuitiva alle funzionalità disponibili: linguaggio grafico, ad icone, a comandi (tipico in DOS e UNIX) Anche se di fatto fornito con il sistema operativo, concettualmente è meglio vederlo come un applicazione Altro elemento (non riportato in figura) Sistema di gestione della rete Permette di interfacciarsi a risorse collegate via rete e di comunicare con processi in esecuzione su altri calcolatori Se ne parlerà nel contesto delle reti di calcolatori Elementi di Informatica e Programmazione Università di Brescia 9

Vediamo in particolare il gestore dei processi, che ha un ruolo fondamentale nei sistemi multiprogrammati e multitasking Elementi di Informatica e Programmazione Università di Brescia 10

Sistemi uniprogrammati (monotasking) Sistemi uniprogrammati (ad es: MS DOS): in memoria centrale risiede un solo programma applicativo, oltre al SO un solo programma in esecuzione in ogni istante Uso inefficiente del sistema: durante le operazioni di input/output con le periferiche la CPU rimane inattiva elaborazione attesa per operazioni di I/O Tempo Elementi di Informatica e Programmazione Università di Brescia 11

Sistemi multiprogrammati e multitasking Gli attuali SO (come MS Windows XP e UNIX/Linux) sono sistemi multiprogrammati: in ogni istante la memoria centrale può contenere più programmi Progr. 1 Progr. 2 Progr. 3 Tempo elaborazione attesa per operazioni di I/O Elementi di Informatica e Programmazione Università di Brescia 12

Gestione dei processi in Time Sharing Permette la condivisione della CPU tra più processi (vedi lucido successivo) Il tempo di CPU viene suddiviso in unità elementari dette quanti di tempo I quanti di tempo vengono assegnati ai processi dal SO secondo opportune politiche (es. round-robin): apparente parallelismo Ogni processo in esecuzione ha a disposizione un quanto di tempo di utilizzo della CPU, al termine del quale viene sospeso per lasciare il posto ad un altro processo in attesa di esecuzione Elementi di Informatica e Programmazione Università di Brescia 13

Processo vs Programma Programma: entità statica composta dal codice eseguibile dal processore Processo: entità dinamica che corrisponde al programma in esecuzione, composto da: codice (= programma) dati (memoria e registri unità centrale) stato di evoluzione processo = programma + contesto di esecuzione Elementi di Informatica e Programmazione Università di Brescia 14

Transizioni tra gli stati di un processo Inizio esecuzione (accodamento ai processi pronti) Processi pronti Selezione primo processo pronto e sua esecuzione Termine quanto di tempo Processo in esecuzione Termine elaborazione Completamento operazione di I/O (evento esterno atteso) Processi in attesa Richiesta operazione di I/O Elementi di Informatica e Programmazione Università di Brescia 15

In ogni istante un processo può essere in uno dei seguenti stati: in esecuzione da parte della CPU (un solo processo se vi è una sola CPU) in attesa di un evento esterno (ad esempio I/O da tastiera o su schermo) pronto ad essere eseguito ed in attesa del proprio quanto di tempo CPU I processi in attesa e i processi pronti sono messi in due code distinte (contengono i descrittori dei processi, strutture dati gestite dal sistema operativo che rappresentano il contesto: identificativo processo, valori registri unità centrale, priorità, risorse assegnate, ecc.) Tipicamente per i processi pronti si usa una coda di tipo FIFO ( First in First Out ) Elementi di Informatica e Programmazione Università di Brescia 16

Transizioni di stato (1) Pronto Esecuzione Quando un programma deve essere eseguito, viene creato un processo che viene posto in fondo alla coda dei processi pronti Il SO stabilisce quale dei processi pronti debba essere mandato in esecuzione, di solito estraendo il primo nella coda dei pronti Il processo rimane in esecuzione finché termina il suo quanto di tempo oppure richiede un operazione di I/O oppure è arrivato all istruzione finale P A E Elementi di Informatica e Programmazione Università di Brescia 17

se termina il quanto di tempo Transizioni di stato (2) Esecuzione Pronto Termina il quanto di tempo ed il processo in esecuzione lascia spazio a un altro processo pronto Il SO salva tutte le informazioni per riprendere l esecuzione del processo dal punto in cui viene interrotta (ad es: salva il contenuto dei registri di CPU) salvataggio del contesto Contemporaneamente un altro processo passa da pronto a esecuzione, ne viene ripristinato il contesto se il processo era stato precedentemente interrotto P E A Elementi di Informatica e Programmazione Università di Brescia 18

attesa di un operazione di I/O Transizioni di stato (3) Esecuzione Attesa Il processo deve svolgere un operazione di I/O che comporta un notevole tempo di attesa: es. attende un evento per il completamento dell operazione (ad es. input da tastiera) Il SO salva tutte le informazioni necessarie a riprendere l esecuzione e l informazione relativa all evento atteso P E A Elementi di Informatica e Programmazione Università di Brescia 19

Transizioni di stato (4) Attesa Pronto Si verifica l evento esterno atteso dal processo ed il SO sposta quel processo in fondo alla coda dei processi pronti P E A Elementi di Informatica e Programmazione Università di Brescia 20

Interruzioni, modo utente e modo supervisore Tre tipologie di interruzioni: interne: generate da specifica istruzione macchina per realizzare una chiamata di sistema esterne: generate dai componenti fisici del sistema (es. periferiche) per eccezione: segnalano situazioni eccezionali Le transizioni dei processi da uno stato all altro che abbiamo visto corrispondono a interruzioni esterne o interne. Vediamo in dettaglio nel prossimo lucido (a noi interessa la parte gialla) Elementi di Informatica e Programmazione Università di Brescia 21

creazione programma in attesa scheduler di lungo termine processo sospeso interruzione esterna processo bloccato e sospeso scheduler di medio termine processo pronto scheduler di breve termine interruzione esterna processo bloccato processo in esecuzione interruzione interna interruzione esterna terminazione Elementi di Informatica e Programmazione Università di Brescia 22

Il meccanismo di protezione sistema operativo modo supervisore interruzione fine gestione interruzione modo utente nel modo utente, non sono disponibili le istruzioni privilegiate (ad esempio quelle che consentono di interagire direttamente con le periferiche) i programmi del sistema operativo in modo supervisore, i programmi utente in modo utente Elementi di Informatica e Programmazione Università di Brescia 23

Cosa fa il gestore della memoria? Elementi di Informatica e Programmazione Università di Brescia 24

MEMORIA Proc 1 DISCO FISSO Proc 2 Proc 3 Un nuovo processo può nascere e necessita di memoria, un processo in esecuzione può richiedere memoria, un processo può terminare Elementi di Informatica e Programmazione Università di Brescia 25

MEMORIA Proc 1 DISCO FISSO Proc 2 Proc 3 Proc 4 Un nuovo processo può nascere e necessita di memoria, un processo in esecuzione può richiedere memoria, un processo può terminare Elementi di Informatica e Programmazione Università di Brescia 26

MEMORIA Proc 1 Proc 5 DISCO FISSO Proc 2 Proc 3 Proc 4 Proc 5 Un nuovo processo può nascere e necessita di memoria, un processo in esecuzione può richiedere memoria, un processo può terminare Elementi di Informatica e Programmazione Università di Brescia 27

Vediamo ora altri due componenti: gestione periferiche e gestione della memoria di massa Elementi di Informatica e Programmazione Università di Brescia 28

Gestione periferiche I/O (1) SISTEMA OPERA- TIVO I processi e gli utenti accedono alle periferiche attraverso comandi ad alto livello L accesso/controllo delle periferiche avviene attraverso i controller: dispositivi hardware il cui compito è ricevere richieste di operazioni di input/output ed eseguirle fisicamente dipendono dalle caratteristiche fisiche delle periferiche che gestiscono (ad es., il controller di una stampante è diverso da quello del lettore di CD ROM) i driver: programmi software integrati nel sistema operativo per la gestione dei controller mascherano le caratteristiche specifiche dei controller forniscono un insieme di comandi per la gestione delle operazioni di ingresso/uscita utilizzabili da altri programmi inclusi nel sistema operativo Elementi di Informatica e Programmazione Università di Brescia 29

Gestione periferiche I/O (2) I sistemi operativi includono i driver per la gestione delle periferiche più comuni: tastiera, video, mouse, stampanti, Ogni aggiunta o modifica alla configurazione standard comporta l installazione di software addizionale ovvero di driver aggiuntivi solitamente prodotti dalla casa costruttrice della periferica (possono essere già disponibili sul CD del sistema operativo) es: driver per gestire informazione acquisita con una videocamera digitale ad alta definizione Elementi di Informatica e Programmazione Università di Brescia 30

Sistema di gestione della memoria di massa Obiettivo: presentare all utente l organizzazione logica dei dati della memoria di massa e le operazioni che è possibile compiere su di essi Operazioni di base di un file system (es. Gestione Risorse di Windows) recupero di dati precedentemente memorizzati; eliminazione (cancellazione) di dati obsoleti; modifica/aggiornamento di dati preesistenti; copia di dati (e.g. da HD a FD) per backup o per il trasferimento verso altro calcolatore I servizi vengono forniti sia ai programmi applicativi che direttamente agli utenti Elementi di Informatica e Programmazione Università di Brescia 31

Organizzazione del file system Le informazioni vengono memorizzate in contenitori logici detti archivi o più comunemente file Un file è una sequenza di byte: può contenere un programma, un insieme di dati, un testo, un immagine E caratterizzato da: un nome simbolico solitamente costituito di due parti: nome vero e proprio, assegnato dall utente estensione, associata al programma che ha generato il file e consente quindi di identificare la tipologia dei dati contenuti nel file (ad es. i file Excel hanno estensione.xls) un insieme di attributi (dimensione, data e ora di creazione, permessi di lettura/scrittura/esecuzione, proprietario) I file sono generalmente organizzati in cartelle (directory) e sottocartelle in una gerarchia ad albero (o eventualmente a grafo aciclico: in questo caso una cartella o file può far parte di più cartelle) Elementi di Informatica e Programmazione Università di Brescia 32

Esempio radice programmi dispositivi utenti gioco.exe Mario Chiara gioco.exe testo.doc temporanei foto.jpg Ogni file o cartella è individuato dal suo percorso assoluto (nome completo pathname), ovvero dai nomi dei nodi intervallati da \ seguiti dal nome del file (es. \utenti\mario\gioco.exe). Il pathname in pratica identifica la posizione del file o della cartella all interno dell albero. Elementi di Informatica e Programmazione Università di Brescia 33