Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Тема 3: Управление вводом-выводом. Распределение памяти

Читайте также:
  1. A) Постоянно находится в памяти.
  2. Double сохраняется в памяти 15-16 десятичных знаков.
  3. I) Биноминальное распределение
  4. I. Территориальное управление Роспотребнадзора
  5. III. Распределение виртуальной памяти
  6. III. Распределение часов курса по темам и видам
  7. III. Распределение часов курса по темам и видам работ
  8. IV. РАСПРЕДЕЛЕНИЕ ЧАСОВ ПО ТЕМАМ ДИСЦИПЛИНЫ
  9. LINUX|| Структура памяти процесса в ОС Linux.
  10. LINUX|| Управление памятью в ОС Linux. Карта памяти

 

Вид занятия: комбинированное занятие

 

Учебные вопросы:

1. Процесс init. Управление вводом-выводом

2. Распределение памяти

 

Литература:

1. Системная справочная служба Linux Man

 

Ход занятия.

 

1. Процесс init. Управление вводом-выводом. При нажатии клавиши Power начинается процесс загрузки системы.

Устройства компьютера проходят автотестирование. Процессор автоматически стартует программу, находящуюся в нулевой ячейке памяти – BIOS, который в первую очередь проверяет исправность всех необходимых (именно необходимых) для работы ПК устройств.

После инициализации BIOS, определения таких устройств как жесткие диски, CDROM и т.п., BIOS передает управление программе загрузчика, находящегося в MBR (Master Boot Record - основная загрузочная запись) первого жесткого диска.

В IBM PC совместимых компьютерах размер загрузочной записи ограничен 512 байтами. Это очень мало для полноценной инициализации системы, поэтому обычно загрузчики Linux (LILO или GRUB, как в нашем случае) разделяются 2 части (stage1 и stage2) и первая из них располагается в MBR. Её задача состоит в том, чтобы инициализировать вторую часть загрузчика.

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

Загрузившись в память, ядро инициализирует устройства, подключает корневую файловую систему, а также файловую систему /dev, запускает процесс /sbin/init. Так как исполняемый файл init находится в каталоге /sbin, то не рекомендуется выделять этот каталог в отдельный раздел. Как уже говорилось выше, на момент инициализации ядра примонтирована только корневая ФС. Если доступа к каталогу /sbin не будет, то загрузка системы потерпит фиаско.

Процесс init запускается и анализирует файл /etc/inittab. С этого момента необходимо пояснить, что мы с Вами рассматриваем вариант загрузки Unix SysV. Она отличается от загрузки BSD-like систем. И хотя Linux может работать как с первым, так и со вторым вариантом загрузки, подавляющее большинство дистрибутивов используют инициализацию системы SysV (исключение, например, составляет дистрибутив Gentoo). Хотя BSD-like стиль загрузки проще, загрузка в стиле SysV дает на мой взгляд больше возможностей для точной настройки системы.

В SysV стиле загрузки существует понятие уровней запуска или, правильнее, уровней инициализации системы. По умолчанию, в системе использовано 7 уровней инициализации:

0 - останов системы.

1 - загрузка в однопользовательском режиме

2 - загрузка в многопользовательском режиме без поддержки сети

3 - загрузка в многопользовательском режиме с поддержкой сети

4 - не используется

5 - загрузка в многопользовательском режиме с поддержкой сети и графического входа систему

6 - перезагрузка

 

Процесс init, прочитав первую строку файла, определяет, какой из уровней инициализации установлен как уровень загрузки по умолчанию (5 - в нашем случае). После этого init выполняет скрипт /etc/rc.d/rc.sysinit, который устанавливает имя хоста, монтирует файловую систему /proc, устанавливает системный консольный шрифт с поддержкой выбранного языка системы, часы, перемонтирует корневую систему в режиме чтения/записи и монтирует файловые системы, указанные в /etc/fstab, устанавливает модули ядра, указанные в /etc/modules.conf и выполняет другие основные действия по инициализации системы.

Инициализировав основные параметры системы, init запускает скрипты инициализации из каталога /etc/rc.d/

В каталоге /etc/rc.d располагается дерево каталогов, имена которых отличаются лишь одним символом - rc*.d, где * - номер уровня инициализации, а также каталога init.d, внутри которого находятся управляющие скрипты для системных сервисов. Каждый скрипт принимает минимум 2 параметра – start (запуск сервиса) и stop (останов сервиса).

Внутри каталогов /etc/rc.d/rc*.d находятся ссылки на скрипты из каталога /etc/rc.d/init.d в виде S|K#name. Буква S означает что при вызове скрипта процессу init необходимо вызвать скрипт с параметром "start" (от слова Start), а буква K - с параметром stop (от слова Kill). Дальше идет число. Все скрипты выполняются в порядке возрастания чисел. Если у двух скриптов одинаковые числа, то такие скрипты будут выполняться в прямом алфавитном порядке.

После инициализации всех скриптов для текущего уровня выполнения, init запускает скрипт /etc/rc.d/rc.local. Все остальные файлы запуска (например, rc.local.local) должны быть вызваны из rc.local, так как процесс init их не обрабатывает.

Далее начинается инициализация виртуальных консолей в таком же порядке, как они описаны в файле /etc/inittab.

2. Распределение памяти. Опп




Дата добавления: 2014-12-20; просмотров: 24 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав