Struttura del SO. hardware. Servizi richiesti dagli utenti al SO. Interfaccia nucleo verso l esterno. Gestore processori.

Documenti analoghi
Introduzione ai Sistemi Operativi. A cura di Massimo Scolaro Mob :

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni

Elementi di Informatica A. A. 2016/2017

Cos è un sistema operativo 1

Fondamenti di Informatica 5. Il sistema operativo

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

Sistema Operativo (Software di base)

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

IL SOFTWARE DI SISTEMA

Cos è un sistema operativo 1

I sistemi operativi. Prof. Daniele Contarino

Linux. Dott.ssa Maria Silvia Pini Anno accademico 2009/2010

Informatica di Base

Sistema operativo & file system 1

IL SISTEMA OPERATIVO

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

Sistemi Di Elaborazione Dell informazione

Laboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1

un insieme di programmi

Sistema operativo. Interazione con il SO

IL SISTEMA OPERATIVO

Microsoft Windows. Introduzione al Sistema Operativo e Utilizzo del Calcolatore. Il Calcolatore. Il Calcolatore. Sistemi Operativi.

Il Sistema Operativo

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Il software: Istruzioni per il computer

Corso di Informatica

Informatica e Bioinformatica: Sistemi Operativi

Il software: Istruzioni per il computer

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

INFORMATICA DI BASE IL SISTEMA OPERATIVO

Il sistema operativo

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo

Note sui sistemi operativi. Hardware

Architettura dei Sistemi Informatici

Laboratorio di Informatica

Il software: Istruzioni per il computer

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Definizioni iniziali. Sistemi Operativi. Tipi di software. Sistema Operativo. Programma: una sequenza di istruzioni elementari

Sistemi Operativi. Definizioni iniziali

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

Note sui sistemi operativi

Sistem. erativi. Opera. stem

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

FONDAMENTI DI INFORMATICA

Tecnologie dell Informazione e della Comunicazione

Struttura Logica del S.O:

Il sistema operativo

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Elementi di Informatica

Il software. Il solo hardware non è sufficiente per usare un calcolatore

2. Cenni di sistemi operativi

Laboratorio di Informatica (Chimica)

Nel mezzo del cammin di nostra vita

Il Sistema Operativo

Informatica. Il computer

I file utente sistema operativo nome

Il software: cenni sul sistema operativo

Sistemi Operativi. L interfaccia del file system

Il sistema operativo deve fornire una visione astratta dei file su disco e l'utente deve avere la possibilità di:

Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1

Il sistema operativo

Struttura dei Sistemi Operativi

Componenti di un sistema operativo

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

File-System! Introduzione al File-System! Struttura dei File! Concetto di File!

CHE COS È. I file vengono utilizzati come supporto per la memorizzazione dei programmi (sia programmi di sistema che programmi utente) e dei dati

Il Sistema Operativo

CdL in Medicina Veterinaria - STPA AA

Prof. Rossella Cancelliere

Esercitazione: primi passi e uso dei files

Microsoft Windows. Introduzione al Sistema Operativo e Utilizzo del Calcolatore. Il Calcolatore. Il Calcolatore. Sistemi Operativi.

Architettura di un calcolatore

Laboratorio di Informatica Generale I UD Prima esercitazione

Il software di sistema

Il Software. E il software che implementa le funzionalità di un sistema di elaborazione Due categorie fondamentali di Software (SW)

IL SISTEMA OPERATIVO

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Il file system. Prof.ssa Antonella Serra. Prof.ssa Antonella Serra 1

Sistema Operativo. Alma Mater Studiorum Università di Bologna - Fondamenti di Informatica T (a-k)

Sistema operativo (SO)

Capitolo Silberschatz

Strumenti di office automation. Coordinatore scientifico: Prof. Avv. Giuseppe Russo

Sistemi operativi. Fondamenti di Informatica

Introduzione all uso dei laboratori aka Linux basics.

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

Selezionare e spostare le icone

Transcript:

Struttura del SO Servizi richiesti dagli utenti al SO Interfaccia nucleo verso l esterno nucleo File system Gestore I/O Gestore processi Gestore memoria Gestore processori hardware

Poiché la memoria principale è volatile e troppo piccola per contenere tutti i dati e tutti i programmi in modo permanente, il computer è dotato di memoria secondaria In generale, la memoria secondaria è data da hard disk e dischi ottici Il SO garantisce una visione logica uniforme del processo di memorizzazione: La gestione della memoria secondaria 1 Astrae dalle caratteristiche fisiche dei dispositivi per definire un unità di memorizzazione logica il file Ciascuna periferica viene controllata dal relativo device driver, che nasconde all utente le caratteristiche fisiche variabili dell hardware: modalità e velocità di accesso, capacità, velocità di trasferimento 2

La gestione della memoria secondaria 2 Il SO è responsabile delle seguenti attività riguardanti la gestione della memoria secondaria: Allocazione dello spazio Gestione dello spazio libero Ordinamento efficiente delle richieste di accesso al disco (disk scheduling) 3

