Introduzione Cosa è un Sistema Operativo? Una breve storia

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

STRUTTURA DEL SISTEMA OPERATIVO
Meccanismi di IPC Problemi classici di IPC
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
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.
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
Elaboratore e Sistemi Operativo
Gestione della Memoria
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
Gestione della Memoria
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
Sistemi Operativi - C Susanna Pelagatti
Operating System Concepts
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Struttura dei sistemi operativi (panoramica)
I Thread.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
1 Gestione del processore Il modello a processi sequenziali.
memoria gestita staticamente:
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Introduzione Cosa è un Sistema Operativo ?
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Fondamenti di Informatica
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
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.
Informatica per medici
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
Silberschatz and Galvin Operating System Concepts CAP. 1 - INTRODUZIONE.
Architettura degli elaboratori
Architettura del calcolatore
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
Threads.
Sistema Operativo (Software di base)
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Gestione del processore (Scheduler)
Gestione dei dispositivi di I/O:
Sistemi Operativi.
Sistemi Elettronici Programmabili
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Il Sistema Operativo.
Gestione della Memoria
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Cos’è un sistema operativo ?
1 System Call ancora Vediamo passo passo come funziona una SC.
I primi elaboratori Anni ‘50 Rigidamente sequenziali
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Transcript della presentazione:

Introduzione Cosa è un Sistema Operativo? Una breve storia Alcuni concetti di base Organizzazione di un SO

Introduzione Un sistema di elaborazione può essere visto come un insieme di livelli di astrazione sovrapposti hardware, prog. di sistema, prog. applicativi

Cos’è un sistema operativo Una macchina estesa nasconde i dettagli complessi dell’hardware presenta agli utenti una macchina astratta, più facile da usare Un gestore di risorse permette a più programmi di condividere le risorse della macchina (stampanti, dischi …) cerca di sfruttare al meglio le risorse presenti

Storia dei Sistemi Operativi (1) Prima generazione 1945 - 1955 valvole, schede a spinotti Seconda generazione 1955 - 1965 transistor, sistemi batch Terza generazione 1965 – 1980 circuiti integrati, multiprogrammazione Quarta generazione 1980 – oggi personal computer

Storia dei Sistemi Operativi (2) Prima generazione 1945 - 1955 valvole, macchine enormi, poco affidabili un solo team costruiva, programmava, manuteneva la macchina programmi in linguaggio macchina assoluto no SO, no assembler ciclo di utilizzo prenotazione inserimento scheda a spinotti calcolo sotto la supervisione del programmatore appl tipiche: tabelle matematiche

Storia dei Sistemi Operativi (3) Seconda generazione 1955 - 1965 transistor, sistemi commerciali molto grossi e costosi (banche, università..) assembler, FORTRAN primi SO un job in esecuzione alla volta fuori linea l’operatore caricava le schede perforate relative al programma e ritirava le stampe inefficiente

Storia dei Sistemi Operativi (4) Un esempio di Sistema Operativo Batch (a lotti) (a,b) le schede relative a un gruppo di programmi vengono lette da un computer specializzato (1401) e trasferite su nastro (tape) (c,d) il nastro di input viene trasportato su un 7094, che effettua il calcolo e produce un nastro di risultati (e,f) il nastro dei risultati complessivi viene stampato da un 1401

Storia dei Sistemi Operativi (5) Struttura di un tipico job in un sistema operativo batch (FMS –Fortran Monitor System)

Storia dei Sistemi Operativi (6) Terza generazione 1965 - 1980 IC su bassa scala computer largamente diffusi diversi linguaggi di programmazione SO molto complessi, diretti predecessori dei sistemi attuali multiprogrammazione OS/360 timesharing CTSS, MULTICS, UNIX ..

Storia dei Sistemi Operativi (7) Un sistema multiprogrammato (3a generazione) tre job distinti coesistono in memoria centrale sovrapposizione di calcolo ed I/O

