Ние изследваме процесите

2 август 2005 г.

В последните две части на тази статия (вж. Изследване на процеси: Част 1 и Част 2) научихме как да получим списък на работещите процеси и как да ги управляваме. Днес ще видим как всъщност са започнали всички тези процеси.

Има много интересни неща, които се случват, когато FreeBSD стартира. Тук няма да ги описвам подробно, тъй като има Наръчник на FreeBSD, в който работата по описване на процеса на стартиране вече е извършена.

Вероятно сте забелязали, че по време на процеса на зареждане ядрото на FreeBSD проверява списъка с наличен хардуер и го отпечатва на системната конзола. Когато се събира информация за хардуера, ядрото стартира два процеса: процес 0 (swapper) и процес 1 (init).

Процесът на иницииране е демонът, който е отговорен за инициализирането на системата. Без него никой друг процес не може да започне. По време на зареждане init изпълнява две важни задачи: първо, стартира rc стартовите скриптове и след това инициализира терминалите, така че потребителите да могат да влязат. Нека да разгледаме функциите на init демона, започвайки с rc:

Всъщност тези скриптове се намират в директорията /etc/rc.d/. Обикновено конфигурационните файлове съответстват на страници в раздел 5 от онлайн ръководството, в които можете да намерите описания за правилната промяна на конфигурационните файлове. Ако обаче въведете:

тогава ще получите следното съобщение:

Изглежда малко странно, че информацията за конфигурационните файлове е в осмия раздел на ръководството, който обикновено съдържа информация за команди, участващи в поддръжката на системата или системните операции, като цяло това е раздел за демони. Нека да разгледаме по-отблизо файла/etc/rc и да видим какво има вътре:

(Всъщност нещата са малко по-сложни, тъй като fsck може да бъде деактивиран чрез команди във файла rc.conf - бележка на преводача.)

(Тук свършва/etc/rc.)

Тъй като стигнахме до края на/etc/rc, скриптът rc е готов. За да обобщим случилото се тук: init извиква rc скрипта, който чете няколко конфигурационни файла, за да монтира правилно файловите системи и да подготви средата за стартиране на системните демони. Сега вашата система работи и работи, но в момента няма среда, в която потребителят да комуникира с операционната система. От този момент започва вторият етап от процедурата за иницииране .

Конфигурационният файл/etc/ttys. Файлът/etc/ttys съдържа важна информация за терминалите - кои (и как - бележка на преводача) трябва да бъдат инициализирани. За разлика от/etc/rc, този файл може да бъде редактиран от суперпотребителя, ако е необходимо.

Ако погледнем файла/etc/ttys:

тогава ще видим, че се състои от три части, в зависимост от броя на видовете терминали. Всяка част се състои от четири колони, информацията за които е събрана в таблицата:

Нека да стигнем до дешифрирането на този файл от раздела за виртуални терминали. Моля, обърнете внимание - започва от задаване на параметрите на системната конзола: