Основы ядерной инженерии Крис Касперски Xakep, номер #068, стр. 068-024-6 Конкретный перечь функций ядра приводить нет смысла, т.к. он постоянно меняется от версии к версии и системные компоненты мигрируют из одной библиотеки в другую (раньше графический интерфейс был прикладной подсистемой, теперь это часть ядра, раньше шинами и ресурсами заведовал HAL, теперь эта функция возложена на исполнительную подсистему и ACPI, ну и т.д.). Что такое ACPI Вопреки своей аббревиатуре, расшифровываемой как Advanced Configuration and Power Interface, ACPI означает нечто большее, нежели простой менеджер питания. Это еще и менеджер ресурсов, фактически являющийся корневым перечислителем. В ACPI-системах все устройства (как-то: PCI/ISA шины, жесткие диски, видеокарты) подключены к виртуальной шине ACPI-контроллера, в чем легко убедиться, если пройти в Диспетчер устройств -< Вид -< Устройства по подключению и отобразить иерархию устройств. Первым делом Windows загружает ACPI-драйвер, опрашивающий ACPI-контроллер на предмет подключенных к нему устройств, главным из которых является PCI-шина. Затем загружает PCI-драйвер и, опрашивая PCI-шину, обнаруживает новые платы расширений и прочие шины. Процесс повторяется до тех пор, пока не будут перечислены все имеющиеся устройства. Физически ACPI-шины не существует (реально весь ввод/вывод идет через PCI/AGP), и все устройства, в принципе, доступны и напрямую. При смене ACPI-ядра на не-ACPI ядро так, собственно, и происходит. Но сведения о конфигурации оборудования, содержащиеся в реестре, оказываются недействительными, отчего система тихо едет крышей и отказывается загружаться, требуя переустановки. Какие реальные выгоды дает ACPI-технология? Ну, во-первых, она полностью вытесняет Plug and Play, а вместе с ним и разборки между BIOS'ом и операционной системой по вопросам конфигурирования устройств. Теперь этого не может делать ни ось, ни BIOS, и право конфигурирования полностью отходит к ACPI. Во-вторых, ACPI при необходимости может сохранять состояние всех устройств и оперативной памяти на жестком диске, восстанавливая его при последующем включении питания. Что такое APIC APIC – Advanced Programmable Interrupt Controller (усовершенствованный перепрограммируемый контроллер прерываний). Стандартный контролер прерываний, базирующийся на микросхеме Intel 8259A или ее аналогах, поддерживает 8 линий прерываний и работает лишь в однопроцессорных системах. В IBM PC таких контроллеров всегда два, причем второй подключен на вход первого, в результате чего максимальное количество поддерживаемых прерываний увеличивается до 15. Мало? Усовершенствованный контроллер прерываний, которым оснащаются многопроцессорные системы, поддерживает до 256 прерываний, которых хватает сполна. На программном уровне PIC и APIC взаимно совместимы, поэтому APIC-ядра способны работать и с PIC-контроллерами, по крайней мере, теоретически. Практически же в некоторых конфигурациях наблюдаются глюки разной степени тяжести, иногда исправляемые очередным Service Pack'ом, иногда нет. Естественно, APIC-ядро само по себе новых линий прерываний не добавляет… |