INTRODUZIONE AI SISTEMI OPERATIVI

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Linguaggi di programmazione
Gestione della memoria centrale
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.
TEORIA DEI SISTEMI OPERATIVI
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
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:
12. Il Sistema Operativo Ing. Simona Colucci
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Introduzione ai sistemi operativi
Introduzione ai sistemi operativi
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Architetture hardware e software dei calcolatori
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Introduzione: Sistemi Operativi I
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Linguaggi di programmazione
Laboratorio di Informatica
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione Cosa è un Sistema Operativo ?
Il sistema operativo Vito Perrone
Sistemi Operativi Insieme di programmi che permettono di gestire le risorse (HW e SW ) efficientemente. Funzioni principali: conservare lo stato delle.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
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.
Il Software Una programmazione diretta della macchina hardware da parte degli utenti è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica.
MODULO 01 Unità didattica 04
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
SISTEMA OPERATIVO..
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Il sistema operativo.
MicroSoft - Disk Operating System. MS-DOS è stato un sistema operativo commerciale della Microsoft Corporation dedicato ai personal computer con microprocessore.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
Sistema Operativo (Software di base)
I processi.
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
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 è un insieme di programmi che gestiscono tutte le componenti hardware e software di un calcolatore. Spesso si può.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l’ambiente e il territorio Il software di base Stefano Cagnoni e Monica Mordonini.
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.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Generale Marzia Buscemi
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
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.
 Negli anni 40 i sistemi operativi non esistevano, i programmatori infatti avevano un accesso diretto alle risorse hardware.  Il primo sviluppo dei.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Transcript della presentazione:

INTRODUZIONE AI SISTEMI OPERATIVI

Introduzione Il software può essere diviso un due grandi classi: i programmi di sistema che gestiscono le operazioni del sistema di elaborazione i programmi applicativi che risolvono i problemi dei loro utilizzatori; L’insieme dei Programmi di Sistema viene comunemente identificato con il nome di Sistema Operativo (SO).

Scopo del Sistema Operativo Gestione delle risorse del sistema di elaborazione Rendere AGEVOLE l’interfaccia tra l’uomo e la macchina.

Attività svolte dal Sistema Operativo Gestione della memoria di massa (file system); Gestione della memoria RAM; Gestione dei processi;

Attività svolte dal Sistema Operativo (Cont.) Gestione dell’ interfaccia utente; Accesso simultaneo di più utenti alla stessa macchina; Esecuzione simultaneamente di più processi sulla stessa macchina.

Struttura del Sistema Operativo I SO sono generalmente costituiti da un insieme di moduli, ciascuno dedicato a svolgere una determinata funzione; I vari moduli del SO interagiscono tra di loro secondo regole precise al fine di realizzare le funzionalità di base dalla macchina.

Struttura del Sistema Operativo (cont.) Interfaccia utente Gestore degli I/O Gestore del File System KERNEL Gestore dei Processi Gestore della Memoria Centrale

Gestore dei Processi

Gestore dei Processi E’ il modulo che si occupa di controllare la sincronizzazione, interruzione e riattivazione dei programmi in esecuzione cui viene assegnato un processore; La gestione dei processi viene compiuta in vari modi , in funzione del tipo di utilizzo cui il sistema è rivolto.

Gestore dei Processi (Cont.) Il programma che si occupa della distribuzione del tempo di CPU tra i vari processi attivi, decidendone l’avvicendamento, è comunemente chiamato Scheduler. Nel caso di elaboratori multi-processore si occupa anche di gestire la cooperazione tra le varie CPU presenti nel sistema.

Schedulazione top running ready tempo scaduto evento wait termine attesa (es. I/O) evento wait

Politiche di Scheduling Le politiche di schedulazione utilizzate dallo scheduler sono raggruppabili in due grandi categorie: Preemptive: la CPU in uso da parte di un processo può essere tolta e passata a un altro in un qualsiasi momento; Non Preemptive: una volta che un processo ha ottenuto l’uso della CPU non può essere interrotto fino a che lui stesso non la rilascia.

