Как обратиться к совпадающим группам в jq gsub?

What does splash represent here? I know init is the first process that runs when we start up the computer. But what is splash ? What does it do ?

Прежде всего, вы используете Ubuntu, которая использует systemd, что позволяет отображать заставку во время загрузки, поэтому у нее есть аргумент заставки. См. исходный код splash.c .

[РЕДАКТИРОВАТЬ] На вашем компьютере работает systemd, потому что, на самом деле, systemd — единственная известная мне система инициализации, которая поддерживает параметр заставки -могут быть и другие, но, поскольку он также используется по умолчанию в Ubuntu, я думаю, что это безопасное предположение. В Ubuntu по умолчанию /sbin/initявляется символической ссылкой на /usr/lib/systemd/systemd, загруженное ядро ​​/sbin/init splash, здесь psиспользуется командная строка процесса, которая будет /sbin/init splash, и это то, что вы видите.

Also can anybody tell me init is called the first process to be run but it is the BIOS or UFEI program that first run when we start up the computer. So why we called init as the first process not BIOS or UFEI?

Хорошо, для простоты скажу, что BIOS/UEFI — это программы, которые загружаются при загрузке. Они содержат данные конфигурации для дальнейшей загрузки системы. В конечном итоге они найдут следующую программу для загрузки, такую ​​как диспетчер загрузки (, т.е. grub ), который, в свою очередь, позволит вам запустить ядро. Я пытаюсь сделать это простым, здесь, но вы можете прочитать это. в системах Linux и Unix init является первой программой, порожденной ядром, и поэтому получает PID 1.

Вы можете прочитать больше здесь , на самом деле, эта статья довольно старая. Я не утверждаю, что нижеследующее является на 100% точным.

Первое, что нужно сделать для начальной загрузки компьютера с архитектурой x86, — нажать кнопку питания. Ваш блок питания включает материнскую плату и ожидает сигнала от импульсного источника питания SMPS ()о том, что может быть обеспечена достаточная мощность. Например, он проверяет, что ваша видеокарта PCIe получает достаточно сока, есть ли процессор и оперативная память.

С этого момента запускается Intel Management Engine(IME )/ AMD Secure Technology , IME представляет собой отдельный процессор Intel с запутанной операционной системой minix 3,аналог AMD использует ядро ​​ARM, встроенное в центральный процессор; об этих двоих известно немногое.

Как только материнская плата получает SMPS, она прекращает постоянно сбрасывать ЦП, теперь ЦП считывает адрес в ПЗУ, обычно это FFFF:0000h; он содержит переход (как ярлык )к коду прошивки.

Раньше эта прошивка представляла собой один монолитный блок кода, который назывался BIOS и мог использоваться только с клавиатурой. С UEFI это теперь стало целой ОС с мини-файловой системой. Сегодня переход указывает на некоторый код начальной загрузки (, который, вероятно, можно было бы назвать BIOS ), который распаковывает UEFI. UEFI любит мини-операционную систему и может включать поддержку мыши, загрузку по сети, SCSI, RAID, проверку диска и/или памяти и многие другие функции.

После загрузки UEFI выполняет самотестирование при включении питания (POST ), которое проверяет, все ли оборудование в порядке.

Полный POST проверяет многие устройства, такие как CMOS, видеоПЗУ, контроллеры, DMA (, что позволяет устройствам получать прямой доступ к ОЗУ ), ЦП, памяти и другим устройствам. Когда вы перезагружаете ПК, то есть нажимаете кнопку сброса или выполняете команду перезагрузки, выполняется простой POST, который не заметит, если есть проблема с CMOS, например. CMOS это маленькая микросхема на вашей материнской плате энергозависимой памяти (отключает питание и память теряется )и часы, она питается от маленькой батарейки и содержит все настройки для UEFI.

UEFI считывает эти настройки, вносит необходимые изменения в систему и продолжает дальнейшую загрузку системы. UEFI может либо выполнять устаревшую загрузку, ища загрузочную запись на диске, либо использовать более современный метод загрузки UEFI. Для этого требуется раздел в формате FAT32 с загрузочным кодом UEFI, который может загружать ядро ​​​​Linux , менеджер загрузки(Windows )или загрузчик, такой как grub.

Ядро в системах UNIX загружает все необходимые драйверы устройств, а затем запускает процесс инициализации. Init может быть systemdили любой другой программой, такой как bash; вы настраиваете его в параметрах ядра. Обратите внимание, что если вы решите загрузить ядро ​​напрямую с помощью UEFI, установить параметры ядра будет намного сложнее. После загрузки init получает PID 1, а затем загружает пользовательскую среду (, системную оболочку и, опционально, графический пользовательский интерфейс ).

1
09.07.2021, 22:04
0 ответов

Теги

Похожие вопросы