Introduzione ai sistemi operativi - PowerPoint PPT Presentation

1 / 70
About This Presentation
Title:

Introduzione ai sistemi operativi

Description:

... 3 Il gestore dei processi il modulo che si occupa del ... il sistema deve allocare la memoria per i job presenti contemporaneamente CPU scheduling: ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 71
Provided by: diiUnisi9
Category:

less

Transcript and Presenter's Notes

Title: Introduzione ai sistemi operativi


1
Introduzione aisistemi operativi
2
Sommario
  • Introduzione
  • Scopo del sistema operativo
  • Architettura del sistema operativo
  • Storia dei sistemi operativi
  • Struttura dei sistemi operativi
  • La gestione dei processi
  • La gestione della memoria
  • Il file system
  • La gestione dei dispositivi di I/O
  • Linterfaccia utente
  • Esempi di sistemi operativi

3
Introduzione
4
Cosè un sistema operativo ? 1
  • Il software può essere diviso in due grandi
    classi
  • i programmi di sistema, che gestiscono le
    funzionalità del sistema di calcolo
  • i programmi applicativi, che risolvono i problemi
    degli utenti
  • Linsieme dei programmi di sistema viene
    comunemente identificato con il nome di Sistema
    Operativo (SO)
  • Definizione
  • Un sistema operativo è un programma che
    controlla lesecuzione di programmi applicativi
    ed agisce come interfaccia fra le applicazioni e
    lhardware del calcolatore

5
Cosè un sistema operativo ? 2
  • Tutte le piattaforme hardware/software richiedono
    un sistema operativo
  • Quando si accende un elaboratore, occorre
    attendere alcuni istanti per poter iniziare a
    lavorare durante questa pausa il computer carica
    il SO

6
Scopo del sistema operativo
  • Gestione EFFICIENTE delle risorse del sistema di
    elaborazione
  • Rendere AGEVOLE linterfaccia tra luomo e la
    macchina

7
Compiti del sistema operativo
  • Gestione dei processi
  • Gestione della memoria principale
  • Gestione della memoria di massa (file system)
  • Realizzazione dellinterfaccia utente
  • Rilevamento e gestione degli errori
  • Accounting
  • Protezione e sicurezza

8
Esempio il SO come gestore risorse 1
  • Si consideri un ristorante con un capocuoco (che
    dirige la cucina) ed i suoi aiutanti, camerieri e
    clienti
  • I clienti scelgono un piatto dal menù
  • Un cameriere prende lordine e lo consegna al
    capocuoco
  • Il capocuoco riceve lordine e assegna uno o più
    aiutanti alla preparazione del piatto
  • Ogni aiutante si dedicherà alla preparazione di
    un piatto, il che potrà richiedere più attività
    diverse
  • Il capocuoco supervisiona la preparazione dei
    piatti e gestisce le risorse (limitate)
    disponibili

9
Esempio il SO come gestore risorse 2
  • Il capocuoco è il sistema operativo!
  • I clienti sono gli utenti
  • Le ricette associate ai piatti sono i programmi
  • Il menù ed il cameriere costituiscono
    linterfaccia verso il sistema operativo (grafica
    e non)
  • Gli aiutanti sono i processi
  • La cucina è il computer pentole, fornelli, etc.
    sono le componenti hardware

10
Esempio il SO come gestore risorse 3
  • Problemi del capocuoco
  • Esecuzione fedele delle ricette
  • Allocazione efficiente delle risorse esistenti
    (aiutanti, fornelli, etc.)
  • Coordinamento efficiente degli aiutanti
  • Licenziamento degli aiutanti che non si
    comportano secondo le regole
  • Problemi del sistema operativo
  • Efficienza nelluso delle risorse (processori,
    memoria, dischi, etc.)
  • Protezione nelluso delle risorse
  • Coordinamento dei processi

11
Il SO come macchina estesa 1
  • Visione a strati delle componenti
    hardware/software che compongo un elaboratore

12
Il SO come macchina estesa 2
  • Il SO può essere inteso come uno strumento che
    virtualizza le caratteristiche dellhardware
    sottostante, offrendo allutente la visione di
    una macchina astratta più potente e più semplice
    da utilizzare di quella fisicamente disponibile
  • In questa visione, un SO
  • nasconde a programmatori/utenti i dettagli
    dellhardware e fornisce uninterfaccia
    conveniente e facile da usare
  • agisce come intermediario tra programmatore/utent
    e e hardware
  • Parole chiave
  • Indipendenza dallhardware
  • Comodità duso
  • Programmabilità

13
Il SO come macchina estesa 3
  • Lutente è in grado di utilizzare la macchina
    fisica senza conoscere i dettagli della sua
    struttura interna e del suo funzionamento
  • Hardware fornisce le risorse fondamentali di
    calcolo (CPU, memoria, device di I/O)
  • Sistema Operativo controlla e coordina
    lutilizzo delle risorse hardware da parte dei
    programmi applicativi dellutente
  • Programmi Applicativi definiscono le modalità
    di utilizzo delle risorse del sistema, per
    risolvere i problemi di calcolo degli utenti
    (compilatori, database, video game, programmi
    gestionali)
  • Utenti persone, altri macchinari, altri
    elaboratori

Visione a cipolla del sistema di calcolo
14
Architettura del sistema operativo
  • I SO sono costituiti da un insieme di moduli,
    ciascuno dedicato a svolgere una determinata
    funzione
  • I vari moduli del SO interagiscono tra loro
    secondo regole precise, al fine di realizzare le
    funzionalità di base della macchina
  • Linsieme dei moduli per la gestione della CPU e
    della memoria centrale è il kernel

15
Ancora sul sistema operativo
  • Riassumendo Il sistema operativo fornisce un
    ambiente per eseguire programmi in modo
    conveniente ed efficiente, funge infatti da
  • Allocatore di risorse controlla, distribuisce
    ed alloca le risorse (in modo equo ed efficiente)
  • Programma di controllo controlla lesecuzione
    dei programmi utente e le operazioni sui
    dispositivi di I/O

Esempio il filesystem
Si ha a che fare con file, directory, etc., e non
ci si deve preoccupare di come i dati sono
memorizzati sul disco
16
Storia dei sistemi operativi
17
Storia dei sistemi operativi
  • Levoluzione dei sistemi operativi
  • è stata spinta dal progresso tecnologico
    dellhardware
  • ha guidato il progresso tecnologico
    dellhardware
  • Esempio
  • Gestione degli interrupt
  • Protezione della memoria
  • Memoria virtuale
  • ...
  • Perché analizzare la storia dei sistemi
    operativi?
  • Perché permette di capire lorigine di certe
    soluzioni presenti nei SO attuali
  • Perché è lapproccio migliore per capire come
    certe idee si sono sviluppate
  • Perché alcune delle soluzioni più antiche sono
    ancora utilizzate

18
Storia dei sistemi di elaborazione
  • Generazione 0 Babbage (17921871)
  • Progetta la macchina analitica (programmabile,
    meccanica)
  • Non aveva sistema operativo
  • La prima programmatrice della storia è Lady Ada
    Lovelace
  • Generazione 1 19451955
  • Valvole e tavole di commutazione
  • Generazione 2 19551965
  • Transistor e sistemi batch
  • Generazione 3 19651980
  • Circuiti integrati, multiprogrammazione e
    timesharing
  • Generazione 4 1980oggi
  • Personal computer

19
Generazione 1 19451955
  • Come venivano costruiti?
  • Calcolatori a valvole e tavole di commutazione
  • Come venivano usati?
  • Solo calcoli numerici (calcolatori non
    elaboratori)
  • Un singolo gruppo di persone progettava,
    costruiva, programmava e manuteneva il proprio
    computer
  • Come venivano programmati?
  • In linguaggio macchina (stringhe di 0 e 1)
  • Programmazione su tavole di commutazione
  • Nessun sistema operativo!

