Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Запуск и функционирование ОС Unix



При загрузке с жесткого диска, код, расположенный в MBR, проверяет таблицу разделов (также расположенную в MBR), определяет активный раздел (раздел, используемый при загрузке), считывает загрузочный сектор этого раздела и запускает считанный код. Код, расположенный в загрузочном секторе активного раздела жесткого диска считывает ядро из выбранного раздела, а затем запускает его.

После того, как ядро системы загружено в память и запущено, выполняются приблизительно следующие действия:

1. Так как ядро Linux установлено в запакованном виде, то, прежде всего оно само себя распаковывает. Это выполняет небольшая программа, расположенная в самом начале кода.

2. Затем ядро тестирует аппаратное обеспечение (жесткие диски, дисководы, сетевые адаптеры и др.) и конфигурирует соответствующие драйверы устройств. Во время этого процесса на экран выдаются подсказывающие сообщения.

3. После этого, ядро пытается смонтиpовать файловую систему root. Место, куда она будет смонтирована, устанавливается во время компиляции или с помощью rdev или загрузчика LILO. Тип файловой системы определяется автоматически. Если система root не монтиpуется, например по причине того, что ядро не содержит драйвер соответствующей файловой системы, то система зависает. Файловая система root обычно монтиpуется в режиме read-only.

4. Затем ядро запускает программу init(8) в фоновом режиме (она расположена в каталоге /sbin/init) которая становится главным процессом. init выполняет различные функции, требуемые при установке системы. Он просматривается содержимое /etc/inittab и для каждой строчки этого файла порождает второй процесс в цепочке.

5. В конце концов init запускает программу getty(8) для виртуальных консолей и последовательных портов. Эта программа является сервером терминального доступа и позволяет подключаться к системе посредством виртуальных консолей и терминалов, подключенных через последовательные порты. init может быть сконфигурирована также для запуска и других программ. Getty читает имя пользователя и вызывает команду login на стандартный терминал, передавая затем ей имя пользователя в качестве параметра. Если используется запуск в графическом режиме, то на терминал вызывается Х11. Это зависит от того, с какими параметрами выполняется программа init. Настройки init указываются в таблице инициализации /etc/inittab.

6. Команда login введенный проверяет пароль пользователя и после успешной проверки с помощью файла /etc/passwd загружается та оболочка, которая указана в последнем поле записи данного пользователя этого файла (это обычно или /bin/sh или /bin/bash или /bin/csh – в любом случае, это интерпретатор shell), а также домашний каталог пользователя устанавливается текущим.

7. Загрузка завершается выполнением командного файла /etc/rc, который может содержать любые команды, например, монтаж и демонтаж файловых систем, удаление временных файлов и старых журнальных записей, запуск cron.

8. После этого процесс запуска системы считается завершенным и система готова к работе.

Важно помнить, что по умолчанию, одновременно загружается 7 терминалов (виртуальных консолей), но только один из них может быть запущен в графическом режиме, остальные – в консольном. Переключение между терминалами осуществляется комбинацией клавиш Alt+Fn, переход из X Window на виртуальную консоль (ВК) – Ctrl+Alt+Fn, Alt+F7 – возврат в X Window. Св-ва каждого терминала прописываются в /etc/ttys и /etc/inittab.

При загрузке ОС рождается процесс kernel с номеров 0, который ни один другой процесс получить не может. Этот процесс становится прародителем всех остальных процессов. Все остальные процессы рождаются им. Процесс init получает номер 1, после чего он функционирует на протяжении всей работы ОС и может усыновлять все осиротевшие процессы системы и порождать новые.

При выходе из сеанса пользователя командой logout выполняются команды, указанные в файле /etc/shutdown. Сами команды shutdown и halt находятся в каталоге /sbin Для выхода из сеанса пользователя без выключения ОС необходимо выполнить команду exit.





Дата публикования: 2015-10-09; Прочитано: 169 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...