русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тема 8: Загрузка linux


Дата добавления: 2013-12-23; просмотров: 1084; Нарушение авторских прав


Когда включается компьютер, система bios выполняет тестирование при включении (post), а также начальное обнаружение устройств и их инициализацию. Затем в память считывается и исполняется первый сектор загрузочного диска (MBR (master boot record)). Этот сектор содержит небольшую 512-байтовую программу, считывающую автономную программу под названием boot с загрузочного устройства. Программа boot сначала копирует саму себя в фиксированный адрес памяти в старших адресах, чтобы освободить нижнюю память для операционной системы. После этого перемещения программа boot считывет корневой каталог с загрузочного устройства. Затем boot считывает ядро операционной системы и передает ему управление. На этом этапе программа boot завершает свою работу, далее работает ядро системы. Начальный код ядра написан на ассемблере и является машинозависимым. Как правило этот код настраивает стек ядра, определяет тип центрального процессора, вычисляет количество имеющейся в наличии оперативной памяти, отключает прерывания, разрешает работу блока управления памятью и вызывает процедуру main, чтобы запустить остальную часть операционной системы. Далее основную работу по инициализации операционной системы производит код, написанный на языке C. Происходит так называемая логическая инициализация. Затем выделяется память для структур данных ядра. Пример: кэш страниц, структуры таблиц страниц и т. д. Операционная система начинает определение конфигурации компьютера. ОС считывает файлы конфигурации, в которых сообщается, какие типы устройств ввода вывода могут присутствовать, и проверяет, какие из них отсутствуют. Если устройство отвечает, то оно добавляется к таблице подключенных устройств, если устройство не отвечает, то оно считается отсутствующим и в дальнейшем игнорируется. После завершения конфигурации всего аппаратного обеспечения нужно загрузить процесс 0, настроить его стек и запустить. Процесс 0 продолжает инициализацию, выполняя такие задачи, как программирование таймеров реального времени, монтирование корневой файловой системы, а так же создание процесса 1 (init) и процесса 2. Процесс init проверяет свои флаги, в зависимости от которых он запускает операционную систему в однопользовательском либо многопользовательском режиме. В первом случае он создает процесс, выполняющий оболочку, во втором случае процесс init создает процесс, исполняющий инициализационный сценарий оболочки системы, считывается файл, в котором перечисляются терминалы и некоторые их свойства. Для каждого разрешенного терминала он создает копию самого себя. А также, для каждого из терминалов процесс init запускает getty. Данная программа устанавливает для каждой линии скорость и прочие свойства, после чего выводит на терминале приглашение к входу в систему. Далее данная программа пытается прочитать с клавиатуры имя пользователя. После ввода регистрационного имени программа getty завершает свою работу запуском программы регистрации /bin/login, после этого программа login запрашивает пароль, шифрует его и сравнивает с зашифрованным паролем, хранящимся в файле. Если пароль правильный, то login запускает оболочку пользователя.





<== предыдущая лекция | следующая лекция ==>
Тема 7: Планирование в Linux | Тема 9: Управление памятью в linux


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.