Sistemi Operativi: avvio

Documenti analoghi
Sistemi Operativi: avvio

SISTEMI OPERATIVI alla base di tutto. Informatica Applicata Prof.Emanuela Zilio

gestione delle risorse hardware interfaccia verso l utente

Il Sistema Operativo (1)

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Corso di Informatica

Sistemi operativi. Esempi di sistemi operativi

Il Sistema Operativo

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

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

Introduzione al sistema operativo Il file system: file, directory,...

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

SOFTWARE, FILE E DATO I N F O R M A T I C A G E N E R A L E

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

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

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

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

CdL in Medicina Veterinaria - STPA AA

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

Il Software. Il software del PC. Il BIOS

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Classificazione del software

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

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

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

Laboratorio di Informatica

Software di base. Corso di Fondamenti di Informatica

Funzioni del Sistema Operativo

Approccio stratificato

Introduzione ai Sistemi Operativi

Elementi di Informatica e Programmazione

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

Infrastrutture Software

Informatica: il sistema operativo

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

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

Sistemi Operativi Kernel

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

Il computer: primi elementi

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

Le Infrastrutture Software ed il Sistema Operativo

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

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

Architettura di un sistema operativo

Informatica 1 Lezione 1

Gestione della memoria centrale

MODULO 02. Iniziamo a usare il computer

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

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

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

Il sistema operativo

Sistemi operativi e reti A.A Lezione 2

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

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

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

Informatica e Bioinformatica: Sistemi Operativi

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

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

HARDWARE. Relazione di Informatica

Dispensa di Informatica I.1

Sistema operativo: Gestione della memoria

Il calcolatore - Applicazioni

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Crotone, maggio Windows. Ing. Luigi Labonia

Cosa è un foglio elettronico

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

PARTE 4 La Macchina Software

TITLE Sistemi Operativi 1

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS

Varie tipologie di memoria

INTERAZIONE CON L UTENTEL

CdL in Medicina Veterinaria - STPA AA

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

LINUX. Che cos'e` un sistema operativo?

Creare una Rete Locale Lezione n. 1

Nozioni di Informatica di base. dott. Andrea Mazzini

1. BASI DI DATI: GENERALITÀ

Sistema Operativo e Applicativi

Software di base. Informatica Generale (CdL in E&C), A.A

Il software. Capitolo 3 La potenza non è nulla senza il software. Informatica di Base -- R.Gaeta 1

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

1 -Introduzione MODULO L1

Corso di: Abilità informatiche

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

STRUTTURE DEI SISTEMI DI CALCOLO

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

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Corso di Sistemi di Elaborazione delle informazioni

Il Software... A.A Informatica 96

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Transcript:

Sistemi Operativi: avvio All avvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Il Sistema Operativo opera come intermediario tra l hardware del sistema e uno o più utenti. Informatica - G. Caminiti 1

Sistema Operativo: funzioni Due sono le funzioni principali svolte da un sistema operativo: gestione delle risorse hardware interfaccia verso l utente Come tali funzioni vengano svolte, e se sia interamente il sistema operativo ad occuparsene, dipende dal dispositivo in questione. Informatica - G. Caminiti 2

Dispositivi Esistono diversi dispositivi elettronici la cui complessità ha reso necessario dotarli di un sistema operativo. Informatica - G. Caminiti 3

Dispositivi La gestione dell hardware è un aspetto di secondaria importanza per gli utenti di questi dispositivi. L interfaccia ha un importanza maggiore, ed è sia fisica che virtuale (software). Informatica - G. Caminiti 4

Il SO come intermediario tra HW e SW HW HW SW Software = SO + applicazioni SW SO SW (appl) Informatica - G. Caminiti 5

Composizione di un SO Utente Interprete comandi Gestione periferiche SW applicativo HW Gestione processore Gestione memoria File system Sistema Operativo Informatica - G. Caminiti 6

Sistemi operativi: struttura interna Informatica - G. Caminiti 7

Livelli La struttura di un sistema operativo, tipicamente, è quella a cipolla: Informatica - G. Caminiti 8

Livelli L hardware è avvolto, ricoperto da una serie di strati di software. Ciascun livello: usale funzionalità di quello sottostante fornisceserviziservizi al livello che segue nella gerarchia gestisce delle risorse mediante politiche invisibili ai livelli superiori Informatica - G. Caminiti 9