20
Generazione 1 19451955
  • Principali problemi
  • Scarsa affidabilità (guasti frequenti)
  • Rigidità nellassegnazione dei ruoli
  • Non esiste il concetto di programmatore come
    entità separata dal costruttore di computer e
    dallutente
  • Utilizzazione lenta e complessa loperatore
    doveva
  • caricare il programma da eseguire
  • inserire i dati di input
  • eseguire il programma
  • attendere il risultato
  • in caso di errore, ricominciare dal punto 1)
  • Tutto ciò a causa dellassenza del SO

21
Generazione 2 19551965
  • Come venivano costruiti?
  • Introduzione dei transistor
  • Costruzione di macchine più affidabili ed
    economiche
  • Come venivano usati?
  • Gli elaboratori iniziano ad essere utilizzati per
    compiti diversi
  • Si crea un mercato, grazie alle dimensioni ed al
    prezzo ridotti
  • Avviene una separazione tra costruttori,
    operatori e programmatori
  • Come venivano programmati?
  • Linguaggi di medio/alto livello Assembly,
    Fortran
  • Tramite schede perforate
  • Sistemi operativi batch

22
Generazione 2 19551965
  • Definizione di job Un programma o un insieme di
    programmi la cui esecuzione è richiesta da un
    utente
  • Ciclo di esecuzione di un job
  • Il programmatore
  • scrive (su carta) un programma in un linguaggio
    di alto livello
  • perfora una serie di schede con il programma e il
    suo input
  • consegna le schede ad un operatore
  • Loperatore
  • inserisce le schede di controllo scritte in
    linguaggio apposito
  • inserisce le schede del programma
  • attende il risultato e lo consegna al
    programmatore
  • operatore ? programmatore utente

23
Generazione 2 19551965
  • Primi rudimentali esempi di sistema operativo,
    detti anche monitor residenti o sistemi batch, a
    infornata
  • Controllo iniziale al monitor
  • Il controllo viene ceduto al job corrente
  • Una volta terminato il job, il controllo ritorna
    al monitor
  • Il monitor residente è in grado di eseguire una
    sequenza di job, trasferendo il controllo
    dalluno allaltro in successione

24
Generazione 2 19551965
  • Principale problema molte risorse non utilizzate
  • Durante le operazioni di lettura schede/stampa,
    durante il caricamento di un nuovo job, il
    processore resta inutilizzato
  • Parte della memoria resta inutilizzata
  • Primo miglioramento ma non una soluzione
  • Caricamento di numerosi job su nastro (offline)
  • Elaborazione (output su nastro)
  • Stampa del nastro di output (offline)

25
Generazione 3 19651980
  • Come venivano costruiti?
  • Circuiti integrati
  • Come venivano usati?
  • Progressivamente sparisce la figura
    delloperatore come interfaccia degli utenti
    verso le macchine
  • utente operatore
  • Come venivano programmati?
  • Linguaggi di alto livello C, shell scripting
  • Editor testuali, editor grafici, compilatori
  • Accesso al sistema da terminali
  • Sistemi operativi interattivi, con
    multiprogrammazione e timesharing

26
Generazione 3 Multiprogrammazione
  • Definizione di multiprogrammazione Utilizzo del
    processore durante i periodi di I/O di un job per
    eseguire altri job
  • Vantaggi
  • Il processore non viene lasciato inattivo (idle)
    durante le operazioni di I/O (molto lunghe)
  • La memoria viene utilizzata al meglio, caricando
    il maggior numero di job possibili
  • Nota per gestire la multiprogrammazione, il SO
    deve gestire un pool di job da eseguire, fra cui
    alternare il processore

27
Generazione 3 Multiprogrammazione
  • Caratteristiche tecniche
  • Più job contemporaneamente in memoria
  • Una componente del SO, detta scheduler, si
    preoccupa di alternarli nelluso della CPU
  • Quando un job richiede unoperazione di I/O, la
    CPU viene assegnata ad un altro job
  • SO multiprogrammati
  • Routine di I/O fornite dal SO
  • Gestione della memoria il sistema deve allocare
    la memoria per i job presenti contemporaneamente
  • CPU scheduling il sistema deve scegliere tra i
    diversi job pronti allesecuzione
  • Allocazione delle risorse di I/O il SO deve
    essere in grado di allocare le risorse di I/O fra
    diversi processi

