Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI STRUTTURE DEI SISTEMI OPERATIVI



Documenti analoghi
SISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2015

Stru%ura' dei' Sistemi' Opera/vi'

Il Sistema Operativo (1)

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

SISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2018

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

Approccio stratificato

Architettura di un sistema operativo

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

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Capitolo 2 -- Silberschatz

Sommario della lezione

Strutture dei sistemi operativi

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

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

2. Strutture dei Sistemi Operativi

The Onion PC. Virtualizzazione strato dopo strato

Organizzazione Monolitica

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

PARTE 4 La Macchina Software

Lezione 3. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Architetture software. Virtualizzazione

Software di base. Corso di Fondamenti di Informatica

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

Classificazione del software

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

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

Corso di Alfabetizzazione Informatica

Strutture dei Sistemi Operativi. Componenti del sistema Servizi di un sistema operativo Struttura dei sistemi operativi

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

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

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Università di Bologna Corso di Laurea Specialistica in Ingegneria dell'automazione e Ingegneria Elettronica A.A Sistemi Operativi L-A

Corso di Informatica

Laboratorio di Informatica

Introduzione alla Virtualizzazione

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Capitolo 3: Strutture dei sistemi operativi

Il Software. Il software del PC. Il BIOS

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

Sistemi Operativi (modulo di Informatica II) Architettura

Corso Linux Base informatica Open source

Il Linux che verrà... Francesco Crippa

Hardware delle reti LAN

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

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

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

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

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi: Programmazione di Sistema

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

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

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Introduzione ai sistemi operativi

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MODULO 02. Iniziamo a usare il computer

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

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

CAPITOLO 5 - Sistemi Operativi Moderni

Architetture Informatiche. Dal Mainframe al Personal Computer

Il Sistema Operativo

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

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Opera=vi

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Infrastrutture Software

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

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

Virtualizzazione e Macchine Virtuali

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

Architetture Informatiche. Dal Mainframe al Personal Computer

Strutture dei Sistemi Operativi

Corso di Informatica

Progetto di Applicazioni Software

CdL in Medicina Veterinaria - STPA AA

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

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Linguaggi di programmazione

Progetto Virtualizzazione

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Progetto di Applicazioni Software

Sistemi Operativi. Conclusioni e nuove frontiere

Sistemi Operativi (modulo di Informatica II) Concetti base e architettura

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

TITLE Sistemi Operativi 1

Protezione del Kernel Tramite Macchine Virtuali

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

VMware. Gestione dello shutdown con UPS MetaSystem

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

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

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

Analisi dei rischi della system call chroot e un valido sostituto: le jail. Marco Trentini mt@datasked.com

Corso di Sistemi di Elaborazione delle informazioni

LINUX. Che cos'e` un sistema operativo?

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

Progettaz. e sviluppo Data Base

Transcript:

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI STRUTTURE DEI SISTEMI OPERATIVI SERVIZI DI UN SISTEMA OPERATIVO

Panoramica dei servizi del sistema operativo Giorgio Giacinto 2009 Sistemi Operativi 3 INTERFACCE UTENTE

Interfaccia utente L nterprete dei comandi! Il sistema operativo riceve dei comandi da eseguire tramite stringhe di testo! I comandi possono! far parte dell interprete dei comandi! essere dei programmi separati! Nei sistemi Unix/Linux è chiamata shell! diversi tipi di shell (C-, bourne, k-, ecc.)! Gli amministratori di sistema interagiscono tramite shell Giorgio Giacinto 2009 Sistemi Operativi 5 Interfacce utente Interfacce grafiche! Nate negli anni 70 dalle ricerche nei laboratori Xerox di Palo Alto! Primi utilizzi: Xerox Alto e Apple Macintosh! Utilizzano metafore (scrivania ) e icone per rendere intuitivo l uso del computer da parte di utenti non esperti! Diverse iterfacce! Macintosh! Windows! KDE, Gnome, ecc. nel mondo Linux Giorgio Giacinto 2009 Sistemi Operativi 6

