TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di

  • Slides: 19
Download presentation
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base 6 1 0 2 /

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base 6 1 0 2 / 4 0 / BOZZA: 22 GIORGIO PORCU www. thegiorgio. it © 2016 Giorgio Porcu - Aggiornamennto ISTITUTO TECNICO SECONDO BIENNIO

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Sommario • Concetti di base

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Sommario • Concetti di base Sistema Operativo Risorse Dipendenza dall’HW Sistemi Operativi più usati Funzioni e Struttura Macchina virtuale Bootstrap Kernel Shell © 2016 Giorgio Porcu - Aggiornamennto § § § § § 2

Il Sistema Operativo Concetti di Base © 2016 Giorgio Porcu - Aggiornamennto TECNOLOGIE E

Il Sistema Operativo Concetti di Base © 2016 Giorgio Porcu - Aggiornamennto TECNOLOGIE E PROGETTAZIONE Concetti di base 3

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Definizione • Sistema Operativo ©

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Definizione • Sistema Operativo © 2016 Giorgio Porcu - Aggiornamennto Software di base, essenziale al funzionamento di un computer: § Gestisce l’hardware del computer § Consente al software applicativo di interagire con le risorse hardware (interfaccia applicazioni-risorse) § Consente all’utente finale di utilizzare il computer senza conoscere i dettagli dell’hardware (interfaccia utente) 4

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Concetti di Base Rappresentazione grafica © 2016 Giorgio

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Concetti di Base Rappresentazione grafica © 2016 Giorgio Porcu - Aggiornamennto Il funzionamento di un Sistema Operativo può essere rappresentato da un diagramma a livelli: SW applicativo Utente Sistema Operativo HW 5

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Risorse © 2016 Giorgio Porcu

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Risorse © 2016 Giorgio Porcu - Aggiornamennto • Risorse Elementi HW e SW utilizzabili da un programma. • Risorse Hardware Insieme dei dispositivi hardware effettivamente utilizzabili da un programma su un computer. Sono: § Limitate § Non sempre accessibili in un certo istante di tempo Ogni programma necessita di qualche risorsa (CPU, Memoria, …) per la sua esecuzione. Il Sistema Operativo gestisce le risorse del computer. 6

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base • Dipendenza dall’HW Il Sistema

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base • Dipendenza dall’HW Il Sistema Operativo è un software complesso e dipendente dall’HW del computer. Ogni versione del SO è infatti realizzata e compilata per una specifica architettura hardware: § Compatibile con una certa tipologia di CPU (ES: Intel, ARM) § Che utilizza un certo numero di bit (32 bit, 64 bit) Sistemi Operativi (e relativi programmi) progettati per architetture hardware differenti sono incompatibili! 7 © 2016 Giorgio Porcu - Aggiornamennto Dipendenza dall’HW

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Sistemi Operativi più usati ©

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Sistemi Operativi più usati © 2016 Giorgio Porcu - Aggiornamennto I Sistemi Operativi più usati nel mondo PC (che comprende Desktop, Laptop, Tablet e Smartphone) sono attualmente: § Microsoft Windows (Desktop, Laptop) § Linux (Desktop, Laptop) § Google Android (Tablet, Smartphone) § Apple Mac. OS (Desktop, Laptop) § Apple i. OS (Tablet, Smartphone) 8

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Le principali funzioni del Sistema

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Le principali funzioni del Sistema Operativo sono: § Gestione dei Processi § Gestione della Memoria § Gestione dell’I/O (o Gestione delle Periferiche) § Gestione del File System § Gestione dell’Interfaccia (o Shell) Ogni funzione è realizzata da un modulo software detto gestore, costituito da un insieme di programmi. 9 © 2016 Giorgio Porcu - Aggiornamennto Principali funzioni

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base § Gestione dei Processi I

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base § Gestione dei Processi I programmi in esecuzione sono detti processi. Occorre assegnare ad essi le risorse necessarie e coordinarne l’esecuzione. § Gestione della Memoria La Memoria Centrale (RAM) è limitata. Il SO deve suddividerla dinamicamente tra processi e garantire strategie attuabili (memoria virtuale) in caso di esaurimento. 10 © 2016 Giorgio Porcu - Aggiornamennto Principali funzioni

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base § Gestione dell’I/O (o Gestione

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base § Gestione dell’I/O (o Gestione delle Periferiche) Il funzionamento delle periferiche HW interne ed esterne è gestito da chip detti controller pilotati da moduli SW detti driver. § Gestione del File System Le informazioni salvate su memoria di massa sono organizzate in file raggruppati gerarchicamente in cartelle. 11 © 2016 Giorgio Porcu - Aggiornamennto Principali funzioni

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base § Gestione dell’interfaccia (o Shell)

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base § Gestione dell’interfaccia (o Shell) Il SO mette a disposizione all’utente un’interfaccia grafica (GUI) o a linea di comando (CUI) per sfruttarne tutte le potenzialità. 12 © 2016 Giorgio Porcu - Aggiornamennto Principali funzioni

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Struttura a livelli © 2016

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Struttura a livelli © 2016 Giorgio Porcu - Aggiornamennto La struttura logica di un Sistema Operativo può essere rappresentata da un diagramma a livelli in cui ogni livello si occupa di una specifica funzione: Gestione dell’Interfaccia Gestione del File System Gestione dell’I/O Gestione della Memoria Kernel Gestione dei Processi HW 13

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Struttura a cipolla (Onion skin)

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Struttura a cipolla (Onion skin) © 2016 Giorgio Porcu - Aggiornamennto Una rappresentazione alternativa della struttura di un Sistema Operativo è un diagramma a buccia di cipolla (Onion Skin) equivalente a quello a livelli: Gestione Processi 14

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Il Modello a livelli visto

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Il Modello a livelli visto in precedenza introduce il concetto di: • Macchina virtuale Ogni livello (gestore di funzione) offre funzioni e per realizzarle poggia sui livelli inferiori sino all’hardware. L’utente che dialoga col SO ad un certo livello non conoscere i dettagli implementativi dei livelli inferiori e ha l’impressione di utilizzare virtualmente un unico oggetto. 15 © 2016 Giorgio Porcu - Aggiornamennto Macchina Virtuale

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Bootstrap Procedura di caricamento del

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Bootstrap Procedura di caricamento del Sistema Operativo. Consta di una serie di fasi attuate all'accensione del computer: 1. Il BIOS, programma di diagnostica e configurazione memorizzato su ROM, esegue una serie di test (POST) per verificare il corretto funzionamento dell'hardware. 2. Se i test sono andati a buon fine, il BIOS lancia una routine software che sceglie il dispositivo di boot (di solito il disco rigido) da cui avviare il Sistema Operativo. 3. Il controllo passa al dispositivo di boot che carica il kernel del Sistema Operativo in RAM e lo esegue. 16 © 2016 Giorgio Porcu - Aggiornamennto • Bootstrap

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Kernel Parte più importante del

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Kernel Parte più importante del SO costituita dai livelli più vicini all’Hardware che comunicano direttamente con esso. Gestisce le cosiddette operazioni di basso livello. Il kernel è mantenuto sempre in memoria RAM. Livello N Sistema Operativo HW Livello N-1 … Livello 2 Livello 1 Kernel 17 © 2016 Giorgio Porcu - Aggiornamennto • Kernel

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base • La scelta di quanti

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base • La scelta di quanti livelli e quali funzioni costituiscano il Sistema Operativo, e quali tra essi costituiscano il kernel dipende dalle caratteristiche dello specifico sistema. • La Gestione dei Processi e la Gestione della Memoria sono sempre parte del kernel poiché fondamentali in ogni Sistema Operativo. Gestione della Memoria Gestione dei Processi Kernel 18 © 2016 Giorgio Porcu - Aggiornamennto Funzioni nel kernel

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Shell Interfaccia di comunicazione tra

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Concetti di Base Shell Interfaccia di comunicazione tra l'utente e il Sistema Operativo. Consente di selezionare ed eseguire funzioni e comandi. Può essere di tipo: § GUI (Graphical User Interface) Interfaccia grafica basata su oggetti (Desktop, Icone). Interfaccia utente standard dei moderni Sistemi Operativi. § CUI (Command User Interface) Interfaccia testuale a linea di comando. Standard nei SO più datati, è utilizzabile come opzione anche in quelli recenti (Prompt dei comandi, Terminale). 19 © 2016 Giorgio Porcu - Aggiornamennto • Shell (Interfaccia utente)