Gestione di più job/processi in memoria centrale (1) Protezione da comportamenti erronei o utenti malintenzionati Necessità di proteggere sia i job che il sistema operativo Problema della rilocazione il compilatore e il linker assumono che il programma venga caricato all’indirizzo 0 dobbiamo assicurare il funzionamento corretto a partire dall’indirizzo a cui viene caricato (es. 16K) indirizzi di istruzioni e dati devono essere incrementati (rilocazione) rilocazione statica/dinamica

Spazio di indirizzamento di un processo Tre segmenti: testo, dati (statici e heap) e stack

Gestione di più job/processi in memoria centrale (2) base addizionatore + PC + Indirizzo (alla memoria) confrontatore Fault (accesso oltre il limite) limite Due registri: base e limite base: indirizzo iniziale del programma limite: ampiezza spazio indirizzi

Gestione di più job/processi in memoria centrale (3) base e limite sono gestiti dal SO Con due coppie di registri è possibile condividere il segmento testo

Gestione di più job/processi in memoria centrale (4) Protezione dei registri da accessi erronei/intenzionali Due stati di funzionamento: modo utente e modo supervisore (kernel) L'accesso completo all'hardware solo in modo kernel Passaggio controllato da modo utente a modo kernel interruzioni chiamate di sistema (system call)

Interruzioni (1) (a) (b) (a) passi necessari per inizializzare un dispositivo e ricevere una interruzione (b) come viene interrotta la CPU

Interruzioni (2) Passi necessari alla gestione di una interruzione: 1. CPU rileva l’interruzione e legge l’indirizzo del dispositivo (device) su bus salvataggio PC/PSW sullo stack, passaggio in modo kernel 2. L’indirizzo del dispositivo viene usato come indice nella tabella dei gestori delle interruzioni (interrupt vector) 3. Il gestore selezionato prende il controllo e svolge le operazioni necessarie 4. Quando il gestore termina ripristino PC/PSW , ritorno in modo utente si esegue l’istruzione successiva a quella interotta

Chiamate di Sistema (System Call) (1) Gli 11 passi necessari per effettuare la chiamata di sistema read (fd, buffer, nbytes)

Chiamate di Sistema (System Call) (2) count= read (fd, buffer, nbytes) Dettaglio dell’esecuzione di read (fd, buffer, nbytes) 1-3. Salvataggio dei parametri sullo stack 4. Chiamata della funzione di libreria read() 5. Caricamento del codice della system call in un registro fissato Rx 6. Esecuzione TRAP passaggio in kernel mode, salto al codice del dispatcher 7-8. Selezione della SC secondo il codice in Rx 9. Ritorno alla funzione di libreria ripristino user mode, caricamento PC 10-11. Ritorno al codice utente (nel modo usuale)

Struttura di un sistema operativo (1) Sistemi monolitici: insieme di procedure compilate in un unico oggetto ogni procedura può chiamare tutte le altre/ha visibilità delle SD ogni processo esegue parzialmente in modo kernel system call bloccanti i sistemi Unix/Linux e Windows sono monolitici

Struttura di un sistema operativo (2) Un tipico sistema monolitico

Struttura di un sistema operativo (3) Il modello client-server: minimizza le funzioni del SO che girano in modo kernel molte funzioni sono realizzate da processi server che girano in modo utente nucleo minimo (microkernel) : funzioni base per la gestione dei processi e lo scambio dei messaggi comunicazione con i dispositivi vista come messaggi “speciali” l’attesa avviene fuori dal kernel

Struttura di un sistema operativo (4) Il modello client-server

Struttura di un sistema operativo (5) Client-server vs modello monolitico più sicuro meno efficiente si adatta bene ai sistemi operativi di rete Windows NT 3.0 adottava un modello ispirato al client/server (ibrido) studiato in ambito accademico es: MACH, Minix

Struttura di un Sistema Operativo (6) Il modello client-server in ambiente distribuito