INFORMATICA. Il Sistema Operativo. di Roberta Molinari



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

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

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

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

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. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

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

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

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

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

Le Infrastrutture Software ed il Sistema Operativo

Sistemi operativi. Esempi di sistemi operativi

Funzioni del Sistema Operativo

Sistemi operativi e reti A.A Lezione 2

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

Gestione della memoria centrale

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

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

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

Il memory manager. Gestione della memoria centrale

Architetture Applicative

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

Infrastrutture Software

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

Dispensa di Informatica I.1

Il Software. Il software del PC. Il BIOS

TEORIA DEI SISTEMI OPERATIVI

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

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Creare una Rete Locale Lezione n. 1

Gestione del processore e dei processi

LINUX. Che cos'e` un sistema operativo?

J. Assfalg Appunti di Sistemi Operativi

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

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Architettura di un calcolatore

Corso di Informatica

Approccio stratificato

Architettura di un sistema operativo

Laboratorio di Informatica

Sistema Operativo e Applicativi

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

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

La Gestione delle risorse Renato Agati

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

GESTIONE DEI PROCESSI

Come funziona un sistema di elaborazione

Esame di INFORMATICA

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

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

Sistemi Operativi Kernel

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

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

Il sistema operativo

Corso di Informatica

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

Corso di Sistemi di Elaborazione delle informazioni

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

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Sistemi Operativi (modulo di Informatica II) I processi

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

Capitolo 1: Introduzione

Laboratorio di Informatica

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

Processi e Thread. Scheduling (Schedulazione)

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

RETI E SISTEMI INFORMATIVI

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

C. P. U. MEMORIA CENTRALE

1. BASI DI DATI: GENERALITÀ

Sistema operativo: Gestione dei processi

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

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

Introduzione ai Sistemi Operativi

Sistemi Operativi. Conclusioni e nuove frontiere

CPU. Maurizio Palesi

Sistema Operativo Compilatore

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

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

Informatica e Bioinformatica: Sistemi Operativi

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Транскрипт:

INFORMATICA Il Sistema Operativo di Roberta Molinari

Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore: unità unità in in grado grado di di svolgere una una elaborazione Programma: descrive l insieme delle delle istruzioni da da fornire fornire ad ad una una macchina perché perché esegua esegua un un certo certo compito. Componente statica statica Processo: successione di di azioni azioni svolte svolte da da un un processore per per ottenere un un risultato. È l insieme degli degli stati stati assunti assunti dal dal processore durante l esecuzione di di un un programma. Componente dinamica (evolve (evolve nel nel tempo) tempo) File: File: insieme di di dati dati registrati su su supporto hardware Risorsa: qualsiasi entità entità di di un un sistema di di elaborazione che che permette l avanzamento di di un un processo. Può Può essere essere fisica fisica (stampante, HD) HD) o logica logica (file); (file); attiva attiva (CPU) (CPU) o passiva (MC), (MC), interrompibile (CPU) (CPU) o no no (stampante), divisibile (MC) (MC) o no no (CPU). (CPU). 2

Il Sistema Operativo Il Sistema Operativo è un insieme di programmi che permette ad un utente di un sistema di elaborazione di poterne usare le risorse. Interfaccia: componente che che permette il il collegamento fornire un interfaccia utente-computer tra tra 2 entità. entità. Ottimizzare l uso delle risorse sovraintendendo e coordinando in modo opportuno tutto quello che avviene nella macchina: dal caricamento dei programmi alla loro esecuzione chiamando all'opera le opportune componenti del sistema I suoi principali compiti sono: rendere trasparente all utente e ai programmi stessi l hardware su cui stanno lavorando, fornendo un immagine astratta delle risorse disponibili (macchine virtuali) Macchina virtuale: componente software, in in grado grado di di interagire con con la la macchina reale, reale, mettendo a disposizione dell utilizzatore esterno, delle delle procedure dette dette primitive. Rende Rende trasparente l hw. l hw. 3

dedicati - monoprogrammati I SO nascono alla fine degli anni 40 per sollevare il programmatore dalla gestione diretta delle componenti hw e per avere un interfaccia più amichevole. Inizialmente i calcolatori erano in grado di eseguire un solo programma alla volta, completamente residente in MC (monoprogrammazione) e con tutte le risorse ad esso dedicate. I SO si limitavano pertanto a caricare, inizializzare e terminare i programmi. 4

batch Verso la fine degli anni 50 i calcolatori erano divenuti più veloci, ma ancora molto costosi: non si poteva lasciare un computer al servizio di un solo programma con molti tempi morti dovuti al caricamento dello stesso. Si realizzò allora la tecnica di elaborazione a lotti o batch: venivano raccolti diversi lavori o job, che venivano presentati uno di seguito all altro all elaboratore. Se un programma generava un errore veniva bloccato e si passava ad un successivo. Non si poteva interagire con il computer durante l elaborazione: i dati venivano forniti insieme alle istruzioni. 5

batch Job 1 Job 2 Job 3 Risultati job 1 Risultati job 2 Risultati job3 Se un job richiedeva operazioni di I/O la CPU le serviva rimanendo inutilizzata in attesa che si concludessero (periferiche molto lente rispetto ai tempi della CPU) CPU I/O Job 1 Job 2 6

interattivi L elaborazione di tipo batch aveva dei tempi di risposta imprevedibili ed elevati (quanti lavori ci sono prima del mio?), in più si dovevano presentare, non solo le istruzioni, ma anche i dati. Nei sistemi interattivi: I dati si presentano durante l esecuzione. I risultati sono utilizzabili appena prodotti. I tempi di risposta dipendono dalla complessità del programma (e dalla velocità dell hw) Per contro, vengono aggiunti i tempi morti di attesa dei dati di input da parte della CPU 7

multiprogrammazione Verso il 1960 nasce la multiprogrammazione: si vuole poter servire più job contemporaneamente, Si vogliono eliminare i tempi morti di trasferimento dei job da MM a MC, per cui in MC non c è più un solo processo. Si realizzano processori di I/O dedicati (DMA) in modo che la CPU lasci a loro il compito di gestire le richieste di I/O, mentre lei passa a servire un altro job Job 1 Job 2 Job 3 CPU 1 1 2 3 1 2 2 3 1 1 2 Proc I/O 1 1 1 2 3 3 1 1 2 1 2 3 4 5 6 7 8 9 10 11 12 13 8

time-sharing In un ambiente di multiprogrammazione, un processo con poche operazioni di I/O, poteva monopolizzare la CPU. Si introduce la politica di gestione a partizione di tempo (time-sharing): La CPU è assegnata ai vari processi per un quanto di tempo fisso (time-slice) La CPU passa ad un altro processo, anche quando devono essere eseguite operazioni di I/O Job 1 Job 2 Job 3 CPU 1 2 3 1 2 3 2 1 2 1 1 Proc I/O 2 3 3 1 1 1 2 1 1 1 2 3 4 5 6 7 8 9 10 11 12 13 9

svantaggi multiprogrammazione Avendo in esecuzione più programmi nascono i seguenti problemi: Protezione: affinché non si vadano a modificare i dati di altri programmi in MC. Si assegna ad ogni processo uno proprio spazio degli indirizzi. Condivisione: delle risorse tra i vari programmi. Si creano varie politiche di assegnamento delle risorse (scheduling) nei momenti di conflitto Il SO stesso deve condividere con gli altri programmi la MC e le risorse. Le operazioni del SO sono privilegiate e il processore quando le esegue è in uno stato supervisore, altrimenti è in modalità utente Il SO è troppo grande per essere tutto in MC Si carica in MC le componenti essenziali (supervisore) e si lasciano le altri componenti come librerie in MM 10

real-time Negli anni 60 assumono importanza anche i sistemi real-time: L esecuzione di una certa operazione deve avvenire in tempi trascurabili rispetto agli eventi esterni con cui interagisce (sistema che controlla un processo di produzione, sistema di pilotaggio di un aereo, ) 11

portabili Inizialmente i SO erano proprietari, cioè legati ad una certa macchina. Agli inizi degli anni 80, con l avvento del personal computer, si separa l hardware dal SO creando sistemi snelli e portabili, cioè utilizzabili su HW differenti. Nasce MS-DOS della Microsoft, con cui anche persone non tecniche erano in grado di interagire con il PC tramite un interfaccia in modalità testuale. La Apple invece lancia il suo SO con la prima interfaccia grafica a finestre, così friendly da favorire la diffusione dei PC. 12

distribuiti Alla fine degli anni 80, per velocizzare l elaborazione, invece di potenziare una sola macchina, si è pensato di utilizzare più CPU, che lavorano in un reale parallelismo. Queste possono: Condividere lo stesso clock e la stessa MC che utilizzano per comunicare (sistemi multiprocessore) Avere una propria MC e comunicare tramite connessioni veloci (sistemi distribuiti). In questi sistemi è possibile: Condividere le risorse (fisiche e logiche) in modo trasparente all utente Essere più affidabili, in quanto un elaboratore guasto può essere rimpiazzato dalla capacità elaborativa degli altri Comunicare tra elaboratori tramite messaggi. 13

SO di riferimento Studieremo un generico SO multiprogrammato, con un unica CPU, dei processori di I/O dedicati DMA, delle periferiche standard CPU BUS DMA DMA DMA MC HD 14

Il Sistema Operativo Modello onion skin (a cipolla) utente risorse logiche risorse fisiche 15

Il Sistema Operativo Nucleo Gestione della CPU: Ogni programma o richiesta da parte di un utente è un Job (Lavoro). Per essere eseguito viene caricato in MC e la sua esecuzione genererà una serie di processi La risorsa CPU viene assegnata ai vari processi che ne hanno chiesto l utilizzo, per un certo tempo (politica di time-sharing) Vengono generate e gestite diverse code di processi 16

Il Sistema Operativo Gestore della memoria centrale Qualunque Job per essere eseguito deve essere caricato in MC Il gestore della memoria decide: come organizzare lo spazio in MC come assegnare lo spazio in MC ai vari job prelevati dalla MM (swap-in) come liberare spazio in MC quando è piena (swap-out) 17

Il Sistema Operativo Gestore della periferiche Periferica: dispositivo hardware non non strettamente necessario al al funzionamento dell elaboratore, in in quanto quanto non non interviene direttamente nell elaborazione. Il gestore delle periferiche deve: Conoscere lo stato di ogni periferica (libera, occupata, non in linea,..) e dei suoi canali Decidere a quale processo e per quanto tempo deve assegnare una periferica Assegnare al processo prescelto la periferica e il canale Decidere come deve essere rilasciata una periferica 18

Il Sistema Operativo Gestore dell informazioni Il gestore dell informazioni o file system deve occuparsi dell archiviazione e del reperimento dei dati nelle memorie di massa. I suoi compiti sono: Per ogni dispositivo tenere traccia di tutti i file su esso presenti Determinare chi può utilizzare e come possono essere utilizzati i vari file Assegnare la risorsa al processo prescelto (apertura del file) e rilasciarla (chiusura file) Creare e cancellare file e directory Fornire primitive di manipolazione sui file Permettere il back-up 19