Sobes.tech
Middle

Как протича процесът на зареждане на операционната система Linux?

sobes.tech AI

Отговор от AI

  1. BIOS/UEFI: Инициализация на хардуера, проверка на периферните устройства, избор на устройство за зареждане.

  2. MBR/GPT: Четене на съдържанието на главния запис за зареждане (MBR) или таблицата с GUID раздели (GPT) от устройството за зареждане.

  3. Bootloader (GRUB, LILO): Зареждане на зареждача. Показване на менюто за зареждане (ако има), избор на ядро и initial ramdisk.

  4. Kernel: Зареждане на ядрото на операционната система в паметта. Инициализация на хардуера, монтиране на кореновата файлова система.

  5. Initial Ramdisk (initrd/initramfs): Зареждане на временната коренова файлова система в паметта. Изпълнение на скриптове за откриване на хардуера и подготовка за монтиране на реалната коренова файлова система.

  6. Root Filesystem: Монтиране на реалната коренова файлова система, определена в параметрите на ядрото или в initrd/initramfs.

  7. Init System (SysVinit, systemd): Стартиране на системата за инициализация. systemd е по-модерен и широко използван.

    • SysVinit: Стартиране на услуги въз основа на нива за изпълнение.
    • systemd: Паралелно стартиране на услуги въз основа на единици (services, targets и т.н.).
    # Пример за unit systemd
    [Unit]
    Description=Моята услуга за приложение
    After=network.target
    
    [Service]
    ExecStart=/usr/local/bin/my-app
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
  8. Runlevel/Target: Преход към съответното ниво за изпълнение (SysVinit) или целево състояние (systemd), стартиране на необходимите услуги (мрежови услуги, графична среда и т.н.).

  9. Login Prompt/Display Manager: Стартиране на интерфейса за вход на потребителя (терминал) или графичния мениджър за вход (GDM, LightDM и др.).

  10. User Login: Потребителят влиза в системата. Започва сесията на потребителя.