Procesul de startup Linux

Linux startup process este procesul prin care sistemul de operare Linux se inițializează. Este în mare parte similar cu procesul de startup pentru BSD sau alte moduri de boot Unix, din care este și derivat.

Rezumatul procesului

modificare

În Linux, fluxul de control este de la BIOS, spre boot-loader și apoi spre kernel. Apoi kernelul porneste "task scheduler" (pentru a permite programe multi tasking) si rulează prima data scriptul de Init pentru logarea userilor. In acest moment kernelul intra in asteptare pana cand este apelat.

Detaliat:

  1. BIOS-ul execută sarcinile de startup specifice platformei hardware
  2. Odata ce platforma hardware este recunoscuta si a pornit corect, BIOS-ul incarca si executa codul de boot al partitiei din dispozitivul alocat pentru boot, care contine faza 1 a boot-loader-ului Linux. Faza 1 incarca faza 2 (partea principala a codului de boot). Unele boot-load-ere mai utilizeaza si o faza intermediară pentru a realiza boot-area (cunoscuta ca faza 1.5) îintrucât dicurile moderne de dimensiuni mari nu pot functiona la randament maxim fara niște cod in plus.
  3. Adeseori boot-loader-ul prezintă userului un meniu cu opțiuni de boot. Apoi incarca sistemul de operare, care incarca in memorie sistemul de operare, și setează funțiile sistemului ca de exemplu modulele hardware esentiale si maparea memoriei, înainte să apeleze start_kernel().
  4. Apoi strat_kernel() încarcă majoritatea setarilor sistemului (intreruperi, restul managementului memoriei, inițializarea device-urilor, driverele, etc) dupa care porneste separat, procesul de asteptare si de programare a evenimentelor, si (care este executat in spatiul userului)

Vezi și

modificare


Referințe

modificare