(Назад к списку заданий eCo Labs)

Название задания: Утилита ACPI Info
Заказчик: eCo Software

Задание:

Нужно написать утилиту, которая:

Порядок работы:

Требования к разработчику:

Оформление:

Вспомогательные библиотеки:

Странички ноутбука Утилита должна писать на первой страничке две строчки:

 /System  information\
 Версия ОС (ядро, фикспак)
   и главное, тип ядра (W4, UNI, SMP)
 Процессор компьютера, 
 Объем памяти
 Модель компьютера (если известна из таблиц ACPI)
 
 

 /Возможности компьютера\
 BIOS ACPI version: 123.45
 Speedstep: Yes (No)
 Throttling: Yes (No)
 Hyper-threading technology: Enabled/Disabled
 Есть ли EFI? (Наличие определенной ACPI таблицы)
 
 

 /Драйвер ACPI.PSD\
 * ACPI.PSD driver version: 123.45
 * Режим работы: APIC/PIC
 * Загружен ли ACPI snooper   // это очень важно
 * Кнопка: "Тест интерпретатора" - проверка, 
     Есть ли ошибки при обработке ACPI таблиц? 
     Для пользователя открывается MLE-окно с выводом интерпретатора.
 * доступна ли acpi32.dll в libpath
 * Если версии ACPI.PSD, APM.ADD, ACPI32.DLL не из одного пакета, 
     писать о возможной несовместимости. 
 
     
     

 /Драйвер APM\
 * apm - версия, адреса, ход выполнения
 * показывать текущий троттлинг если есть И текущий спидстеп/powernow
 * уровень батарейки
 * температуру на разных датчиках (список)
 
 

 /Пульс процессоров (процессора)\
 
 эта страничка не обязательна, но желательна.
 
 
 

 /Статистика IRQ\
 * показывать список IRQ и обновлять статистику (это для SMP)
     например, кнопочка: [x] обновлять каждые 5 секунд
     
     
     
 /Состояние ACPI\
   сейчас пользователь вызывает copy acpica$ mylog,
   нужно чтобы утилита сама записывала лог в файл каждую секунду
   и показывала его в MLE-окне
 
   
   
 /О программе\
   Версия ACPI Info: 0.001
   Авторы: ..
 
   
   
Замечания к функциям:

  • Статистика IRQ: для APIC это просто статистика, для PIC эта статистика полезна, чтобы понять, как разводить IRQ в снупере
  • Узнать, все ли ок с таблицей ACPI можно только по ошибкам интерпретатора. там только сообщения типа [error] которое теоретически можно выцепить из лога, но там есть еще кучка таких на которых [error] допустимо. вот например [error] value \sb.z00I not founnd - это хреновая ошибка, а [error] method for \pr._cst not found - вполне нормально
  • Статистика по IRQ может выглядеть так
     IRQ2 called 14714
     IRQ3 called 0
     IRQ4 called 1
     IRQ5 called 0
     IRQ6 called 20
     IRQ7 called 0
     IRQ8 called 522767
     IRQ9 called 435
     IRQ10 called 0
     IRQ11 called 0
     IRQ12 called 6900
     IRQ13 called 0
     IRQ14 called 13166
     IRQ15 called 0
     IRQ16 called 0
     IRQ17 called 0
     IRQ18 called 0
     IRQ19 called 0
     IRQ20 called 74
     IRQ21 called 0
     IRQ22 called 7322
     IRQ23 called 0
    
      // без SMP будут нули
    
  • Пульс процессоров. Эта страничка не обязательна, но желательна. Качество пульса должна быть по крайней мере такое, как в утилите CPU от Michael Brustle или как в Vista

Сроки:

Оплата труда:

Права на утилиту: