Мне было интересно, есть ли у меня возможность написать программу на C, чтобы изменить объем памяти, который используется совместно с ОЗУ и GFX-картой, или вообще, как я могу связаться с Настройки BIOS?Изменение настроек BIOS с использованием языка C
ответ
Короткий ответ: Нет
Длинный ответ: Не связывайтесь с BIOS пользователя. Есть причина, по которой нет API-интерфейсов или тому подобного. Мой компьютер, мои настройки.
Вы можете получить доступ к настройкам BIOS через порт ввода-вывода 70h и 71h. (Некоторые чипсеты также имеют расширенный CMOS на 72/73 или аналогичный.)
Какая ОС вы используете? Если вы используете Windows, вы не сможете выполнять ввод/вывод портов напрямую из приложения, вам придется написать драйвер режима ядра или использовать сторонний набор инструментов, такой как WinIO. В Linux вы можете использовать/dev/nvram для получения настроек CMOS. (Предположим, что драйвер nvram для Linux поддерживает ваш набор микросхем. В противном случае используйте/dev/port.)
После того, как вы получите бит CMOS, следующая задача будет определять, какое местоположение в CMOS соответствует настройке видеопамяти.
Вот (удручающе неполны) отображение ячеек памяти CMOS: http://ivs.cs.uni-magdeburg.de/~zbrog/asm/cmos.html
Карта расположения CMOS весьма специфична к материнской плате, BIOS и BIOS об. (Карта CMOS может меняться между версиями BIOS, так как новые опции меню добавляются/удаляются.) Возможно, ваш поставщик материнских плат может предоставить вам карту CMOS. У них есть инструменты для создания такой карты (она является частью процесса компиляции BIOS), но они могут не захотеть поделиться ею.
Без карты есть другие способы определения, какие биты в CMOS представляют размер видеопамяти. Попробуйте сбросить настройки CMOS с различными размерами памяти и выяснить, какие биты меняются.
Некоторых другие детали:
Вне несколько «стандартного» CMOS бита, большинство из них очень зависят от платформы, я надеюсь, что вы не планируете сделать заявление общего назначения из этого ,
Есть контрольные суммы при определенных смещениях в CMOS. После изменения значения CMOS вам нужно будет исправить контрольную сумму, чтобы отразить изменения.
Как только вы измените настройку, он не вступит в силу для следующей перезагрузки (когда BIOS считывает настройки CMOS и инициализирует чипсет).
Это набор микросхем Intel? Графические ядра Intel имеют волшебную функцию, называемую технологией динамической видеопамяти (DVMT), которая улучшает использование видеопамяти в зависимости от того, насколько графически работает работающее приложение. http://www.intel.com/support/graphics/sb/cs-010488.htm Я не уверен, что другие производители чипсетов имеют аналогичную технологию.
Выбросьте все это из окна в современной системе UEFI, которая обычно использует энергонезависимый раздел памяти в микросхеме BIOS для настроек. (В некоторых местах CMOS заполняются для обеспечения совместимости по системе UEFI.)
- 1. изменение языка BIOS ProBook 6450b
- 2. Изменение настроек языка приложения с использованием PreferenceFragment
- 3. C# Получение/настройка настроек BIOS?
- 4. Изменение настроек языка (локали) для устройства
- 5. Изменение языка симулятора с использованием iOS UiAutomation
- 6. SharePoint - изменение языка сайта на основе настроек языка браузера
- 7. Отображение данных с использованием BIOS в C
- 8. Изменение настроек Google Chrome с использованием Python
- 9. Изменение системного языка C#
- 10. Изменение темы приложения android с использованием настроек
- 11. Изменение настроек сети в C
- 12. Изменение массива с использованием языка ассемблера
- 13. Изменение настроек WDR ONVIF C#
- 14. Изменение настроек IP с помощью C++
- 15. Изменение языка Окон в C#
- 16. Изменение настроек языка/браузера для проверки функций javascript
- 17. Изменение языка приложения Android при изменении языка телефона с помощью настроек
- 18. Как печатать строки с использованием прерываний BIOS
- 19. Изменение языка WinForm с ресурсом
- 20. Чтение Bios With C#
- 21. Язык смены языка смены настроек
- 22. Оптимизация на C++ с использованием настроек Bool
- 23. Изменение IP-настроек программно в Linux с помощью C/C++
- 24. Изменение местоположения файла настроек
- 25. Изменение настроек окружающей среды?
- 26. разделить строки с использованием языка C
- 27. bluemix vm openstack с использованием языка C++
- 28. Caser Cipher crack с использованием языка C
- 29. Внедрение веб-служб с использованием языка C
- 30. Графика с использованием языка C (компилятор GCC)
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.vc ,language & tid = f5c02216-01e2-46d4-8c99-ac6a5981313c & cat = & lang = & cr = & sloc = & p = 1 – Xinus
Я думаю, что это нехорошо сделать, «Не делай этого» –
Потенциально опасно для здоровья машин. Не делай этого. – ty812