Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)



Documenti analoghi
Il Software. Il software del PC. Il BIOS

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Il Sistema Operativo (1)

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Introduzione all Informatica

Sistemi operativi. Esempi di sistemi operativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Introduzione ai Sistemi Operativi

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il sistema operativo

Le Infrastrutture Software ed il Sistema Operativo

Software di base. Corso di Fondamenti di Informatica

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

PARTE 4 La Macchina Software

Alcune estensioni comuni Tipo del file Estensione corrispondente..wav,.mid,.voc Grafica.bmp,.jpg,.gif,.tif Documenti web.htm,.html

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Sistema Operativo (Software di base)

Informatica: il sistema operativo

HARDWARE. Relazione di Informatica

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il Sistema Operativo: il File System

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere

Corso di Sistemi di Elaborazione delle informazioni

Funzioni del Sistema Operativo

Nozioni di Informatica di base. dott. Andrea Mazzini

Sistemi Operativi Kernel

Il sistema operativo: interazione con l utente

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

INTERAZIONE CON L UTENTEL

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

SoftWare. Dr Damiano Macedonio

Pronto Esecuzione Attesa Terminazione

Informatica e Bioinformatica: Sistemi Operativi

Il File System. Il file system

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

12. Implementazione di un File System Struttura a livelli Allocazione contigua

La Gestione delle risorse Renato Agati

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Infrastrutture Software

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

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

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

GLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

STRUTTURE DEI SISTEMI DI CALCOLO

Elementi di Informatica e Programmazione

FONDAMENTI di INFORMATICA L. Mezzalira

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Il memory manager. Gestione della memoria centrale

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Gestione della memoria centrale

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

boot loader partizioni boot sector

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Gestore di Memoria. Gestire le richieste di risorse di memoria Liberare le risorse non più utilizzate. Gestire la memoria virtuale (swap su disco)

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

CdL in Medicina Veterinaria - STPA AA

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Il software. la parte contro cui si può solo imprecare. Il software

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Fondamenti di Informatica

Il Sistema Operativo

Scheduling. Lo scheduler è la parte del SO che si occupa di

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Scheduling della CPU:

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Sistemi Operativi. 5 Gestione della memoria

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Approccio stratificato

Complementi di Informatica. Sistemi Operativi

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Capitolo Silberschatz

NozionidiBase di Informatica

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

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

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Architettura dei Sistemi Informatici

Processi e Thread. Scheduling (Schedulazione)

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Architettura dei computer

Laboratorio di Informatica (Chimica)

Corso di Informatica

Transcript:

Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso indici I sistemi operativi sono organizzati a strati Strato = macchina virtuale che maschera la macchina fisica (hardware) Sistema operativo Funzionalità utente Interfaccia utente Sistema operativo Hardware Possiamo identificare: Gestione processi Gestione memoria primaria Gestione memoria secondaria + file system Gestione dell I/O (periferiche) Interprete dei comandi La porzione del S.O. che contiene le funzionalità di base è detta nucleo (o kernel )

Gestore dei processi Cos è un processo? Gestisce l esecuzione dei programmi Le unità di esecuzione vengono chiamate processi Per eseguire un programma occorre mantenere il corrispondente processo attivo nella CPU Multi-tasking: più attività (processi) procedono concorrentemente, anche usando una sola CPU Il gestore deve decidere a quale processo assegnare la CPU Inoltre deve reagire agli eventi esterni (le interruzioni provenienti dalle periferiche) Programma = lista di istruzioni = nozione statica Processo = programma in esecuzione = programma + stato corrente variabili = nozione dinamica Stato corrente= valori in memoria centrale valori nei registri della CPU In un PC con una sola CPU: un solo processo in esecuzione alla volta Gestore della memoria Gestore delle periferiche Il gestore della memoria deve allocare la memoria partizionarla tra i processi che la richiedono Grazie al gestore della memoria gli strati superiori hanno l illusione che ogni processo abbia una memoria dedicata Maschera le caratteristiche hardware delle periferiche Gestisce le operazioni di input e output Fornisce procedure ad alto livello ad esempio per la lettura, scrittura di dati su memorie secondarie scrittura su stampanti, ecc