Il file è l astrazione informatica di un archivio di dati La gestione del file system 1 Il concetto di file è indipendente dal mezzo sul quale viene memorizzato (che ha caratteristiche proprie e propria organizzazione fisica) Un file system è composto da un insieme di file Il SO è responsabile delle seguenti attività riguardanti la gestione del file system: Creazione e cancellazione di file Creazione e cancellazione di directory Manipolazione di file e directory Codifica del file system sulla memoria secondaria 4

La gestione del file system 2 Il gestore del file system è il modulo del SO incaricato di gestire le informazioni memorizzate sui dispositivi di memoria di massa Nei sistemi multi utente, fornisce meccanismi di protezione per consentire agli utenti di proteggere i propri dati dall accesso di altri utenti non autorizzati Le funzioni tipiche del gestore del file system sono: Fornire un meccanismo per l identificazione dei file Fornire metodi opportuni di accesso ai dati Rendere trasparente la struttura fisica del supporto di memorizzazione Implementare meccanismi di protezione dei dati 5

Organizzazione del file system -1 Quasi tutti i SO 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 (un albero nei SO più datati) delle directory Directory File Grafo delle directory 6

Organizzazione del file system -2 I dischi fissi possono essere divisi in partizioni Una partizione e' organizzata gerarchicamente come un albero rovesciato (come quello genealogico) Nodi e collegamenti padre-figlio tra nodi Nodo dell'albero: file o directory Nodi divisi per livelli Collegamenti tra nodi di livelli vicini: nodo sopra = padre, nodo sotto = figlio Ogni nodo ha un solo padre Padre più in alto = radice I nodi che sono file non hanno figli Cammino assoluto o relativo (per file) directory file

Indirizzo (o percorso) dei file in Windows partizione Z Z: A a Z:\a b B c C Z:\A\c d e D E Z:\A\C\D\f F f g h Z:\A\C\E\h

Indirizzo (o percorso) dei file in Unix/Linux / A a /a b B c C /A/c d e D E /A/C/D/f F f g h /A/C/E/h

Gestore della memoria secondaria I byte che compongono I file possono essere organizzati in vari modi: Byte stream (sequenza di byte) Sequenziale (sequenza di record a lunghezza fissa o variabile) Diretto (sequenza di record a lunghezza fissa) A indice (sequenza di record ordinati logicamente secondo un indice)

Struttura del SO Servizi richiesti dagli utenti al SO Interfaccia nucleo verso l esterno nucleo File system Gestore I/O Gestore processi Gestore memoria Gestore processori hardware

La gestione dei dispositivi di I/O La gestione dell I/O richiede: Un interfaccia comune per la gestione dei device driver Un insieme di driver per dispositivi hardware specifici Un sistema di gestione di buffer per il caching delle informazioni Il gestore dei dispositivi di I/O è il 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 Il gestore delle periferiche offre all utente una versione astratta delle periferiche hardware; l utente ha a disposizione un insieme di procedure standard di alto livello per leggere/scrivere da/su una periferica che percepisce come dedicata 12

Device driver Il controllo dei dispositivi di I/O avviene attraverso speciali moduli software, detti device driver I device driver sono spesso realizzati dai produttori dei dispositivi stessi, che ne conoscono le caratteristiche fisiche in maniera approfondita I device driver implementano 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 vogliano accedere contemporaneamente allo stesso dispositivo 13

L interfaccia utente 1 Tutti i SO implementano meccanismi per facilitare l utilizzo del sistema di calcolo da parte degli utenti L insieme di tali meccanismi di accesso al computer prende il nome di interfaccia utente Serve per attivare un programma, terminare un programma, etc. interagire con le componenti del sistema operativo (gestore dei processi, file system, etc.) 14

L interfaccia utente 2 Interfaccia testuale: Interprete dei comandi (shell) Esempio: MS DOS/UNIX Interfaccia grafica (a finestre): L output dei vari programmi viene visualizzato in maniera grafica all interno di finestre L utilizzo di grafica rende più intuitivo l uso del calcolatore Esempio: WINDOWS/Linux Differenze: Cambia il linguaggio utilizzato, ma il concetto è lo stesso Vi sono però differenze a livello di espressività 15

L interfaccia grafica Realizza la metafora della scrivania desktop Interazione semplice via mouse Le icone rappresentano file, directory, programmi, azioni, etc. I diversi tasti del mouse, posizionato su oggetti differenti, provocano diversi tipi di azione: forniscono informazioni sull oggetto in questione, eseguono funzioni tipiche dell oggetto, aprono directory folder, o cartelle, nel gergo GUI (Graphical User Interface) 16

Protezione è il meccanismo usato per controllare l accesso da parte di processi e/o utenti a risorse del sistema di calcolo Sicurezza è il meccanismo di difesa implementato dal sistema per proteggersi da attacchi interni ed esterni Denial of service, worm, virus, hacker In prima istanza, il sistema distingue gli utenti, per determinare chi può fare cosa Protezione e sicurezza 1 L identità utente (user ID) include nome dell utente e numero associato uno per ciascun utente L user ID garantisce l associazione corretta di file e processi all utente e ne regola la manipolazione L identificativo di gruppo permette inoltre ad un insieme di utenti di accedere correttamente ad un gruppo di risorse comuni (file e processi) 17