28
Generazione 3 Timesharing
  • Definizione di timesharing
  • La risorsa CPU viene suddivisa in quanti
    temporali allo scadere di un quanto, il job
    corrente viene interrotto e lesecuzione passa ad
    un altro job, anche in assenza di richieste di
    I/O
  • I context switch avvengono così frequentemente
    che più utenti possono interagire con i programmi
    in esecuzione
  • SO timesharing
  • Gestione della memoria il numero di processi
    utente può essere molto elevato si rende
    necessario luso della memoria virtuale
  • CPU scheduling deve essere di tipo timesliced,
    ovvero sospendere periodicamente lesecuzione di
    un programma a favore di un altro
  • La presenza di più utenti rende necessari
    meccanismi di protezione (e.g. protezione del
    file system, della memoria, etc.)

29
Generazione 4 1980oggi
  • I personal computer sono dedicati ad utenti
    singoli
  • Lobiettivo primario per i SO diventa la facilità
    duso diminuisce linteresse per la gestione
    ottima delle risorse
  • I SO per PC sono in generale più semplici non
    implementano la protezione (almeno fino
    allavvento di Internet)
  • Creazione di interfacce grafiche userfriendly
  • Tuttavia, tecnologie sviluppate per SO più
    complessi possono comunque essere adottate

30
La struttura del sistema operativo
La gestione dei processi
31
La gestione dei processi 1
  • Un processo è un programma in esecuzione
  • Un processo utilizza le risorse fornite dal
    sistema di elaborazione per assolvere ai propri
    compiti
  • La terminazione di un processo prevede il
    recupero di tutte le risorse riutilizzabili ad
    esso precedentemente allocate
  • Normalmente, in un sistema vi sono molti
    processi, di alcuni utenti, e alcuni sistemi
    operativi, che vengono eseguiti in concorrenza su
    una o più CPU
  • La concorrenza è ottenuta effettuando il
    multiplexing delle CPU fra i vari processi

32
La gestione dei processi 2
  • Il sistema operativo è responsabile delle
    seguenti attività riguardanti la gestione dei
    processi
  • creazione e terminazione dei processi
  • sospensione e riattivazione dei processi
  • gestione dei deadlock
  • comunicazione tra processi
  • sincronizzazione tra processi
  • Il gestore dei processi realizza una macchina
    virtuale in cui ciascun programma opera come se
    avesse a disposizione ununità di elaborazione
    dedicata

33
La gestione dei processi 3
  • Il gestore dei processi è il modulo che si occupa
    del controllo, della sincronizzazione,
    dellinterruzione e della riattivazione dei
    programmi in esecuzione cui viene assegnato un
    processore
  • La gestione dei processi viene compiuta secondo
    modalità diverse, in funzione del tipo di
    utilizzo cui il sistema è rivolto
  • Il programma che si occupa della distribuzione
    del tempo di CPU tra i vari processi attivi,
    decidendone lavvicendamento, è chiamato
    scheduler
  • Nel caso di sistemi multiprocessore, lo scheduler
    si occupa anche di gestire la cooperazione tra le
    diverse CPU presenti nel sistema

34
Ciclo di vita dei processi
nascita
top nella coda di scheduling
running
ready
tempo scaduto
evento
wait
termine
attesa evento (es. I/O)
35
Politiche di scheduling
  • Le politiche di scheduling sono raggruppabili in
    due grandi categorie
  • Preemptive luso della CPU da parte di un
    processo può essere interrotto in un qualsiasi
    momento, e la risorsa concessa ad altro processo
  • Non preemptive una volta che un processo ha
    ottenuto luso della CPU, è unico proprietario
    della risorsa finché non ne decide il rilascio

36
Sistemi monotasking
  • I SO che gestiscono lesecuzione di un solo
    programma per volta (un solo processo) sono detti
    monotasking
  • Non è possibile sospendere un processo per
    assegnare la CPU ad un altro
  • Sono storicamente i primi SO (es. MSDOS)

C
B
A
t
T
37
Sistemi multitasking
  • I SO che permettono lesecuzione contemporanea di
    più programmi sono detti multitasking o
    multiprogrammati
  • Un programma può essere interrotto e la CPU
    passata a un altro programma

