Introduzione ai sistemi operativi



Documenti analoghi
Architettura di un sistema operativo

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

Il Sistema Operativo

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

Approccio stratificato

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

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Come funziona un sistema di elaborazione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Il Sistema Operativo (1)

Capitolo 3: Strutture dei sistemi operativi

Definizione e storia dei sistemi operativi

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

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

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

Capitolo 1: Introduzione

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

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

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

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

Organizzazione Monolitica

Strutture dei Sistemi Operativi

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

STRUTTURE DEI SISTEMI DI CALCOLO

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

Dispensa di Informatica I.1

TITLE Sistemi Operativi 1

Sistema di protezione (1)

Stadi evolutivi dei sistemi di elaborazione

Sistema di protezione (2) Protezione (1)

Sistema Operativo e Applicativi

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

Il Software. Il software del PC. Il BIOS

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

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Infrastrutture Software

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

Cos e` un Sistema Operativo? Cos è un sistema operativo?

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Hardware di un Computer

Software di base. Corso di Fondamenti di Informatica

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

Architettura di un sistema di calcolo

Introduzione ai Sistemi Operativi

Funzioni del Sistema Operativo

LINUX. Che cos'e` un sistema operativo?

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

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

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

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

Il computer: primi elementi

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi SCHEDULING DELLA CPU

CdL in Medicina Veterinaria - STPA AA

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

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

Sistemi operativi e reti A.A Lezione 2

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

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

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Corso di Informatica

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi

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

La Gestione delle risorse Renato Agati

Calcolo numerico e programmazione. Sistemi operativi

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

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

GESTIONE DEI PROCESSI

Sistemi di Elaborazioni delle Informazioni I

Le Infrastrutture Software ed il Sistema Operativo

Lezioni frontali e/o multimediali. Lezioni frontali e/o

Scheduling della CPU:

Il supporto al Sistema Operativo

Processi e Thread. Scheduling (Schedulazione)

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

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

Sistema di protezione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Nozioni di Informatica di base. dott. Andrea Mazzini

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

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

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Sistemi operativi. Esempi di sistemi operativi

CAPITOLO 5 - Sistemi Operativi Moderni

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Il Concetto di Processo

Transcript:

Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE

Funzioni di un S.O Funzioni svolte da un sistema operativo: Assegnazione delle risorse (CPU, memoria, etc.) risoluzione dei conflitti scelta dei criteri di assegnazione Controllo dell esecuzione system call macchina estesa (o virtuale). Necessità di nascondere all utente i dettagli HW legati ad un dispositivo Kernel (nucleo) è il cuore del sistema operativo: il solo programma che gira sempre (tutti gli altri sono programmi applicativi). Evoluzione dei S.O. Prima generazione Seconda generazione Sistemi batch Buffer di I/O Spooling Terza generazione Multiprogrammazione Divisione di tempo, Sistemi interattivi Quarta generazione Dos, Unix, Sistemi distribuiti, S.O. di rete

Sistemi monoprogrammati (dedicati) Gestione sequenziale nel tempo dei programmi Utilizzo CPU = Tp / Tt (Tp tempo di esecuzione del programma, Tt tempo di permanenza del programma nel sistema) Throughput: numero di programmi eseguiti nell unità di tempo Bassa utilizzazione delle risorse Sistemi batch Lettore di Schede CPU STAMPANTE Primo esempio di Sistema Operativo Un operatore disaccoppia il sistema dall utente Utente operatore Si usa un card reader

Sistemi batch Automatic job sequencing trasferisce automaticamente il controllo da un job ad un altro. Monitor residente Inizialmente il controllo è del monitor Il monitor trasferisce il controllo a un job Quando il job finisce il controllo ritorna al monitor Layout di memoria per sistemi batch MONITOR User Program Area Fence Register

Schede di controllo Problemi 1. Come dare i comandi al monitor? Es. compilazione di un programma Fortran oppure esecuzione di un programma già compilato. 2. Come fa il monitor a distinguere: (a) Un job da un altro job? (b) dati da programmi? Soluzione Introduzione di schede di controllo Schede di controllo $END $RUN $LOAD $FTN (fortran) dati $JOB programma da compilare

Monitor residente Componenti del monitor residente: Interprete delle schede di controllo responsabile della lettura e dell esecuzione delle istruzioni su ciascuna scheda Loader carica i programmi di sistema e quelli applicativi in memoria. Device driver conoscono le caratteristiche e le proprietà di tutte le periferiche di I/O del sistema di elaborazione. Sistemi batch off-line Si velocizza l elaborazione caricando i job in memoria da nastro magnetico, mentre la lettura delle schede e la stampa dell output è effettuata off-line Lettore di Schede Processore Satellite CPU Processore Satellite STAMPANTE

Spooling Si sovrappone l I/O di un job all elaborazione di un altro job. Durante l esecuzione di un job, il SO Legge il prossimo job dal card reader in un area del disco (job queue - pool). Stampa l output di un job precedente prelevando le linee da disco e inviandole alla stampante. Sistemi multiprogrammati Gestione contemporanea di più programmi indipendenti Migliore utilizzazione delle risorse. Maggiore complessità del S.O.: algoritmi per la gestione delle risorse. protezione degli ambienti per i diversi programmi. Occupazione teorica della CPU=100%