CHIAMATE DI SISTEMA Cos è una chiamata di sistema?! Il sistema operativo mette a disposizione i suoi servizi ai programmi utente attraverso codice in C o C++! I programmatori effettuano chiamate al sistema attraverso le API (Application Programming Interface)! La sintassi delle API (POSIX, Win32) sono standardizzate! La richiesta di un servizio al sistema operativo tramite API può coinvolgere più di una chiamata al sistema Giorgio Giacinto 2009 Sistemi Operativi 8

Chiamate di sistema Un esempio Copia di dati da un file a un altro Giorgio Giacinto 2009 Sistemi Operativi 9 API Un esempio! ReadFile() - API Win32! file - file da cui leggere! buffer - buffer da cui leggere i dati provenienti dai file! bytestoread - numero di byte da trasferire dal file al buffer! bytesread - numero di byte effettivamente letti! ovl - indica l uso dello spooling (overlapped I/O) Giorgio Giacinto 2009 Sistemi Operativi 10

Chiamata di sistema open() Giorgio Giacinto 2009 Sistemi Operativi 11 Libreria standard del linguaggio C - write() Giorgio Giacinto 2009 Sistemi Operativi 12

Passaggio di parametri in forma di tabella Giorgio Giacinto 2009 Sistemi Operativi 13 Categorie di chiamate di sistema! Controllo dei processi! Gestione dei file! Gestione dei dispositivi! Gestione delle impostazioni di base! Comunicazione Giorgio Giacinto 2009 Sistemi Operativi 14

Esempi chiamate di sistema UNIX - Win32 Controllo dei processi Gestione dei file Gestione dei dispositivi Gestione delle informazioni Comunicazione Protezione Windows CreateProcess() ExitProcess() WaitForSIngleObject() CreateFile() ReadFile() WriteFile() CloseHandle() SetConsoleMode() ReadConsole() WriteConsole() GetCurrentProcessID() SetTimer() Sleep() CreatePipe() CreateFileMapping() MapViewOfFIle() SetFileSecurity() InitializeSecurityDescriptor() SetSecurityDescriptorGroup() UNIX fork() exit() wait() open() read() write() close() ioctl() read() write() getpid() alarm() sleep() pipe() shmget() nmap() chmod() umask() chown() Giorgio Giacinto 2009 Sistemi Operativi 15 Esecuzione nell MS-DOS (a) All!avviamento del sistema (b) Durante l!esecuzione di un programma Giorgio Giacinto 2009 Sistemi Operativi 16

Esecuzione di più programmi nel sistema operativo FreeBSD Giorgio Giacinto 2009 Sistemi Operativi 17 PROGRAMMI DI SISTEMA

Programmi di sistema! Programmi accessori e programmi di utilità di sistema! Gestione, modifica, backup di file! Informazioni di stato! Ambienti di supporto alla programmazione (compilatori, debugger, ecc.)! Altri programmi inclusi nel sistema, ma non parte del sistema in senso stretto! Web browser! Office automation! Lettori multimediali Giorgio Giacinto 2009 Sistemi Operativi 19 PROGETTAZIONE E REALIZZAZIONE DI SISTEMI OPERATIVI

Aspetti della progettazione e realizzazione! Scopi! Campo di utilizzo del sistema e categorie di utenti! Criteri (policy) e meccanismi! Cosa fare e come farlo! Realizzazione! Linguaggi di alto livello e linguaggio assembly Giorgio Giacinto 2009 Sistemi Operativi 21 STRUTTURA DEI SISTEMI OPERATIVI

Struttura semplice! E la struttura tipica dei primi sistemi operativi! Progettati ad hoc per utilizzare in modo più agevole i sistemi di calcolo! Riflettono le limitazioni dell hardware Es. MS-DOS e prime versioni UNIX! Caratteristiche salienti! Scarsa modularità! Progettato in modo monolitico! Possibilità di accesso diretto a I/O dei programmi utente Giorgio Giacinto 2009 Sistemi Operativi 23 Struttura semplice MS-DOS Giorgio Giacinto 2009 Sistemi Operativi 24