C
B
A
t
Tmono-tasking
Tmulti-tasking
38
Sistemi timesharing
  • Unevoluzione dei sistemi multitasking sono i
    sistemi timesharing
  • Ogni processo viene eseguito ciclicamente per
    piccoli quanti di tempo
  • Se la velocità del processore è sufficientemente
    elevata si ha limpressione di unevoluzione
    parallela dei processi
  • Esempio
  • Ipotesi 1 MIPS, 4 processi,
  • 0.25 s/utente
  • Conseguenze 0.25 MIPS/utente,
  • TELA 4 ? TCPU

0.00
A
D
0.75
0.25
C
B
0.50
39
Timesharing diagramma temporale
Processo Tempo di CPU
A 3
B 2
C 4
D 3
D
C
B
A
t
40
La gestione della memoria
41
La gestione della memoria principale 1
  • La memoria principale
  • è un array di byte indirizzabili singolarmente
  • è un deposito di dati facilmente accessibile e
    condiviso tra la CPU ed i dispositivi di I/O
  • Il SO è responsabile delle seguenti attività
    riguardanti la gestione della memoria principale
  • Tenere traccia di quali parti della memoria sono
    usate e da chi
  • Decidere quali processi caricare quando diventa
    disponibile spazio in memoria
  • Allocare e deallocare lo spazio di memoria quando
    necessario
  • Il gestore di memoria realizza una macchina
    virtuale in cui ciascun programma opera come se
    avesse a disposizione una memoria dedicata

42
La gestione della memoria principale 2
  • Lorganizzazione 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 task (per
    eseguire un task è necessario che il suo codice
    sia caricato in memoria)
  • La complessità del gestore della memoria dipende
    dal tipo di SO
  • Nei SO multitasking, più programmi possono
    essere caricati contemporaneamente in memoria
  • Problema come allocare lo spazio in maniera
    ottimale

43
Allocazione lineare
Memoria
0000x
Programma A
Programma B
Programma C
44
Allocazione lineare
Memoria
0000x
Programma A
PROBLEMA !!!! FRAMMENTAZIONE
Programma D
Programma C
45
Paginazione
Memoria
0000x
Programma D
46
Paginazione
Programma E
47
La memoria virtuale 1
  • Spesso la memoria non è sufficiente per contenere
    completamente tutto il codice dei processi
  • Si può simulare una memoria più grande tenendo
    nella memoria di sistema (RAM) solo le parti di
    codice e dati che servono in quel momento
  • Si usa il concetto di memoria virtuale
  • I dati e le parti di codice relativi a programmi
    non in esecuzione possono essere tolti dalla
    memoria centrale e parcheggiati su disco nella
    cosiddetta area di swap
  • I processori moderni sono dotati di meccanismi
    hardware per facilitare la gestione della memoria
    virtuale

48
La memoria virtuale 2
Memoria
0000x
Programma A-1
Programma B-1
Programma D
49
La memoria virtuale 2
Memoria
0000x
Programma A-2
Programma B-1
Swap
Programma D
Programma A-1
Programma A-3
Programma B-2
50
La gestione della memoria secondaria ? 1
  • Poiché la memoria principale è volatile e troppo
    piccola per contenere tutti i dati e tutti i
    programmi in modo permanente, un 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
  • Astrae dalle caratteristiche fisiche dei
    dispositivi per definire ununità di
    memorizzazione logica ? il file
  • Ciascuna periferica viene controllata dal
    relativo device driver, che nasconde allutente
    le caratteristiche fisiche variabili
    dellhardware modalità e velocità di accesso,
    capacità, velocità di trasferimento

51
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 (disk
    scheduling)

52
Il file system
53
La gestione del file system 1
  • Un file è lastrazione informatica di un archivio
    di dati
  • 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

