Silberschatz, Galvin and Gagne 2002 1.1 Operating System ConceptsIntroduzione Che cosè un Sistema Operativo? Sistemi batch semplici Sistemi batch multiprogrammati.

Slides:



Advertisements
Presentazioni simili
STRUTTURA DEL SISTEMA OPERATIVO
Advertisements

Amministrazione dei servizi di stampa. Sommario Introduzione ai servizi di stampa Introduzione ai servizi di stampa Terminologia della stampa Terminologia.
1 Introduzione ai calcolatori Parte II Software di base.
Gestione Input Output A. Ferrari.
IL COMPUTER: l'HARDWARE
1 Gestori tecnologici reti Reti Client-Server e Peer to Peer.
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Il Sistema Operativo.
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Introduzione allo studio dell’informatica
Operating System Concepts
Strutture dei Sistemi Operativi
Strutture dei Sistemi Operativi
Realizzazione del file system
Scheduling della CPU Concetti fondamentali Criteri di scheduling
INTRODUZIONE AI SISTEMI OPERATIVI
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Struttura dei sistemi operativi (panoramica)
I Thread.
Sistemi Operativi Distribuiti: indice
Linguaggi di programmazione
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione Cosa è un Sistema Operativo ?
Concetti introduttivi
INTRODUZIONE Il termine Informatica deriva dalla fusione dei termini INFORmazione autoMATICA si intende indicare la scienza che ha il compito di raccogliere,
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
SISTEMA OPERATIVO..
Silberschatz and Galvin Operating System Concepts CAP. 1 - INTRODUZIONE.
Il Sistema Operativo (1)
ECDL Patente europea del computer
Programma di Informatica Classi Seconde
Threads.
Di Luca Santucci e Riccardo Latorre LA CONDIVISIONE E L’ACCESSO ALLE RISORSE DI RETE.
Sistema Operativo (Software di base)
Capitolo 0 : Introduzione al corso CdL in Ingegneria Elettronica e delle Telecomunicazioni: Fondamenti dei S.O. (6CFU) Capitolo 0 : Introduzione al corso.
I processi.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
LE TIC INFANTE, VONA, D’AGOSTINO,PULCINO, GUIDONE, FINELLI, DE PADOVA.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Sistemi operativi 2/ed – Ancilotti, Boari, Ciampolini,LipariCopyright © 2008 – The McGraw-Hill Companies srl Capitolo 1 – Concetti introduttivi 1.1Principali.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Migrazione dei processi: Mosix. 2 Cosa è Mosix/OpenMOSIX ? OpenMOSIX è un è una patch del kernel di Linux che aggiunge funzionalit à avanzate di clustering.
Il Sistema Operativo.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Tecnologie dell'informazione e della comunicazione - Stacey S. Sawyer, Brian K. Williams Copyright © The McGraw-Hill Companies srl Introduzione.
Concetti di base Computer, HW e SW
I primi elaboratori Anni ‘50 Rigidamente sequenziali
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Transcript della presentazione:

Silberschatz, Galvin and Gagne Operating System ConceptsIntroduzione Che cosè un Sistema Operativo? Sistemi batch semplici Sistemi batch multiprogrammati Sistemi time–sharing Sistemi per Personal Computer Sistemi paralleli Sistemi distribuiti Sistemi tempo–reale

Silberschatz, Galvin and Gagne Operating System Concepts Che cosè un Sistema Operativo? È un programma che agisce come intermediario tra lutente e lhardware di un computer. Compiti principali del sistema operativo: Eseguire i programmi utente e rendere più semplice la soluzione di possibili problemi. Eseguire i programmi utente e rendere più semplice la soluzione di possibili problemi. Rendere il sistema di calcolo semplice da usare. Rendere il sistema di calcolo semplice da usare. Utilizzare lhardware del computer in modo efficiente. Fornisce un ambiente per eseguire programmi in modo conveniente ed efficiente.