Protezione e sicurezza 2 In Linux $ ls l 18

Sistemi operativi commerciali In commercio sono presenti una grande quantità di sistemi operativi diversi 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 dello sviluppo di sistemi operativi portabili su piattaforme hardware diverse 19

Conclusioni: i SO oggi Sistemi complessi che presentano miriadi di problemi e milioni di linee di codice (100 1000 programmatori per anno) Interazioni complesse Universali (eseguiti su piattaforme diverse) Differenti classi di utenti hanno necessità diverse La performance è cruciale! Poco compresi: Il SO tipicamente dura più di chi lo ha programmato ed è troppo grande per essere compreso da una singola persona Mai completamente privi di errori (OS/360 rilasciato con 1000 bug); comportamenti difficili da prevedere; aggiustamenti spesso eseguiti per tentativi 20

Esempi di SO: MS - DOS Sviluppato dalla Microsoft nel 1981 per il PC IBM Adottato da altri con PC IBM-compatibili Molto limitato: mono-utente, mono-tasking Circa 50 comandi per il SO

Esempi di SO: MS - DOS Sviluppato dalla Microsoft nel 1981 per il PC IBM Adottato da altri con PC IBM-compatibili Molto limitato: mono-utente, mono-tasking Circa 50 comandi per il SO

Comandi piu usati in MS - DOS DIR per vedere il contenuto di una directory COPY per copiare file DEL per cancellare un file REN per cambiare il nome a un file CD per muoversi in un altra directory MD per creare nuove directory RD per cancellare directory Nome file: per eseguire il file (se eseguibile)

File in MS - DOS Per individuare un file: cammino assoluto Un file system per ogni disco anche nome del disco Esempio: C:\Dir1\Dir2\Dir3\file.txt Estensioni per file:.exe per programma eseguibile.txt per file di testo.sys per file di sistema.c per programma in C.doc per documento Word

Unix SO multi-utente, multi-tasking, con timesharing Concepito per poter funzionare su diverse piattaforme hardware Interprete dei comandi: shell Piu di 300 comandi, con opzioni Comando man per aiuto Forma di un comando: nome-comando [[-opzioni] argomenti]

Comandi Unix ls per vedere il contenuto di una directory cp per copiare file rm per cancellare file mv per spostare file cd per spostarsi in un altra directory mkdir per creare una nuova directory ps per vedere tutti i processi attivi lp per stampare file who per vedere tutti gli utenti collegati

File in Unix Unico albero anche se ci sono piu dischi non serve indicare il disco per denotare un file Nei cammini non appare il nome del disco Radice: simbolo / Esempio: /dir1/dir2/dir3/file.txt

Windows Nato nel 1987, ispirato al Macintosh All inizio era un interfaccia grafica per DOS Windows 95: SO mono-utente, multi-tasking, time-sharing DOS emulato in speciali finestre (per seguire vecchi applicativi per DOS)

Filosofia Windows -- 1 Interfaccia grafica Mouse che sposta un cursore Cut & paste (copia e incolla) Drag & drop (trascina e lascia) Icone associate a file, directory, dischi, Directory come cartelle Pulsanti Finestre: cornici con strumenti Menu di comandi

Filosofia Windows -- 2 L utente non deve ricordarsi i nomi dei comandi, basta che selezioni col mouse: un oggetto e il comando da applicare all oggetto File system (cioe l albero): visualizzato come cartelle che contengono icone di file o di altre cartelle Cliccando su una cartella, si apre quella directory Icona del file: diversa a seconda del tipo di file

Ritorniamo ai nostri programmini...

Terzo esercizio Scrivere un programma che riceve in input interi (-1) per uscire e stampa il valore massimo inserito

Terzo esercizio Scrivere un programma che riceve in input interi (-1) per uscire e stampa il valore massimo inserito #include <stdio.h> main(){ int n,max; printf("inserisci un numero (-1 per finire) \n"); scanf("%d",&n); max=n; while(n!=-1) {if(n>max) max=n; scanf("%d",&n); } printf( Il massimo risulta %d \n,max); }

Quarto esercizio Scrivere un programma che riceve in input due interi (base e esponente) e calcola b e

Quarto esercizio Scrivere un programma che riceve in input due interi (base e esponente) e calcola b e #include <stdio.h> main(){ int b,e; float potenza=1; int positivo=1; printf("inserisci la base intera : \n"); scanf("%d",&b); printf("inserisci l'esponente intero: \n"); scanf("%d",&e); if(e==0 && b==0) printf("forma indeterminata \n"); else { if(e<0) {positivo=0; e=-1*e;} while(e>0) {potenza=potenza*b; e=e-1;} if(!positivo) potenza=1/potenza; printf("la potenza risulta: %f \n",potenza); } }