Avvio e chiusura

Avvio e spegnimento sistema

fasi critiche

spesso intervento operatore

prima

durante

importante capire cosa succede

Fasi di boot

Il bootstrap può essere automatico o manuale

caricamento sw interno

caricamento kernel SO

gestione HW

creazione processi di sistema

(intervento operatore)

esecuzione script di avvio

operatività

Firmware

Codice interno HW

generico

PC

dedicato

HW proprietario o fornito dal produttore del SO

differenti firmware

configurazione HW

configurazione SO

Caricamento SO

Dipende dall'HW

PC

Master Boot Record (MBR)

inadeguato (512 Byte)

occorre un loader

configurazione HW

UNIX meno flessibile di Windows/DOS

kernel monolitico

kernel modulare

Processi iniziali

Dopo l'inizializzazione dell HW vengono caricati i primi programmi:

Linux

init

k*

Solaris

init

sched

pageout

fsflush

*BSD

init

swapper

INIT

È il processo base di tutto il sistema che si occupa del caricamento di tutti gli altri processi

run level

script di configurazione

gestione emergenze o situazioni particolari

gestione terminali a console o seriale

(gestione servizi)

/etc/inittab

/etc/inittab

Cuore del sistema di boot

nelle prime righe runlevel

init <n>

sintassi label:livello:azione:processo

label: 1-4 caratteri

livello: livello o livelli di interesse

azione: differenti tipi di azione

processo: programma da eseguire e relativi parametri

init q

Runlevel

Specifica la modalità di esecuzione

0: halt

1, s o S: single user mode

2-5 vari

6: reboot

teoricamente anche 7-9

init <n>

Script di avvio

Non tutto è lasciato a INIT

Due filosofie

Sytem V:

script differenziati per livello

BSD

singolo script

Script di avvio: un caso

Situazione Debian

tutti gli script vivono in /etc/init.d

/etc/init.d/rc <runlevel>

directory rc<runlevel>.d

due tipi di invocazioni

S*

K*

Altre righe inittab

Dopo l'esecuzione degli script di avvio:

terminali

console

seriali

gestione eventi asincroni

passaggio ad altri runlevel

problemi alimentazione

tasti speciali

init non termina!

Gestione init

Cautela!

Modifica inittab

attenzione agli ID

init q

init <n>

init S

Upstart

Evoluzione di init

stesso scopo e in parte retrocompatibile

init

telinit

runlevel

/etc/rcX.d gestiti in maniera nativa

/etc/event.d invece di /etc/inittab

Se qualcosa va male

Boot in single user mode

no rete

dischi read-only e solo essenziali

solo una console

esecuzione script parziale

dmesg e /var/log

linux: parametro single oppure -b oppure init=...

solaris o sunos: boot -s

Spegnimento

Differenti modalità

shutdown

halt

reboot

fastboot

kill -9 1

sync sync sync!

2000-10-18T12:27:40