Struttura semplice UNIX Giorgio Giacinto 2009 Sistemi Operativi 25 Struttura a strati! Necessario supporto hardware! Suddivisione in moduli! Il sistema operativo può nascondere gran parte delle funzionalità di basso livello! Maggior sicurezza del sistema da usi impropri! Aggiornamento e aggiunta di funzionalità più agevole! I programmatori interagiscono solo con le funzioni esposte ad alto livello (API) Giorgio Giacinto 2009 Sistemi Operativi 26

Struttura a strati Modello a buccia di cipolla Problemi di progettazione: - numero degli strati - funzionalità presenti in ciascuno strato - efficienza del sistema Giorgio Giacinto 2009 Sistemi Operativi 27 Microkernel Giorgio Giacinto 2009 Sistemi Operativi 28

Microkernel! Anni 80: i kernel dei sistemi operativi erano di dimensioni elevate! Microkernel: individuare le funzioni essenziali, implementando il resto come processi utente Es. sistema Mach (Carnegie Mellon)! I componenti esterni al microkernel sono implementati come processi server! Interagiscono fra di loro tramite scambio di messaggi attraverso il microkernel! possibile fonte di rallentamenti del sistema Giorgio Giacinto 2009 Sistemi Operativi 29 Struttura modulare! Modalità di progettazione mutuata dalla programmazione orientata agli oggetti! kernel con componenti fondamentali! funzionalità integrative realizzati come moduli caricabili dinamicamente! ad es., supporto per file system diversi! i moduli possono comunicare fra loro senza l intervento del kernel! Aspetti positivi della struttura a strati e a microkernel Giorgio Giacinto 2009 Sistemi Operativi 30

Moduli caricabili di Solaris Giorgio Giacinto 2009 Sistemi Operativi 31 Struttura di Mac OS X Giorgio Giacinto 2009 Sistemi Operativi 32

VIRTUALIZZAZIONE Macchine virtuali! Evoluzione della struttura a strati! Uno strato implementa le funzionalità della nuda architettura hardware! Diversi sistemi operativi possono essere eseguiti su ciascuna macchina virtuale! Necessari meccanismi di base per gestire l hardware reale: CPU, gerarchia di memoria, I/O! Primi esempi in sistemi IBM negli anni 70 Giorgio Giacinto 2009 Sistemi Operativi 34

Virtualizzazione (a) Semplice (b) Macchina virtuale Giorgio Giacinto 2009 Sistemi Operativi 35 Vantaggi virtualizzazione! Ambienti enterprise! Realizzare ambienti separati logicamente su una stessa infrastruttura hardware! Riduzione dei costi rispetto ad avere servizi diversi su macchine dedicate (consolidamento)! Miglioramento protezione rispetto ad avere servizi diversi su una stessa macchina! Consente di poter eseguire sistemi operativi diversi! Utenti privati, professionisti, PMI! Poter eseguire diversi sistemi operativi su una stessa infrastruttura hardware Giorgio Giacinto 2009 Sistemi Operativi 36

Architettura Solaris 10 Esempio con due contenitori Paravirtualizzazione Non viene virtualizzato lo strato hardware, ma il sistema operativo. Ciascun processo viene eseguito in un ambiente separato Giorgio Giacinto 2009 Sistemi Operativi 37 Architettura VMware Giorgio Giacinto 2009 Sistemi Operativi 38

Problematiche realizzative! L hardware reale esegue le macchine virtuali in modalità utente! Le macchine virtuali hanno sia la modalità utente sia la modalità kernel! Il sistema di gestione delle macchine virtuali utilizza la modalità kernel Virtualizzazione più efficiente se supportata da hardware Ad es., AMD, IBM Giorgio Giacinto 2009 Sistemi Operativi 39 Ambiente.NET (Microsoft) Giorgio Giacinto 2009 Sistemi Operativi 40

Macchina virtuale Java Giorgio Giacinto 2009 Sistemi Operativi 41