Помощь в написании студенческих работ
Антистрессовый сервис

Службы ядра. 
Создание POSIX-совместимой операционной системы для встраиваемых устройств

РефератПомощь в написанииУзнать стоимостьмоей работы

Настраивается полноценная страничная адресация (ядро в первых 16 Мб и куча ядра в верхней половине виртуальной памяти). Инициализируется эмулятор терминала. Заполняется IDT, устанавливаются обработчики исключений, таймера PIT, клавиатуры. Включается планировщик задач, создаются поток простоя (idle thread) и поток, ответственный за перерисовку терминала. Ядро ОС загружается загрузчиком GRUB… Читать ещё >

Службы ядра. Создание POSIX-совместимой операционной системы для встраиваемых устройств (реферат, курсовая, диплом, контрольная)

Аллокатор кучи ядра — управляет распределением памяти в куче (heap) ядра, выделяя и освобождая память по запросу других сервисов. Используется классический аллокатор Doug Lea’s malloc.

Аллокатор фреймов — управляет распределением фреймов физической памяти. Используется bitmap-аллокатор.

Менеджер процессов — планирует выполнение задач, а также управляет жизненным циклом процессов.

Загрузчик ELF — выполняет разбор ELF64-файлов и загрузку кода и данных из них в память процесса.

Менеджер прерываний — управляет IDT, обработкой прерываний и IRQ, а также сохраняет состояние процессора при входе в обработчик и восстанавливает его после выхода.

Менеджер системных вызовов — выполняет диспетчеризацию системных вызовов, поступающих от приложений.

Процесс загрузки

Ядро ОС загружается загрузчиком GRUB с диска и размещается в первых 16 Мб памяти, начиная с адреса 0×100 000 (1 Мб). 32-битный загрузочный код ядра сохраняет векторы прерываний реального режима, настраивает страничную адресацию первых 8 Мб и переводит процессор в 64-битный режим.

После этого начинается исполнение 64-битного С-кода.

Настраивается полноценная страничная адресация (ядро в первых 16 Мб и куча ядра в верхней половине виртуальной памяти). Инициализируется эмулятор терминала. Заполняется IDT, устанавливаются обработчики исключений, таймера PIT, клавиатуры. Включается планировщик задач, создаются поток простоя (idle thread) и поток, ответственный за перерисовку терминала.

Создается VFS, к ней подключаются корневая и прочие файловые системы (devfs, procfs). С диска загружается исполняемый файл /bin/init и запускается на выполнение в отдельном процессе.

Позже, при остановке системы, init будет выполнять остановку прочих процессов и запрос на отключение питания.

Показать весь текст
Заполнить форму текущей работой