Sistemi Mono-Tasking I SO che gestiscono l’esecuzione di un solo programma per volta sono catalogati come mono-tasking; Non è possibile sospendere l’esecuzione di un programma per assegnare la CPU a un altro Sono storicamente i primi SO (es MS-DOS).

Sistema Mono-Tasking C B A t T Tempo di utilizzo della CPU. Tempo di attesa di eventi esterni. C B A t T

Sistemi Multi-Tasking I SO che permettono l’esecuzione contemporanea di più programmi sono definiti multi-tasking (Windows-NT , Linux); Un programma può essere interrotto e la CPU passata a un altro programma

Sistema Multi-Tasking Tempo di utilizzo della CPU. Tempo di attesa di eventi esterni. C B A t Tmulti-tasking Tmono-tasking

Sistemi Time-Sharing Un’evoluzione dei sistemi multi-tasking sono i sistemi time sharing. Ogni programma in esecuzione viene eseguito ciclicamente per piccoli quanti di tempo. Se la velocità del processore è sufficientemente elevata si ha l’impressione di un’evoluzione parallela dei processi.

Time-sharing: schema Ipotesi: 1 MIPS, 4 processi, 0.25 s/utente Conseguenze: 0.25 MIPS/utente TELA = 4 ´ TCPU C B A D 0.00” 0.25” 0.75” 0.50”

Time-sharing: diagramma temporale C B A t

Gestore della Memoria

Gestore della Memoria L’organizzazione e la gestione della memoria centrale è uno degli aspetti più critici nel disegno di un SO; Il gestore della memoria è quel modulo del SO incaricato di assegnare la memoria ai vari task (per eseguire un task è necessario che il suo codice sia caricato in memoria);

Gestore della Memoria (Cont.) La complessità del gestore della memoria dipende dal tipo di SO; Nei sistemi multi-tasking più programmi contemporaneamente possono essere caricati in memoria . Problema: come allocare lo spazio in maniera ottimale

Allocazione Lineare Memoria 0000x Programma A Programma B Programma C

PROBLEMA !!!! FRAMMENTAZIONE Allocazione Lineare Memoria 0000x Programma A PROBLEMA !!!! FRAMMENTAZIONE Programma D Programma C

Paginazione Memoria 0000x Programma A Programma B Programma D

Paginazione Programma A Programma E Programma F Programma D Memoria 0000x Programma A Programma E Programma F Programma D

Memoria Virtuale Spesso la memoria non è sufficiente per contenere completamente tutto il codice dei vari task; Si può simulare una memoria più grande tenendo nella memoria di sistema (RAM) solo le parti di codice e dei dati che servono in quel momento; Si usa il concetto di memoria virtuale.

Memoria Virtuale (Cont.) I dati dei programmi non in esecuzione possono essere tolti dalla memoria centrale e parcheggiati su disco nella cosiddetta area di swap; Il rapporto tra le dimensioni dell’area di swap e della RAM è di 3 : 1 (max); I moderni processori posseggono meccanismi hardware per facilitare la gestione della memoria viertuale.

Memoria Virtuale Programma A-1 Programma B-1 Programma D Programma A-2 0000x Programma A-1 Programma B-1 Programma D Programma A-2 Programma A-3 Programma B-2 Swap

Memoria Virtuale Programma A-2 Programma B-1 Programma D Programma A-1 0000x Programma A-2 Programma B-1 Programma D Swap Programma A-1 Programma A-3 Programma B-2

Gestore del File System

Gestore del File System Il gestore del file system è quel modulo del sistema operativo incaricato di gestire le informazioni memorizzate sui dispositivi di memoria di massa; Il gestore del file system deve garantire la correttezza e la coerenza delle informazioni;