54
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
  • Il gestore del file system deve garantire la
    correttezza e la coerenza delle informazioni
  • Nei sistemi multiutente, fornisce meccanismi di
    protezione per consentire agli utenti di
    proteggere i propri dati dallaccesso di altri
    utenti non autorizzati
  • Le funzioni tipiche del gestore del file system
    sono
  • Fornire un meccanismo per lidentificazione dei
    file
  • Fornire metodi opportuni di accesso ai dati
  • Rendere trasparente la struttura fisica del
    supporto di memorizzazione
  • Implementare meccanismi di protezione dei dati

55
Organizzazione del file system
  • Quasi tutti i SO utilizzano unorganizzazione
    gerarchica del file system
  • Lelemento utilizzato per raggruppare più file
    insieme è la directory

Directory
  • Linsieme gerarchico delle directory e dei file
    può essere rappresentato attraverso un grafo (un
    albero nei SO più datati) delle directory

Grafo delle directory
56
La gestione dei dispositivi di I/O
57
La gestione dei dispositivi di I/O
  • La gestione dellI/O richiede
  • Uninterfaccia 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 allutente una
    versione astratta delle periferiche hardware
    lutente ha a disposizione un insieme di
    procedure standard di alto livello per
    leggere/scrivere da/su una periferica che
    percepisce come dedicata

58
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

59
Linterfaccia utente
60
Linterfaccia utente 1
  • Tutti i SO implementano meccanismi per facilitare
    lutilizzo del sistema da parte degli utenti
  • Linsieme 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.)

61
Linterfaccia utente 2
  • Interfaccia testuale
  • Interprete dei comandi (shell)
  • Esempio MSDOS/UNIX
  • Interfaccia grafica (a finestre)
  • Loutput dei vari programmi viene visualizzato in
    maniera grafica allinterno di finestre
  • Lutilizzo di grafica rende più intuitivo luso
    del calcolatore
  • Esempio WINDOWS/Linux
  • Differenze
  • Cambia il linguaggio utilizzato, ma il concetto
    è lo stesso
  • Vi sono però differenze a livello di espressività

62
Linterfaccia 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 sulloggetto in
    questione, eseguono funzioni tipiche
    delloggetto, aprono directory ? folder, o
    cartelle, nel gergo GUI (Graphical User Interface)

63
Protezione e sicurezza
64
Protezione e sicurezza
  • Protezione ? è il meccanismo usato per
    controllare laccesso da parte di processi 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
  • Lidentità utente (user ID) include nome
    dellutente e numero associato ? uno per ciascun
    utente
  • Luser ID garantisce lassociazione corretta di
    file e processi allutente e ne regola la
    manipolazione
  • Lidentificativo di gruppo permette inoltre ad un
    insieme di utenti di accedere correttamente ad un
    gruppo di risorse comuni (file e processi)

65
Esempi di sistemi operativi
66
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 diverse

67
MSDOS
  • DOS Disk Operating System
  • CPU Intel 80x86 (16 bit)
  • Monotask
  • Monoutente
  • File system gerarchico
  • Memoria gestibile limitata (1 MB/640 KB)
  • Nessuna protezione

68
Windows/Vista
  • CPU Intel (da 80386), ma anche per DECAXP,
    MIPSR4000, etc.
  • Multitask
  • Monoutente/Multiutente
  • NTFS (NT File System)
  • Microkernel, thread
  • Sistema a 32/64 bit

69
UNIX
  • Nato alla fine degli anni 60 (ATT Bell Labs)
  • Rimasto allavanguardia perchè sviluppato in
    ambito universitario (UCB, University of
    California at Berkeley)
  • Multitask
  • Multiutente
  • Ottima integrazione in rete
  • Portabilità dei programmi

70
Linux
  • Nato nel 91, grazie a Linus Torvalds, uno
    studente finlandese dellUniversità di Helsinki
  • Sviluppato su piattaforma Intel 80386, fu
    distribuito da subito su Internet (free e
    opensource)
  • Multitask
  • Multiutente
  • L'architettura del sistema è Unixlike un kernel
    molto piccolo che contiene solo funzioni
    fondamentali per la gestione delle risorse del
    computer (memoria, dischi, rete e altre
    periferiche) ed una larga collezione di programmi
    applicativi che lutente usa per operare sul
    sistema
Write a Comment
User Comments (0)
About PowerShow.com