Macchine virtuali Si crea, in questo modo, una gerarchia di macchine virtuali. l esperto che scrive un sistema operativo vede il sistema come un insieme di risorse fisiche da comandare direttamente; coluicheprogetta un ambiente di programmazione vede la macchina come l insieme delle funzioni messe a disposizione dal sistema operativo; Informatica - G. Caminiti 10

Macchine virtuali l utente che usa un linguaggio di alto livello per progettare un programma applicativo vede l elaboratore come l insieme delle funzionalità messe a disposizione dall ambiente di programmazione; per l utilizzatore di un programma applicativo, infine, il sistema appare virtualmente come l insieme dei comandi chepuòfornireallamacchina per soddisfare le sue esigenze. Informatica - G. Caminiti 11

Macchine virtuali Riassumendo: l utente finale del sistema interagisce solo con il livello più esterno della gerarchia. Idealmente, l utente finale è ignaro di tutti i dettagli delle operazioni svolte dai livelli inferiori. Potrebbe (sempre idealmente) essere a conoscenza solo delle operazioni che è interessato ad effettuare. Informatica - G. Caminiti 12

Gestione CPU Il livello più basso è quello del kernel (nucleo). Questa parte del sistema operativo si occupa di gestire l esecuzione dei programmi. Un programma in esecuzione è detto processo. Il kernel distribuisce le risorse di calcolo tra i vari processi attivi. Informatica - G. Caminiti 13

Gestione CPU Una prima distinzione è dunque tra quei sistemi che eseguono un processo per volta e quelli in grado di gestirne diversi contemporaneamente. I primi sono detti monotask (es. MS-DOS) Questi ultimi sono detti multitask (es.. Windows) Informatica - G. Caminiti 14

Processi e programmi Un programma è una entità statica composta dal codice eseguibile del processore. Un processo è una entità dinamica relativa al programma in esecuzione, ed è composto da: codice del programma dati necessari all esecuzione del programma stato dell esecuzione Informatica - G. Caminiti 15

Esecuzione di un processo Operazione I/O completata Processo attivo Processo in attesa Richiesta di operazione I/O Ogni operazione di I/O consiste in una chiamata al SO e successiva sospensione del processo utente per attendere l esecuzione dell operazione di I/O Informatica - G. Caminiti 16

La Multiprogrammazione Progr. 1 Progr. 2 Progr. 3 tempo Attesa per operazioni di I/O Elaborazione Informatica - G. Caminiti 17

Time Sharing È possibile condividere la CPU tra più processi interattivi, suddividendo il tempo di esecuzione del processore tra più utenti Ogni processo utilizza periodicamente un intervallo di tempo prestabilito (quanto) Durante il quanto di esecuzione di un processo, tutti gli altri processi sono sospesi Al termine di ogni quanto (context switch), il processo in esecuzione viene sospeso e si assegna la CPU ad un altro processo. Informatica - G. Caminiti 18

Processi pronti ed in attesa Quando un processo non è in esecuzione può assumere due diversi stati: attesa: il processo è sospeso finché un determinato evento esterno non si verifica (i.e., I/O) pronto: il processo è sospeso finché non gli viene concesso l uso della CPU in ogni instante di tempo vi è un solo processo attivo, e tutti gli altri sono o in attesa o pronti, e memorizzati in apposite code che ne indicano l ordine di esecuzione. Informatica - G. Caminiti 19

Diagramma di esecuzione Selezione primo processo pronto e sua esecuzione Inizio esecuzione (accodamento) Coda processi pronti Processo attivo Termine elaborazione Termine quanto di tempo Completamento operazione I/O Coda processi in attesa Richiesta operazione I/O Informatica - G. Caminiti 20

Round Robin Richiesta I/O Fine utilizzo I/O Proc. 1 E P P E A A A P P E Proc. 2 P E P P E P E E P P Proc. 3 P P E P P E P P E P quanto Context switch tempo Informatica - G. Caminiti 21

La memoria è una risorsa essenziale e limitata. Essenziale, perché ogni programma in esecuzione (processo) deve essere caricato in memoria, e così i dati su cui opera. Limitata, perché nei sistemi moderni possono essere attivi più processi nello stesso tempo. Gestione memoria Informatica - G. Caminiti 22

Gestione memoria Dal momento che la memoria di sistema (RAM) è una risorsa finita, nell allocarla ai vari processi il sistema operativo deve risolvere vari problemi: trovare spazio per i vari processi; ridurre la frammentazione. Informatica - G. Caminiti 23