Gestore del File System (Cont.) Nei sistemi multi-utente, deve mettere a disposizione dei meccanismi di protezione in modo tale da consentire agli utenti di proteggere i propri dati dall’accesso da parte di altri utenti non autorizzati.

Gestore del File System (Cont.) Le funzioni tipiche che deve svolgere sono: Fornire un meccanismo per l’identificazione dei Files; Fornire opportuni metodi per accedere ai dati; Rendere trasparente la struttura fisica del supporto di memorizzazione; Implementare meccanismi di protezione dei dati.

Organizzazione Quasi tutti i sistemi operativi utilizzano un’organizzazione gerarchica del File System; L’elemento utilizzato per raggruppare più file insieme è la directory; L’insieme gerarchico delle directory e dei file può essere rappresentato attraverso un grafo delle directory.

Grafo delle Directory Directory File

Gestore dei Dispositivi di I/O

Gestore dei dispositivi di I/O Il gestore dei dispositivi di I/O è quel modulo del SO incaricato di assegnare i dispositivi ai task che ne fanno richiesta e di controllare i dispositivi stessi; Da esso dipende la qualità e il tipo di periferiche riconosciute dal sistema.

Gestore dei dispositivi di I/O Il gestore dei dispositivi di I/O è quel modulo del SO incaricato di assegnare i dispositivi ai task che ne fanno richiesta e di controllare i dispositivi stessi; Da esso dipende la qualità e il tipo di periferiche riconosciute dal sistema.

Device Dirver Il controllo dei dispositivi di I/O avviene attraverso speciali programmi detti Device Driver; I device driver sono spesso realizzati dai produttori dei dispositivi stessi che ne conoscono le caratteristiche fisiche in maniera approfondita.

Device Driver (Cont.) Questi programmi implementano normalmente le seguenti funzioni: Rendono trasparenti le caratteristiche fisiche tipiche di ogni dispositivo; Gestiscono la comunicazione dei segnali verso i dispositivi; Gestiscono i conflitti, nel caso in cui due o più task vogliono accedere contemporaneamente allo stesso dispositivo.

Interfaccia Utente

Interfaccia utente Tutti i Sistemi Operativi implementano dei meccanismi per rendere agevole l’utilizzo del sistema da parte degli utente; L’insieme di questi meccanismi di accesso al computer prende il nome di Interfaccia Utente.

Interfaccia utente (Cont.) Interfaccia testuale: Interprete dei comandi ( shell ) Esempio MS-DOS Interfaccia grafica (a finestre): L’output dei vari programmi viene visualizzato in maniera grafica all’interno di finestre L’utilizzo di disegni rende più intuitivo l’uso del calcolatore; Esempio WINDOWS

I Sistemi Presenti in Commericio

I Sistemi Operativi presenti in commerciali In commercio sono presenti una grande quantità di diversi Sistemi Operativi; In passato la tendenza delle case costruttrici di sistemi di elaborazione era di sviluppare sistemi operativi proprietari per le loro architetture; La tendenza attuale è quella di sistemi operativi eseguibili su diverse piattaforme.

MS-DOS CPU Intel 80x86 (16 bit) monotask monoutente file-system gerarchico memoria limitata (1 MB / 640 KB) nessuna protezione PC- / IBM- / DR-DOS

MS-Windows CPU Intel 80386/486/Pentium multitask imperfetto (non ha la preemption) monoutente stesso file system del MS-DOS interfaccia grafica a finestre e menù sistema a 16 bit !!!

Windows-NT CPU Intel 80386/486/Pentium/Sparc/Alfa multitask monoutente NTFS (NT File System) microkernel, thread non solo per Intel 80x86 (DEC-AXP, MIPS-R4000, ...) sistema a 32 bit

UNIX nato negli anni ‘60 (AT&T Bell Labs) rimasto all’avanguardia perchè sviluppato nelle università (UCB) multitask multiutente ottima integrazione in rete portabilità dei programmi