Silberschatz, Galvin and Gagne Operating System Concepts Componenti di un sistema di calcolo 1.Hardware 1.Hardware fornisce le risorse fondamentali di calcolo (CPU, memoria, device di I/O). 2.Sistema Operativo 2.Sistema Operativo controlla e coordina lutilizzo delle risorse hardware da parte dei programmi applicativi dellutente. 3.Programmi Applicativi 3.Programmi Applicativi definiscono le modalità di utilizzo delle risorse del sistema, per risolvere I problemi di calcolo degli utenti (compilatori, database, video game, programmi gestionali). 4.Utenti 4.Utenti persone, altri macchinari, altri elaboratori.

Silberschatz, Galvin and Gagne Operating System Concepts Componenti di un sistema di calcolo

Silberschatz, Galvin and Gagne Operating System Concepts Definizioni di Sistema Operativo Allocatore di risorse Allocatore di risorse controlla, distribuisce ed alloca le risorse (in modo equo ed efficiente). Programma di controllo Programma di controllo controlla lesecuzione dei programmi utente e le operazioni sui dispositivi di I/O. Kernel Kernel – lunico programma perennemente in esecuzione (tutti gli altri sono programmi applicativi).

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi batch semplici Presuppongono un operatore. Utente operatore. Assenza di interazione fra utente e job a run–time. Presuppongono come periferica di ingresso un lettore di schede. Riducono il tempo di setup riunendo in lotti (batch) job simili. Sequenzializzazione automatica dei job il controllo viene trasferito automaticamente da un job al successivo. Primi sistemi operativi rudimentali. Monitor residente: Inizialmente il controllo è del monitor; Inizialmente il controllo è del monitor; In seguito, il controllo viene trasferito ad un job; In seguito, il controllo viene trasferito ad un job; Quando il job termina, il controllo torna al monitor. Quando il job termina, il controllo torna al monitor.

Silberschatz, Galvin and Gagne Operating System Concepts Configurazione di memoria per un sistema batch semplice

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi batch semplici: problemi Basse prestazioni Basse prestazioni: le operazioni di elaborazione e di ingresso/uscita non possono essere svolte contemporaneamente. Lentezza dei lettori di schede. Soluzione Soluzione: i job vengono caricati a lotti da una memoria di massa, che simula le operazioni di I/O vere e proprie (lettura/scrittura di schede) che vengono eseguite off-line. Spooling Spooling: le operazioni di I/O di un job vengono sovrapposte con lelaborazione di un altro job. Mentre viene eseguito un job, il SO… Legge il prossimo job dal lettore di schede su unarea del disco (job queue). Legge il prossimo job dal lettore di schede su unarea del disco (job queue). Stampa loutput di job eseguiti precedentemente, copiandoli dal disco alla stampante. Stampa loutput di job eseguiti precedentemente, copiandoli dal disco alla stampante. Job pool Scheduling dei job Job pool – la struttura dati che permette al SO di selezio- nare il job che verrà successivamente portato in memoria, al fine di aumentare lutilizzo della CPU Scheduling dei job.

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi batch multiprogrammati Più job vengono mantenuti nella memoria principale contemporaneamente e la CPU viene spartita fra loro Scheduling della CPU Scheduling della CPU.

