Introduzione ai sistemi operativi
|
|
|
- Susanna Manfredi
- 9 anni fa
- Просмотров:
Транскрипт
1 Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi Introduzione ai sistemi operativi
2 Contatti Docente: Alberto Pretto Ricevimento Appuntamento tramite Slide Pubblicate sulla pagina moodle del corso 2
3 Programma di massima Cos'è un sistema operativo. Le sue funzioni. La sua storia. Interrupt e chiamate di sistema Processi e thread Algoritmi di scheduling Programmazione concorrente: sincronizzazione dei processi e deadlock Gestione della memoria principale: memoria virtuale e paginazione Gestione del file system Casi di studio basati su S.O. Linux: la shell ed il filesystem, i comandi Unix fondamentali, il multithreading,... 3
4 Testi di riferimento Silberschatz, Galvin, Gagne: Sistemi Operativi. Concetti ed Esempi. Pearson Ottava edizione (2009) Slide e dispense del corso. Per consultazione: Andrew S. Tanenbaum: I moderni sistemi operativi. Pearson Ottava edizione (2009) 3/Ed. 4
5 Valutazione Esame scritto: Prova scritta parte di reti Prova scritta parte di sistemi operativi 5
6 Introduzione ai sistemi operativi, cenni storici. 6
7 Struttura e funzioni di un SO Un sistema operativo è un programma che controlla l esecuzione dei programmi applicativi e funge da interfaccia tra l utente di un computer e l hardware. Un sistema operativo: Alloca risorse, evitando conflitti tra i vari processi che le utilizzano Controlla il flusso di esecuzione dei programmi, gestendo le situazioni di errore 7
8 Obiettivi di un S.O. Eseguire in maniera opportuna i programmi Facilitare l uso del computer Far sì che le risorse del computer siano usate in modo efficiente 8
9 Le quattro componenti di un sistema di elaborazione Persone o altri computer Come risolvere i problemi computazionali Controlla e coordina l'hw Risorse computazionali (CPU, memoria, dispositivi di I/O) 9
10 Organizzazione di base di un sistema di elaborazione Bus: collegamento elettrico tra parti diverse di un elaboratore che consente il trasferimento di informazione. Un bus è composto da una o più linee che consentono il trasferimento di più bit in parallelo (ogni linea consente di trasferire un bit).. 10
11 Facilitare l uso del computer il SO fornisce un interfaccia tra: Computer e utente Computer e programmatore 11
12 Servizi forniti da un SO Per facilitare l uso del computer il SO fornisce diversi servizi: Esecuzione di programmi Accesso ai dispositivi di I/O Accesso protetto alle risorse condivise. Gestione degli errori e dei malfunzionamenti. Sviluppo di software - editor, compilatori, debugger, etc. Gestione di statistiche e raccolta dati per monitorare le prestazioni. 12
13 Usare le risorse in modo efficiente Le risorse che il SO cerca di usare in modo efficiente sono: Il processore La memoria Multitasking più programmi in esecuzione Scheduler pianifica e determina le esecuzioni Paging suddivisione della memoria in porzioni di dimensioni fisse Memoria virtuale facilita la gestione della memoria per i programmi e simula una quantità maggiore di RAM I dispositivi di I/O Gestione dei file organizzazione, diritti di accesso I/O buffering ottimizzare le operazioni di I/O Assegnazione dei dispositivi accesso concorrente 13
14 Evoluzione dei SO Elaborazione seriale ( ) Un programma alla volta, niente SO, dispositivi rudimentali, codice binario Elaborazione batch ( ) Un programma di seguito all altro, monitor, JCL (Job Control Language), protezione della memoria Sistemi batch multiprogrammati ( ) Time-sharing Più di un programma in memoria, scheduler, maggiore efficienza Hardware più sofisticato (interrupt, DMA, MMU) Gestione dei processi Job interattivi, esecuzione a turno dei job, virtualizzazione del processore 14
15 Evoluzione dei SO ( ) Elaborazione seriale ( ) Un programma alla volta L utente andava direttamente sulla macchina a caricare il suo software Niente SO Interruttori, dispositivi di input rudimentali (lettori di schede perforate, lettori di banda perforata, ) Programmi scritti in codice binario Errori indicati da lampadine Completamento normale output su stampante Prenotazione su fogli cartacei Tempi di preparazione molto lunghi (caricamento del programma, montaggio e smontaggio di nastri magnetici, banda perforata, pacchi di schede perforate, ). 15
16 Evoluzione dei SO ( ) Elaborazione batch ( ) Un programma di seguito all altro, senza soste. Il batch monitor (programma residente in memoria) carica ed esegue uno alla volta i programmi (con i dati relativi), leggendoli da un dispositivo di input (lettore di schede o unità nastro), stampando di volta in volta i risultati. L utente non accede alla macchina, ma consegna il pacco di schede (programma e dati) ad un operatore che li inserisce, uno di seguito all altro, nel dispositivo di input. Schede di controllo contenenti istruzioni per il monitor (JCL - Job Control Language) sono inserite prima del programma (job), tra programma e dati e alla fine dei dati. 16
17 Evoluzione dei SO ( ) Sistemi batch multiprogrammati Più di un programma in memoria (multitasking) Quando il programma in esecuzione chiede al SO di eseguire un operazione di I/O (lenta), il SO avvia l operazione e, nell attesa che sia completata, cede il controllo ad un altro programma (che sia pronto). Il SO comprende uno scheduler. Il funzionamento è ancora di tipo batch (l utente consegna il pacco di schede e ripassa più tardi a ritirare le sue schede e il pacco con le stampe). La produttività è più alta, perché il processore è usato in modo più efficiente. 17
18 Sistemi batch multiprogrammati Caratteristiche aggiuntive che devono essere presenti nell hardware: Gestione dell I/O tramite interruzioni Gestione dell I/O tramite DMA Gestione della memoria (MMU) Lo scheduler può gestire: Programmi indipendenti Attività (task) di un medesimo programma che possono procedere in parallelo (multitasking) Lo scheduler di un SO multitasking gestisce: Processi (programmi indipendenti o task cooperanti). Processo entità attiva che rappresenta l'esecuzione del programma. 18
19 Sistemi time-sharing Le modalità di funzionamento non sono più di tipo batch Gli utenti usano un terminale per accedere al sistema in cui vengono eseguiti job interattivi Adatti ad applicazioni con transazioni interattive il SO, tramite lo scheduler, esegue a turno ciascun programma per un breve quanto temporale (time-slicing): Sfrutta la lentezza dei tempi di reazione dell utente I tempi di risposta percepiti dagli utenti sono paragonabili a quelli di un sistema dedicato 19
20 Obiettivi dei SO time-sharing Un SO time-sharing è un SO multiprogrammato con obiettivi diversi: SO multiprogrammato: rendere massima l utilizzazione del processore SO time-sharing: Rendere minimi i tempi di risposta. e con diverse modalità di interazione: SO multiprogrammato ramite comandi JCL forniti con il job SO time-sharing tramite terminale 20
21 Evoluzione dei SO ( ) Personal Computer Inizialmente SO monoutente e monotask (MS-DOS) per processori di potenza limitata (Intel 8086, 80186, 80286) Successivamente SO multitasking e multiutente (Windows, Unix, Macintosh) con processori più potenti (Intel 80386, Intel 80486, Intel Pentium, AMD 64 bit, Intel Core ix,...). 21
22 SO per personal computer Obiettivi diversi dai SO per mainframe: SO per mainframe: massimizzare l uso delle risorse (processore e dispositivi) SO per PC: massimizzare la facilità d uso e la prontezza di risposta Caratteristiche comuni ai SO per mainframe e per PC: Scheduler Protezione della memoria Gestione della concorrenza Altre caratteristiche: Protezione dei file Protezione dai virus 22
23 Evoluzione dei SO ( ) Sistemi paralleli aumentare le prestazioni Sistemi multiprocessore (simmetrici, asimmetrici) Sistemi distribuiti (cluster) Sistemi real-time fornire il risultato corretto entro un tempo prefissato Controllo di processo Sistemi embedded Hard e soft real-time 23
24 Vantaggi: Sistemi multiprocessore Prestazioni migliori Scalabilità Affidabilità maggiore (graceful degradation or fault tolerance) 24
25 Sistemi multicore Più CPU nello stesso package (chip) 25
26 Sistemi cluster Più computer interconnessi fra di loro (es. attraverso interfaccia Ethernet) 26
27 Client-Server e P2P Computing Client-server: ruoli ben definiti, un server, molti client, es.: Compute server (database) File server Peer-to-Peer: non vi è distinzione tra i computer connessi EMule 27
28 Componenti di un SO Gestore dei processi Gestore della memoria Gestore dei sistemi di I/O Gestore della memoria secondaria Gestore dei file Gestore delle comunicazioni di rete Gestore della sicurezza Interprete dei comandi 28
29 Servizi di un SO Richiesti al SO da: Utenti, tramite l interprete dei comandi (CLI o GUI) Programmi, tramite system call Esecuzione di programmi Operazioni di I/O Accesso al file system Comunicazioni tra processi (shared memory, pipes,...) Gestione delle risorse Protezione interna e sicurezza verso l esterno Gestione delle condizioni anomale Gestione delle statistiche 29
30 Strutture dei SO A strati o livelli (layered): Microkernel: Ciascun livello fornisce funzionalità al livello superiore, usando (e nascondendo) quelle del livello inferiore Il livello più basso del SO è il kernel (nucleo) Non è facile definire l ordinamento delle varie funzioni Può introdurre inefficienza Solo le funzioni essenziali fornite dal kernel Le altre funzioni sono affidate a processi (eseguiti in modo supervisore o in modo utente) trattati dal microkernel alla stregua degli altri processi 30
31 SO con architettura a strati 31
32 SO con architettura microkernel 32
33 Architettura di un SO UNIX 33
Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
Sistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
A.A sull insegnamento Architettura degli Elaboratori e Sistemi Operativi (B)
Principali informazioni A.A. 2017-2018 sull insegnamento Titolo insegnamento Architettura degli Elaboratori e Sistemi Operativi (B) Corso di studio Informatica Crediti formativi 9 (7 + 2) Denominazione
Sistemi Operativi Modulo A a.a gruppo 1 (A-I)
Sistemi Operativi Modulo A a.a. 2002-2003 - gruppo 1 (A-I) Docente: Mario Guarracino [email protected] tel. 081 6139519 http://www.dma.unina.it/~mariog Informazioni logistiche Orario delle lezioni
Lezione 2 Chiamate di procedura e risposta alle interruzioni
Modulo 1 U.D. 1 Lez. 2 Lezione 2 Chiamate di procedura e risposta alle interruzioni Sistemi Operativi I Modulo 1 - Architettura del Calcolatore Unità didattica 1 - Architettura e funzionamento dei sistemi
Fondamenti di Informatica T. Il Software
Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze
Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:
Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: [email protected]
Il Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione
Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento
Personal Computer: introduzione
I.I.S. Benvenuto Cellini Corso di formazione tecnica Personal Computer: introduzione Prof. Alessandro Pinto v.2009 Architettura di Von Neumann Unità centrale di elaborazione Input Unità aritmetico-logica
Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas
I sistemi operativi (prima parte) Le esigenze dell informatica moderna Computer facili da usare Gestione di grandi archivi di dati Esecuzione di più programmi sulla stessa macchina Collegamento in rete
INFORMATICA. L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
Capitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Cos'è un sistema operativo?(software di base) Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia
L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:
Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti
Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.
Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf. Il Sistema Operativo (O.S. Operating System) è un insieme di programmi che governa e controlla
Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
IL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO... è l insieme dei programmi che! agisce come intermediario tra l utente del computer e l hardware Il suo scopo è quello di! rendere agevole l uso dell hardware, mascherando le caratteristiche
Dal sistema operativo all' hardware
Dal sistema operativo all' hardware Di cosa parleremo? Il computer (processore e memoria principale) Cosa avviene all'avvio del computer? processi Scheda madre Alimentatore Memorie Secondarie (floppy disk,
Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A. 2002-2003
Domenico Talia Facoltà di Ingegneria UNICAL A.A. 2002-2003 1.1 Introduzione Presentazione del corso Cosa è un Sistema Operativo? Sistemi Mainframe Sistemi Desktop Sistemi Multiprocessori Sistemi Distribuiti
Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,
Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A. 2002-2003 1.1. Sistemi Operativi. D. Talia - UNICAL
Domenico Talia Facoltà di Ingegneria UNICAL A.A. 2002-2003 1.1 Introduzione Presentazione del corso Cosa è un Sistema Operativo? Sistemi Mainframe Sistemi Desktop Sistemi Multiprocessori Sistemi Distribuiti
Sistema operativo & file system 1
Il software (sw) Software di sistema e file system Lezione 1b L esecuzione di programmi è lo scopo di un elaboratore I programmi sono algoritmi codificati in un particolare linguaggio di programmazione
Appunti di SISTEMI OPERATIVI
Appunti di SISTEMI OPERATIVI AVVERTENZE Questi appunti non vogliono essere degni sostituti di un buon libro di testo e hanno il solo scopo di aiutare gli studenti dei corsi di informatica che affrontano
Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
INTRODUZIONE ALL INFORMATICA
INTRODUZIONE ALL INFORMATICA Docente (teoria) Docente: Wolfgang Faber Annamaria BRIA Studio: Dipartimento di Matematica Cubo 31B 30B IV PIANO 2 Piano Ricevimento: Giovedì dietro dalle appuntamento 17:30
Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni
Motivazione Sistemi operativi Molte attivita in parallelo su un singolo calcolatore Es.: stampa di un documento e scrittura di un altro Il sistema operativo serve a coordinare queste attivita e far comunicare
ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche
ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e
Prof. Rossella Cancelliere
Laboratorio di Informatica e Statistica Chimica Industriale a.a 2004/05 Prof. Rossella Cancelliere Dip. Informatica Univ.Torino C.so Svizzera 185,Torino email:[email protected] tel: 011/670 67 77 Obiettivi
SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.
SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a
Sistema Operativo. (hardware e software) della della macchina
Sistema Operativo Senza Sistema Operativo (SO) un computer è solo un macchinario inutile... Il SO rende possibile la gestione, elaborazione e immagazinamento dell informazione. Il Il SO SO è il il software
Modulo 1: Le I.C.T. UD 1.4b: Anatomia del Computer
Modulo 1: Le I.C.T. : Anatomia del Computer Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno ANATOMIA
SISTEMI OPERATIVI - canale 1
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-2 anno SISTEMI OPERATIVI - canale 1 ING-INF/05-6 CFU - 1 semestre titolare
Il sistema operativo. Sistema Operativo
Sistemi operativi Il sistema operativo Sistema Operativo HW Il sistema operativo SW Applicativo Sistema Operativo HW SW = Sistema Operativo + SW applicativo Il sistema operativo il sistema operativo fornisce
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