Sistemi time sharing Astrazione di più macchine virtuali Ogni utente ha un proprio programma in memoria Migliorano i tempi di attesa per i programmi corti Problema del Context Switching Sistemi paralleli Sistemi multiprocessore con più di una CPU in stretta comunicazione. Tightly coupled system - I processori hanno la memoria ed il clock in comune; la comunicazione avviene tipicamente utilizzando la memoria condivisa. Vantaggi dei sistemi paralleli: Incremento del Throughput (job/ora) Economia Incremento dell affidabilità

Sistemi SMP Symmetric multiprocessing (SMP) Ciascun processore esegue una copia identica del SO. Più processi possono essere eseguiti contemporaneamente senza riduzione di prestazioni. La maggior parte dei SO moderni gestiscono il SMP. Sistemi AMP Asymmetric multiprocessing (AMP) A ciascun processore è assegnato un task specifico; il processore master schedula e alloca il lavoro per i processori slave. Più comune su sistemi molto grandi.

Sistemi real time Usati spesso come controllori in applicazioni dedicate quali il controllo di esperimenti scientifici, sistemi di controllo industriale, sistemi per l acquisizione di dati, immagini mediche, ecc.. Hanno vincoli temporali ben definiti: la correttezza di un task dipende dal tempo in cui un operazione viene eseguita. Sistemi distribuiti Distribuiscono l elaborazione su diversi processori. Loosely coupled system ciascun processore ha una memoria locale; i processori comunicano con gli altri attraverso linee di comunicazione quali bus ad alta velocità o linee telefoniche. Vantaggi dei sistemi distribuiti. Condivisione delle risorse Incremento della velocità di calcolo condivisione del carico Affidabilità Comunicazioni

Componenti di un S.O. Gestore dei processi. Gestori della memoria principale e secondaria. Gestore dei dispositivi di I/O. Gestore dei file. Sistema di protezione. Gestione della comunicazione tra sistemi distribuiti. Interprete dei comandi. System call I programmi comunicano con il S.O. e richiedono ad esso particolari servizi tramite le chiamate di sistema (system call). Esempi: gestione dei file, sincronizzazione tra processi, invio di messaggi, etc. Importante possono essere disponibili: direttamente come istruzioni nei linguaggi ad alto livello (esempio C) Come istruzioni assembler

System call Si usano tre metodi generali per il passaggio dei parametri tra un processo e il S.O. Passaggio di parametri in registri. Attraverso una tabella in memoria il cui indirizzo è passato come parametro in un registro. Push dei parametri in uno stack da parte del programma, e pop dello stack da parte del kernel. Organizzazione di un S.O. Sistemi monolitici Dos, Unix Sistemi a livelli OS/2 Macchine virtuali VM/370 VMware

Sistemi monolitici Il S.O. è scritto come una collezione di procedure. ogni procedura può chiamare qualunque altra procedura del sistema (nessun livello di gerarchia). Quando un programma utente invoca una system call, il controllo passa al S.O. che esegue la chiamata in modo kernel (o modo superuser) S.O. monolitici - Unix UNIX consiste di 2 parti. programmi di sistema il kernel È l interfaccia al livello fisico dell HW, attraverso le system call Fornisce le funzioni relative al file system, sheduling della memoria e molte altre funzioni

S.O. monolitici - Unix INTERFACCIA AL KERNEL (SYSTEM CALL) SEGNALI DRIVER TERMINAL, DISCHI E TAPE GESTIONE DEVICE A CARATTERI E A BLOCCHI FILE SYSTEM SCHEDULING CPU PAGINAZIONE DELLA MEMORIA INTERFACCIA DEL KERNEL VERSO L HW CONTROLLER DEI TERMINALI, UTENTI SHELL E COMANDI COMPILATORI E INTERPRETI LIBRERIE DI SISTEMA CONTROLLER DEI DISCHI, CONTROLLER DELLA MEMORIA S.O. monolitici - Unix Processo Utente 1 Processo Utente 2 Processo Utente n SVC (blocca il processo) Sveglia Interpreta la SVC KERNEL MONOLITICO Predispone l'operazione di I/O Determina quale processo aveva richiesto l'i/o e lo risveglia Processa l'interrupt Dispositivo 1 Attiva la procedura di I/O Dispositivo 2 Interrupt per I/O completato Dispositivo n

Sistemi a livelli Le funzioni del sistema sono organizzate a livelli gerarchici. Ogni livello definisce un tipo di servizio e le modalità di utilizzo da parte del livello superiore. Ogni livello definisce una macchina virtuale, aggiungendo nuove funzionalità. Difficoltà nella realizzazione pratica della gerarchia. Esempio di S.O. a livelli MEM Software UTENTE APPLI- Software CATIVO DI File BASE System I/O HW 0 1 2 3 4 5

Macchine virtuali Una macchina virtuale crea l illusione di processi multipli, ciascuno eseguito da un proprio processore e su una propria memoria (virtuali). Il VM/370 crea più macchine virtuali; ogni macchina può ospitare un S.O. differente. VMware gestisce macchine virtuali: Linux su Windows (NT/2000/XP) nativo Windows su Linux nativo Obiettivi di progetto Obiettivi dell utente facile da apprendere ed usare, affidabile, sicuro e veloce. Obiettivi del progettista facile da progettare, implementare, e mantenere flessibile, affidabile, senza errori ed efficiente.

Meccanismi e politiche I meccanismi determinano come fare qualcosa. Le politiche decidono cosa deve essere fatto. La separazione delle politiche dai meccanismi è un principio molto importante perché consente la massima flessibilità se si decide di cambiare le decisioni politiche.