Estratto del documento

Protezione della Memoria, Accesso e Avvio del Sistema

Accesso e Protezione della Memoria

Pur non esistendo un “dono” di memoria, il tentativo di modificare un’area non

autorizzata può alterare dati critici e compromettere la stabilità del sistema.

L’hardware consente l’accesso diretto alla memoria, ma ciò può risultare pericoloso:

Le operazioni di memoria (lettura/scrittura) sono eseguite con istruzioni semplici.

Senza un’adeguata protezione, errori o bug potrebbero corrompere dati

fondamentali.

Il sistema operativo gestisce l’allocazione e la protezione della memoria, costringendo

l’utente a richiedere l’accesso tramite apposite funzioni (es. malloc).

Dal BIOS al Bootloader: Il Processo di Avvio

All’accensione, il primo software eseguito è il BIOS (Basic Input/Output System),

che:

Inizializza l’hardware e ne controlla la funzionalità (processore, memoria,

dispositivi).

Stabilisce la “tabella degli interrupt” per la gestione degli eventi hardware.

BIOS

Il legge i primi settori del disco (es. i primi 256 byte) contenenti il bootloader,

che si occupa di caricare:

Un bootloader più sofisticato.

Oppure direttamente il sistema operativo, trasferendolo in memoria centrale per

l’esecuzione.

Esecuzione del Sistema Operativo e Interazione con

l’Hardware

Una volta caricato, il sistema operativo si occupa di:

Gestire le risorse fisiche (come la memoria e il processore).

Creare ambienti di esecuzione isolati per le applicazioni, garantendone la stabilità

e la sicurezza.

L’utente, mediante operazioni semplici (doppio clic, comandi da shell), attiva i

programmi senza dover intervenire direttamente sull’allocazione della memoria o la

configurazione hardware.

Il Kernel, le Applicazioni e le Interfacce Utente

Distinzione tra Sistema Operativo e Applicazioni

Il kernel integra tutte le funzionalità essenziali, mentre le applicazioni (come browser,

shell, Office Automation) sono strumenti che sfruttano tali funzionalità.

È frequente la percezione errata che le applicazioni di sistema facciano parte del

sistema operativo, mentre esse operano sopra il kernel e non costituiscono il nucleo

protetto del sistema.

L’interfaccia grafica, per esempio, pur rendendo l’interazione più immediata, è

un’applicazione a livello utente e non parte del sistema operativo.

Funzioni e Servizi Offerti dal Kernel

Il kernel offre servizi fondamentali che includono:

Gestione della memoria (allocazione, protezione e accesso sicuro).

Gestione dei file system e dei dispositivi di I/O (tramite driver e moduli).

Implementazione di meccanismi di multiprogrammazione e gestione della

concorrenza.

Le "chiamate di sistema" permettono alle applicazioni di richiedere tali servizi senza

dover conoscere i dettagli dell’hardware sottostante.

Interazione con l’Hardware Driver, Moduli e Interrupt

L’Hardware e le Astrazioni del Sistema

L’hardware rappresenta il punto di partenza:

Componenti fisici come processore, memoria e dispositivi sono interconnessi tramite

bus (dati, indirizzi e controllo).

Molte entità, come il "file", sono astrazioni implementate dal sistema operativo e

non esistono in forma reale nel mondo hardware.

Le operazioni hardware (lettura, scrittura, comandi di controllo) sono eseguite tramite

segnali elettrici e protocolli ben definiti.

Driver e Moduli La Gestione dei Dispositivi

I driver sono programmi integrati nel kernel che interagiscono direttamente con

l’hardware, ad esempio per impartire comandi specifici ai controller dei dischi o delle

schede grafiche.

In ambienti Linux, i driver vengono spesso caricati come moduli on-demand:

Questo approccio modulare riduce l’occupazione di memoria e permette di

aggiornare o sostituire componenti senza ricompilare l’intero kernel.

Errori nel driver possono causare blocchi critici (ad es. schermate blu) o

compromettere la stabilità del sistema.

Il Meccanismo delle Interruzioni (Interrupt)

Il microprocessore dispone di linee dedicate agli interrupt, che segnalano eventi

asincroni provenienti da dispositivi hardware.

Dopo l’esecuzione di ogni istruzione, la CPU controlla le linee di interrupt:

Se viene rilevato un segnale (un livello logico alto), il flusso di esecuzione viene

interrotto per eseguire una routine specifica.

Questo meccanismo permette di gestire operazioni in parallelo (es. completamento

di una scrittura su disco o scadenza di un timer).

In presenza di molteplici interrupt, il sistema utilizza un meccanismo di priorità e

codifica dei segnali per determinare l’ordine di gestione degli eventi.

Es: premere un tasto genera un interup ( eventi asincroni)

Anteprima
Vedrai una selezione di 1 pagina su 5
Fondamenti del sistema operativo  Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher giada180407 di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Messina o del prof Scarpa Marco.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community