Silberschatz, Galvin and Gagne Operating System Concepts Caratteristiche del SO necessarie alla multiprogrammazione Multiprogrammazione Multiprogrammazione il SO tiene in memoria centrale più job (un sottoinsieme del pool). Il SO deve prendere delle decisioni per gli utenti: Scheduling dei job. Scheduling dei job. Routine di gestione dei mezzi di I/O. Routine di gestione dei mezzi di I/O. Gestione della memoria il sistema deve allocare la memoria per diversi job. Gestione della memoria il sistema deve allocare la memoria per diversi job. Scheduling della CPU il sistema deve selezionare il prossimo job cui affidare il controllo della CPU (da eseguire). Scheduling della CPU il sistema deve selezionare il prossimo job cui affidare il controllo della CPU (da eseguire). Allocazione delle risorse. Allocazione delle risorse.

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi time–sharing Elaborazione interattiva Sistemi time–sharing multitasking Sistemi time–sharing (o multitasking ) La CPU viene commutata tra più job che vengono mantenuti contemporaneamente in memoria e sul disco (la CPU può essere allocata soltanto a job residenti in memoria centrale). I job sono sottoposti a swap–in dal disco alla memoria ed a swap–out dalla memoria al disco. Sistemi interattivi Sistemi interattivi permettono la comunicazione on–line tra utente e sistema; quando il SO termina lesecuzione di un comando, si aspetta il successivo comando da tastiera. File systemon–line I sistemi interattivi devono essere sempre disponibili per laccesso a dati e codice da parte degli utenti. File system on–line.

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi time–sharing Elaborazione interattiva Il time–sharing impone al SO… La gestione e la protezione della memoria; La gestione e la protezione della memoria; La gestione della memoria virtuale; La gestione della memoria virtuale; La gestione di un file system on–line e della memoria secondaria di supporto; La gestione di un file system on–line e della memoria secondaria di supporto; La presenza di meccanismi per lesecuzione concorrente, la comunicazione e la sincronizzazione dei job; La presenza di meccanismi per lesecuzione concorrente, la comunicazione e la sincronizzazione dei job; La presenza di meccanismi per evitare i deadlock. La presenza di meccanismi per evitare i deadlock.

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi per Personal Computer Personal computer sistemi di elaborazione dedicati ad un singolo utente. Mezzi di I/O tastiera, mouse, monitor, piccole stampanti. Convenienti per lutente e da lui completamente gestiti. Possono adottare tecnologie sviluppate per i sistemi operativi per mainframe; tuttavia, normalmente, un solo utente utilizza il PC e quindi non sono necessarie tecniche sofisticate per lutilizzo della CPU, né sono richieste funzioni avanzate di protezione. Possono impiegare (ed avere contemporaneamente installati) vari SO (Windows, MacOS, UNIX, Linux).

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi paralleli Sistemi multiprocessore costituiti da più CPU con capacità di comunicazione diretta. Tightly coupled system i processori condividono la memoria ed il clock; le comunicazioni avvengono normalmente attraverso la memoria condivisa. Vantaggi dei sistemi paralleli: Aumento del throughput Aumento del throughput Risparmio economico (condivisione di risorse fisiche) Risparmio economico (condivisione di risorse fisiche) Aumento dellaffidabilità Aumento dellaffidabilità Degradazione controllata (graceful degradation) Degradazione controllata (graceful degradation) Tolleranza ai guasti Tolleranza ai guasti

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi paralleli Multiprocessing Simmetrico (Symmetric multiprocessing, SMP ) Ciascun processore esegue una copia identica del sistema operativo. Ciascun processore esegue una copia identica del sistema operativo. Molti processi possono essere eseguiti contemporaneamente senza calo prestazionale. Molti processi possono essere eseguiti contemporaneamente senza calo prestazionale. Molti SO moderni supportano il multiprocessing simmetrico. Molti SO moderni supportano il multiprocessing simmetrico. Multiprocessing Asimmetrico (Asymmetric multiprocessing) A ciascun processore viene assegnato un compito specifico; un processore master controlla il sistema e stabilisce la ripartizione dei compiti dei processori slave. A ciascun processore viene assegnato un compito specifico; un processore master controlla il sistema e stabilisce la ripartizione dei compiti dei processori slave. Più comune nei sistemi di calcolo di grandi dimensioni Più comune nei sistemi di calcolo di grandi dimensioni. Utilizzo di microprocessori front–end per le periferiche a caratteri o la gestione di memorie di massa. Utilizzo di microprocessori front–end per le periferiche a caratteri o la gestione di memorie di massa.

Silberschatz, Galvin and Gagne Operating System Concepts Architettura per multiprocessing simmetrico

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi distribuiti Distribuiscono le elaborazioni fra più processori fisici. Loosely coupled system ciascun processore ha la propria memoria locale; i processori comunicano fra loro attraverso vari tipi di linee di comunicazione, quali bus ad alta velocità e linee telefoniche. Vantaggi dei sistemi distribuiti: Condivisione delle risorse Condivisione delle risorse Aumento delle prestazioni, attraverso la spartizione del carico di lavoro Aumento delle prestazioni, attraverso la spartizione del carico di lavoro Affidabilità Affidabilità Comunicazioni Comunicazioni

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi distribuiti Richiedono uninfrastruttura di networking. La rete può essere una LAN (Local Area Network ) o una WAN (Wide Area Network ). I sistemi possono avere architettura di tipo client–server o peer–to–peer. Il Peer è il normale PC di casa utilizzato da coloro che si connettono per fare posta elettronica, navigare nel Web, o semplicemente viene utilizzato per video–scrittura, etc. Molti di questi PC non posseggono un IP stabile, ma si connettono alla rete tramite modem (non sono disponi- bili 7x24 e non offrono servizi).

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi distribuiti Sistemi operativi distribuiti Sistemi operativi distribuiti Minor autonomia fra computer; Minor autonomia fra computer; Si ha limpressione che un unico sistema operativo controlli e gestisca in maniera trasparente lintera rete. Si ha limpressione che un unico sistema operativo controlli e gestisca in maniera trasparente lintera rete. Sistemi operativi di rete Sistemi operativi di rete Consentono la condivisione di file; Consentono la condivisione di file; Garantiscono uno schema di comunicazione; Garantiscono uno schema di comunicazione; Vengono eseguiti indipendentemente per ciascun computer in rete. Vengono eseguiti indipendentemente per ciascun computer in rete.

Silberschatz, Galvin and Gagne Operating System Concepts Struttura di tipo client–server

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi a cluster clustering Il clustering permette la condivisione della memoria fra due o più sistemi. Garantisce notevole affidabilità. Clustering asimmetrico Clustering asimmetrico: un server esegue le applicazioni, mentre gli altri rimangono in standby. Clustering simmetrico Clustering simmetrico: tutti gli N host eseguono contemporaneamente le applicazioni.

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi tempo–reale Spesso utilizzati per applicazioni dedicate, quali il controllo di esperimenti scientifici, nei sistemi di rappresentazione di immagini per applicazioni mediche, per il controllo di sistemi industriali (applicazioni alla robotica), etc. Caratterizzati da vincoli predefiniti sui tempi di risposta (tempi di elaborazione e di accesso ai dati). I sistemi real–time possono essere classificati nelle due categorie hard e soft real–time.

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi tempo–reale Hard real–time: Hard real–time: Memoria secondaria limitata o totalmente assente, dati memorizzati in memorie volatili o di sola lettura (ROM). Memoria secondaria limitata o totalmente assente, dati memorizzati in memorie volatili o di sola lettura (ROM). Non realizzano il time–sharing. Le funzionalità hard real–time non sono supportate dai SO general purpose. Non realizzano il time–sharing. Le funzionalità hard real–time non sono supportate dai SO general purpose. Soft real–time: Soft real–time: I task critici hanno priorità sugli altri task e la mantengono fino al completamento dellesecuzione. I task critici hanno priorità sugli altri task e la mantengono fino al completamento dellesecuzione. Utile nelle applicazioni che richiedono caratteristiche avanzate del SO (multimedia, realtà virtuale), ma non per controllo industriale e robotica. Utile nelle applicazioni che richiedono caratteristiche avanzate del SO (multimedia, realtà virtuale), ma non per controllo industriale e robotica.

Silberschatz, Galvin and Gagne Operating System Concepts Sistemi palmari Assistenti Digitali Personali (Personal Digital Assistants PDAs) Telefoni cellulari Caratteristiche: Memoria limitata Memoria limitata Processori lenti Processori lenti Video display di piccole dimensioni Video display di piccole dimensioni

Silberschatz, Galvin and Gagne Operating System Concepts Migrazione temporale di concetti e caratteristiche dei SO GE 645 (MIT) PDP–11 (Bell Labs)

Silberschatz, Galvin and Gagne Operating System Concepts Ambienti di elaborazione Elaborazione tradizionale Elaborazione Web–based (in rete) Elaborazione in sistemi embedded