File System Interprete dei comandi Gestisce i dati in memoria di massa Struttura i dati in modo gerarchico utilizzando file e directory Fornisce operazioni di alto livello per la gestione di file ad esempio creazione di un nuovo documento, directory ecc Protegge i dati da accessi esterni Garantisce la condivisione sicura dei dati Consente all utente di attivare i programmi Sfrutta le funzionalità degli strati inferiori per cercare in memoria il programma invocato allocare la memoria richiesta dal programma attivare un processo per eseguire il programma Es: consolle DOS ( Command Prompt ) sui sistemi MS Windows Evoluzione dei Sistemi Operativi Uno sguardo da vicino Sistemi batch con schede (50 s-60 s) System/360 IBM compatibili (65-70 s) Sistemi operativi UNIX e DOS (80 s) WINDOWS (90 s) Gestione dei Processi Gestione della Memoria Centrale File System Gestione delle Periferiche

Ciclo di vita dei processi (I) Ciclo di vita dei processi (II) Processo utente: deriva da un programma applicativo Processo di sistema: deriva da un programma del sistema operativo Processi kernel (nucleo) Gestori interruzioni L esecuzione di un programma può comportare l alternarsi di processi utente e di sistema all interno della CPU L esecuzione di un processo può essere interrotta! Ricordate sempre che un processo corrisponde ad un programma + stato corrente della memoria centrale e dei registri Il ciclo di vita di un processo può essere modellato in modo semplice usando: Stati, che rappresentano una condizione operativa in cui si trova il processo Transizioni tra stati, ovvero schematizzazioni di eventi che determinano il passaggio di un processo da uno stato a un altro Stati significativi: EXE: il processo si trova in esecuzione sulla CPU READY: il processo è in condizione di essere immediatamente eseguito, ma non ha a disposizione la CPU WAIT: il processo è bloccato in attesa che si verifichi un evento che gli permetta di procedere nella sua attività Scheduling dei processi Processi: stati e scheduling In un dato istante, un solo processo può essere in esecuzione sulla CPU (ovvero, in stato exe ) Un S.O. multitasking può interrompere i processi per assicurare una politica equa (fair) di esecuzione Scheduler = quella parte del sistema operativo che seleziona il processo da mandare in esecuzione tra quelli pronti (che si trovano in stato ready ) Due delle possibili politiche di scheduling: Round robin Con Priorità (utilizzata con molte varianti) Criteri di valutazione: efficienza, tempi di risposta, fairness, ecc. Inizio Avvicendarsi di due processi sulla CPU: Context switch (commutazione di contesto) Quando ad un processo viene revocata la CPU, occorre salvare in memoria le sue informazioni di stato Quando ad un processo viene nuovamente assegnata la CPU, occorre ripristinare il suo stato READY Ripristino stato Salvataggio stato EXE Fine

Round Robin Priorità Gestione dei processi in attesa tramite coda Cioè FIFO = first-in first-out Ad ogni processo viene assegnato un quanto di tempo di esecuzione ( timeslice ) dopo il quale torna in attesa Timeslice >> Tempo per salvare/ripristinare stato (context switching) Timeslice << Tempo di esecuzione del programma (per assicurare fairness) Si assegna una priorità ad ogni processo, e si manda in esecuzione uno dei processi con priorità più alta In genere, tra i processi che hanno la stessa priorità, si adotta una politica di tipo round-robin La priorità può essere assegnata staticamente: se la priorità di ciascun processo non viene mai modificata, si ha il fenomeno della starvation (ovvero i processi con priorità più bassa aspettano indefinitamente di poter accedere alla CPU) dinamicamente: a seconda delle operazioni effettuate dal processo (ad es. seleziona subito processi con operazioni I/O) Gestire le attese: interruzione interna Gestire le attese: Interruzioni esterne Per migliorare l utilizzo della CPU, occorre trattare opportunamente i casi in cui un processo deve rimanere inattivo (p.es. in attesa di operazioni di input) L esecuzione di un processo attivo (in stato exe ) si interrompe volontariamente, ad es. per operazioni di input/output Lo stato corrente (contenuto registri ecc) del processo interrotto viene salvato in memoria Il processo passa allo stato speciale di attesa (o wait ), e non in stato ready, dato che non deve partecipare alla competizione per la CPU Il controllo passa ad un processo di sistema che assegna la CPU ad un altro processo Una periferica segnala la fine di un operazione di input/output: questo significa che il processo in attesa su tale operazione adesso può potenzialmente procedere nella sua esecuzione. Il processo correntemente in esecuzione viene interrotto Il gestore delle interruzioni provvede a trasferire dati in memoria e risvegliare il processo in attesa, che passa dunque allo stato ready Il gestore lavora con interruzioni disabilitate Il controllo passa poi al nucleo che manda in esecuzione uno dei processi in stato ready

