- •25. Лекция: Обзор архитектуры и возможностей системы Linux: архитектура, ядро, распространение и лицензирование, принципы проектирования, управление процессами
- •Планирование задач ядра и синхронизация в ядре
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
Набор для практики Вопросы
Что такое Linux?
Каковы основные цели и принципы разработки Linux?
Что такое дистрибутивы Linux и в каком формате они распространяются?
По какой лицензии распространяется Linux и в чем суть этой лицензии?
Для каких применений чаще используется Linux – как клиентская или как серверная ОС?
С каким стандартом API для UNIX-подобных систем совместима Linux?
Какому диалекту UNIX соответствуют системные библиотеки Linux?
Из каких основных групп кода состоит реализация Linux?
В чем принципиальная новизна в управлении модулями ядра Linux, по сравнению с большинством остальных ОС?
Каково назначение компоненты управление модулем?
Каково назначение компоненты регистрация драйверов?
Какие системные структуры создаются для процесса в Linux?
Что такое идентификатор процесса?
Что такое окружение процесса?
Что такое контекст процесса?
Каким системным вызовом создается поток в Linux?
Какова принципиальная особенность планирования процессов в Linux, с точки зрения обработки модулей ядра?
Каковы требования к исполнению критических секций при синхронизации в ядре Linux?
Каковы особенности верхней и нижней половин прерываний при обработке прерываний в Linux?
Какие принципы используются при планировании процессов в Linux?
Какие стратегии планирования процессов используются в Linux?
Какой распространенный тип многопроцессорных архитектур поддерживает Linux?
Упражнения
Инсталлируйте на своем домашнем компьютере систему Linux. Для инсталляции создайте на диске отдельный раздел (partition) утилитой Partition Magic. Инсталлируйте систему в полном объеме.
Перечислите и проанализируйте состав пакетов (RPM) дистрибутива Linux.
Широко известно, что Google Android – операционная система для мобильных устройств, разработанная на основе ядра Linux. Насколько, по-Вашему, соответствуют действия разработчиков Google Android лицензии GPL, на основе которой распространяется Linux?
Разработайте простой динамически загружаемый модуль ядра Linux (выдающий на консоль сообщение о своем запуске), в соответствии с принципами, описанными в лекции, и поэкспериментируйте с добавлением нового модуля в систему.
Проанализируйте и изучите исходные коды Linux и на их основе напишите обзор используемых методов управления процессами, планирования и диспетчеризации в Linux.
Темы для курсовых работ, рефератов, эссе
Исторический обзор системы Linux (реферат).
Архитектура и принципы проектирования Linux (реферат).
Методы управления процессами в Linux (реферат).
Методы планирования и диспетчеризации в Linux (реферат).
Разработка простого динамически загружаемого модуля ядра Linux (выдающего на консоль сообщение о своем запуске), в соответствии с принципами, описанными в лекции, и эксперименты с добавлением нового модуля в систему (курсовая работа).