Gestione memoria (Frammentazione) A B C A B C In memoria sono caricati i processi A e B. Anche C viene caricato in memoria. Il processo B termina, e libera la memoria. A C D Il processo D non trova spazio in cui inserirsi, anche se la memoria libera complessiva sarebbe sufficiente. Informatica - G. Caminiti 24

Gestione memoria (Frammentazione - 2) A C A C D Il processo D non trova spazio in cui inserirsi, anche se la memoria libera complessiva sarebbe sufficiente. A C D Il processo D troverà spazio nella memoria libera. Il processo C viene spostato in una zona di memoria contigua a quella occupata dal processo A Informatica - G. Caminiti 25

Gestione memoria: paginazione E anche possibile suddividere la memoria in blocchi (pagine fisiche). I programmi da caricare dovranno essere divisi in pagine logiche. Memoria (RAM) Processi 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 E F G Informatica - G. Caminiti 26

Gestione memoria: : swapping Il sistema operativo può riservare un area di un disco per lo swapping. A A C D B C C B D D viene caricato in memoria. In memoria sono presenti A, B, e C. D non trova spazio. C viene copiato su un disco dal gestore della memoria. Informatica - G. Caminiti 27

Memoria virtuale Le tecniche appena esposte possono coesistere tranquillamente. Il risultato della loro interazione è che il sistema può disporre, in apparenza, di una quantità di memoria maggiore di quella fisica installata. La memoria virtuale è un meccanismo che sfrutta l utilizzo di una memoria di massa per estendere la memoria centrale. Informatica - G. Caminiti 28

Gestione Input/Output L accesso alle periferiche di I/O viene gestito dal sistema operativo insieme ai driver di periferica. I driver sono programmi specifici per ciascun dispositivo che si colleghi all elaboratore (stampanti, scanner pendrive, modem ). Informatica - G. Caminiti 29

Gestione Input/Output L interazione tra un programma e una periferica è standardizzata. Un programma di elaborazione testi, ad esempio, può inviare un comando di stampa senza curarsi del tipo di stampante collegata al computer. Spetta al sistema operativo smistare la richiesta al driver della stampante. Informatica - G. Caminiti 30

Gestione Input/Output A questo livello è implementato anche un sistema di gestione degli errori di I/O (ad es. dischetto mancante o danneggiato, carta esaurita, ecc.). Anche il controllo dell ordine di accesso ai dispositivi è cruciale. Il sistema operativo deve prevenire, o risolvere, eventuali conflitti. Informatica - G. Caminiti 31

Il file system è il modo in cui il sistema operativo organizza i file (documenti) sulle unità di memorizzazione. Un file è un astrazione che rappresenta un insieme di byte logicamente collegati. Gestione file Informatica - G. Caminiti 32

Gestione file Informatica - G. Caminiti 33

Gestione file Informatica - G. Caminiti 34

Gestione file Informatica - G. Caminiti 35

Gestione file Rappresentazione grafica delle cartelle: Struttura ad albero Informatica - G. Caminiti 36

Gestione file: funzioni Il file system deve mettere a disposizione diverse funzioni per la manipolazione dei file: creazione/eliminazione lettura/scrittura/esecuzione coordinamento accessi contemporanei controllo degli accessi (nei sistemi multiutente) Informatica - G. Caminiti 37

Inteprete dei comandi (shell) L interprete dei comandi è quella parte del sistema operativo che riceve ed elabora le istruzioni impartite da un utente. E possibile utilizzare lo stesso sistema operativo con shell differenti. Questo può rendere molto diverso il modo di impartire comandi. Informatica - G. Caminiti 38

Inteprete dei comandi (shell) La shell è dunque lo strato più esterno di un sistema operativo. Di fatto, rappresenta l interfaccia tra utente e sistema. Informatica - G. Caminiti 39

Inteprete dei comandi (shell) e interfaccia Che differenza c è tra interprete dei comandi, shell, e interfaccia utente? I primi due termini sono sinonimi. Shell vuol dire guscio, in riferimento al fatto che si tratta dello strato più esterno di un sistema operativo. l interprete dei comandi è un programma. Informatica - G. Caminiti 40

Interfaccia L interfaccia èilmezzo attraverso il quale l utente invia comandi alla shell. Esistono diverse interfacce possibili per l interazione uomo-macchina. Il loro successo dipende, oltre che da un accurata progettazione, dal tipo di utente cui sono rivolte. Informatica - G. Caminiti 41

Interfacce Due sono i tipi di interfaccia più diffusi per interagire con un computer: Interfacce a caratteri, anche dette a riga di comando (CLI, command line interfaces) Interfacce grafiche (GUI, graphical user interfaces), in particolare di tipo WIMP (Windows, Icons, Menus, Pointing device) Informatica - G. Caminiti 42

Interfacce a caratteri Storicamente, per motivi legati all hardware, le interfacce a caratteri vengono prima delle altre. Il CP/M, il DOS, alcuni sistemi operativi in uso sui mainframe negli anni 60, UNIX.. Hanno tutti un interfaccia a caratteri. Informatica - G. Caminiti 43

Interfacce a caratteri DOS shell Informatica - G. Caminiti 44

Interfacce a caratteri Unix shell (linux console) Informatica - G. Caminiti 45

Interfacce a caratteri Esistono molti tipi di shell con interfaccia a caratteri, così come con interfaccia grafica. La differenza tra le interfacce a caratteri è nella sintassi e nella maggiore o minore flessibilità. Informatica - G. Caminiti 46

Interfacce grafiche Cosa rende diverse le interfacce grafiche le une dalle altre? Evidenziamo due aspetti: iltipodimetafora usata; glielementi costitutivi che l utente può manipolare. Informatica - G. Caminiti 47

Metafore La metafora più utilizzata nei personal computer, oggi, è quella della scrivania (in inglese, desktop). Dalla sua introduzione ad oggi sono state introdotte interfacce alternative, allo scopo di superarne le limitazioni, ma ancora senza successo. Informatica - G. Caminiti 48

Interfacce grafiche: : BOB Microsoft BOB (1995). Informatica - G. Caminiti 49

Interfacce grafiche: : Windows Informatica - G. Caminiti 50

Interfacce grafiche: metafore L uso e l implementazione -diunametafora pone di fronte, tipicamente, a tre problemi: nel dominio virtuale sono possibili azioni impraticabili in quello reale; neldominioreale sono possibili azioni impraticabili in quello virtuale; alcune azioni sono presenti in entrambi i domini, ma funzionano in maniera diversa. Informatica - G. Caminiti 51

Interfacce grafiche: il desktop Si tratta di un interfaccia a manipolazione diretta: esistono degli oggetti discreti sui quali l utente può compiere delle azioni (spostarli, trascinarli, gettarli nel cestino..). La metafora associa questi oggetti ai loro corrispettivi nel mondo reale; l utente ha già un idea di quali azioni è possibile compiere. Informatica - G. Caminiti 52

Interfacce grafiche: manipolazione Il problema delle interfacce a manipolazione diretta è che l utente deve manipolare direttamente ogni oggetto per compitiripetitivi, è frustrante; per compiticomplessi, a volte non tutti i passaggi sono noti. Soluzione: usare le macro Informatica - G. Caminiti 53

Elementi grafici Le interfacce attuali, basate sulla metafora della scrivania, sono di tipo WIMP. Gli elementi che le compongono vengono detti widget. Una widget è un elemento che fornisce informazioni all utente o gli permette di interagire con il sistema operativo o con un applicazione. Informatica - G. Caminiti 54

Interfacce grafiche Esempi di widget sono le icone, i menu, i pulsanti, le finestre, le barre di scorrimento, le caselle di testo Solitamente è il sistema operativo a mettere a disposizione un insieme di widget. In ambiente Unix è possibile usare insiemi di widget diversi. Informatica - G. Caminiti 55

Interfacce grafiche Macintosh Windows Linux (KDE) Informatica - G. Caminiti 56

Software Applicativo Programmi che svolgono funzioni specifiche, e che vengono eseguiti all interno dei sistemi operativi: 1. fogli di calcolo 2. elaborazione testi 3. fotoritocco, disegno, grafica 3D 4. editing o riproduzione audio/video 5. utilities (compressione, antivirus, ecc.) Informatica - G. Caminiti 57

Elaboratore testi Informatica - G. Caminiti 58

Foglio elettronico Informatica - G. Caminiti 59

Database Informatica - G. Caminiti 60

Presentazioni Informatica - G. Caminiti 61

Desktop Publishing Informatica - G. Caminiti 62

Personal Information Management Informatica - G. Caminiti 63