Jestliže dojde k neočekávanému ukončení běžícího procesu např. výpadkem hardware, je většinou celý proces znehodnocen.
Tomu lze předejít právě programovým využitím checkpointingu.
Zadavatel procesu si musí vytvořit ve vhodných místech tzv. záložní body. V těchto bodech je na diskové
paměti
vytvořen okamžitý snímek procesu,který obsahuje celý obsah paměti a
obsah všech souborů, které má proces otevřené.
Je zřejmé, že tento snímek může mít značný nárok na paměťový prostor, takže je třeba k vytváření záložních bodů přistupovat s rozvahou.
Obnova procesu je snadná od kteréhokoli okamžiku, v němž byl vytvořen záložní bod a snímek je uložen.
Checkpointing byl pro operační systém Solaris implementován v Centre of Excellence, který Sun Microsystems zřídil v polském superpočítačovém středisku v Poznani v r. 2002.
Podmínkou pro checkpointing je, aby program byl uložen v adresáři uživatele v rodičovském adresáři /scratch.
Uživatelé si záložní body vytvářejí sami a administrátorovi systému to oznámí na adresu
luna@vumscomp.cz
Administrátor záložní body po 5 dnech smaže, pokud to uživatel neudělal již dříve.
Vytvoření záložního bodu
Záložní bod se vytvoří příkazem
chkpnt -p <PID> [-od <DIR>] [-k]
kde
<PID> je číslo procesu, který má být zálohován,
<DIR> je adresář, do něhož se má uložit snímek;
pokud není parametr
od uveden, je snímek uložen do nového
podadresáře v adresáři, kde byl spuštěn
chkpnt,
parametr k ukončí proces po vytvoření snímku.
Obnovení procesu
Proces se obnoví příkazem
resume -od <DIR> [ -bp <DIR1>]
kde
<DIR> je adresář, v němž je snímek, který má být použit pro obnovu,
<DIR1> je adresář, kde je uložen program, který obnovujeme.
Parametr –bp je nutný pouze v případě,
že se cesta k programu mezi vytvořením záložního bodu a obnovením procesu
změnila.
Má být zálohován program pok.
Pomocí příkazu ps -a zjistíme jeho PID (29834)
Napíšeme chkpnt -p 29834
Při správném chování systém odpoví:
Checkpoint operation finished successfully.
Process image is placed in directory : .chkpnt_at_2005_02_16_-_10_59
Obnova procesu:
Napíšeme
resume -od .chkpnt_at_2005_02_16_-_10_59/Při správném chování systém odpoví:
DEBUG: HEADER :.chkpnt_at_2005_02_16_-_10_59//chkpnt_head
DEBUG: ELF_NAME : /scratch/rfz136/pok
PR_SYSEXIT
a proces pokračuje ve své činnosti od bodu obnovení.