Gestire le attese: Diagramma di stato Ciclo di vita dei processi: Diagramma di stato Inizio READY Interruzione esterna: Fine operazione I/O WAIT Salva stato EXE Interruzione interna: Inizio operazione I/O READY Ripristina stato Salva stato Salva stato EXE Fine WAIT Gestione Memoria Primaria Il fenomeno dello Swapping I processi si alternano nell accesso alla CPU I S.O. mantengono più programmi in memoria primaria; ad ogni processo viene allocata una porzione della memoria primaria Ciò comporta il partizionamento della memoria primaria e del suo spazio di indirizzi. Il succedersi dei processi può determinare la frammentazione della memoria primaria: la memoria disponibile risulta suddivisa in molti blocchetti, ognuno dei quali troppo piccolo per essere sfruttato Alcune tecniche di gestione risolvono anche la frammentazione: P.es. la paginazione Per permettere l esecuzione di un numero di processi che richiedono una quantità di memoria superiore a quella contenuta nella memoria centrale, il S.O. può far uso della memoria di massa per salvare porzioni di memoria non utilizzate dal processo attivo sulla CPU Quanto detto implica un continuo trasferimento di dati tra RAM e memoria di massa (e viceversa): questa azione è nota come swapping. Uno swapping molto intenso (qualora si voglia utilizzare una quantità di memoria molto superiore a quella fisicamente presente) degrada significativamente le prestazioni di un calcolatore.

Gestione della Memoria Secondaria Gestione della Memoria Secondaria Il File System La memoria di massa serve per gestire grandi quantità di dati Persistentenza Sicurezza Classificazione Soluzione I dati vengono organizzati logicamente in file e gestiti dal sistema operativo File Operazioni su File Nome: Identifica il file spesso con una estensione che indica il tipo di file es. Tesi.doc oppure somma.exe Struttura: Sequenza di byte Sequenza di blocchi (record) di byte Tipo: File di caratteri e binari (eseguibili) Directory Attributi: nome, diritti di accesso,proprietario Il file system consente di effettuare le seguenti operazioni: creare, cancellare, spostare, recuperare, modificare documenti in memoria di massa (memoria persistente) Modificare gli attributi di un file Ridenominare i file

Organizzare i file: la Directory (o folder, cartella) File System in DOS/Windows E un file di tipo speciale che mantiene informazioni su altri file permette di strutturare insiemi di file (dati) in maniera gerarchica contiene la lista dei nomi e attributi dei file e delle directory al suo interno Quindi: il file system ha una struttura ad albero Radice = radice dell intero file system Nodi interni = directory Foglie = directory o file (documenti/programmi) Esistono directory predefinite che corrispondono alle unità di memoria secondaria (dette anche unità ) Disco fisso indicato con C: Dischetto indicato con A: La memoria secondaria di un singolo dispositivo può essere divisa in più partizioni, ognuna delle quali è individuata come un unità distinta Struttura ad albero Struttura ad albero Floppy da 3.5 A: radice Hard Disk C: Applicazioni Biblioteca unità Elab_imm Elab_suoni directory Photoshop.exe file

Path names Esempio cammini In un organizzazione ad albero i nomi devono contenere informazioni sui cammini sui quali si trovano i corrispondenti file Nomi relativi: relativi ad una particolare directory Nomi assoluti: specificano il cammino a partire dalla radice (root) del file system (mai ambigui) Nei path names si possono utilizzare I due simboli speciali Il punto (.) rappresenta la directory corrente I due punti (..) rappresentano la directory immediatamente superiore nel albero dir. corrente Elab_imm Photoshop.exe Floppy da 3.5 A: Applicazioni..\Elab_suoni cammino relativo da Elab_imm Elab_suoni A:\Applicazioni\Elab_imm\Photoshop.exe cammino assoluto Gestione File System Gestione delle periferiche File possono venire memorizzati con Allocazione continua di blocchi di byte Allocazione collegata (un blocco contiene l indirizzo del prossimo) Allocazione con indice (si mantiene una tabella in memoria per recuperare i blocchi) DOS - I-node: tabella con puntatori ad altre tabelle (combina le ultime due) UNIX Driver fisici (hardware) per trasferire e manipolare dati (stampante, lettore floppy, ecc) Driver logici (software) parte del sistema operativo che fornisce funzionalità ad alto livello che riguardano le periferiche

Il Task Manager di Windows Si può avere la percezione di cosa avviene a livello di S.O. utilizzando strumenti per il monitoraggio di sistema, come p.es. Task Manager dei sistemi Windows (famiglia NT)