Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Ремонт оргтехники Обсуждение и вопросы по ремонту мониторов, компьютерных комплектующих, сканеров, принтеров и т.п.

 
Опции темы
Непрочитано 15.05.2013, 21:50  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Виндовс 8

Сообщение от Monyak Посмотреть сообщение
Я конечно же идиот, и глушь не радиофицированая, но даже мне понятно что биосы не пишут на бейсиках и сях, их пишут на асмах
этот выложенный кусочек есть код ACPI Source Language (ASL).
Реклама:
Ara41 вне форума  
Непрочитано 15.05.2013, 22:07  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Виндовс 8

Monyak, Вы действительно - не в теме ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 15.05.2013, 22:10  
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,574
Сказал спасибо: 704
Сказали Спасибо 4,345 раз(а) в 1,992 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: Виндовс 8

Специалиста и НЕ легко выявить по манере изложения вопроса и ведению дискуссии...
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
Kabron вне форума  
Непрочитано 15.05.2013, 23:00  
IgorBaulin
Временная регистрация
 
Аватар для IgorBaulin
 
Регистрация: 22.01.2007
Адрес: Германия, Маинц
Сообщений: 97
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 15 сообщении(ях)
IgorBaulin на пути к лучшему
По умолчанию Re: Виндовс 8

Сообщение от Monyak Посмотреть сообщение
Имея только поверхностное знание английского, ни чего абсолютно не понимая в компах, можно эвристическими и дедуктивными методами понять что вы апсалютна нихрена не понимаете в том, о чем говорите.
Тут вы выложили куски какого-то кода на бейсике (при чем не имеющий каких-либо запретов), и тюхаете нам, что это ограничение для компьютеров до какого-либо года. Якобы после этого, асипи, прикажет долго жить и уйдет в Ирий, на уровни таблиц биоса забавляться с райскими гуриями. Я конечно же идиот, и глушь не радиофицированая, но даже мне понятно что биосы не пишут на бейсиках и сях, их пишут на асмах
Вам посоветую найти кокойнебудь самонаучитель работы на персональном компьютере. Лучшая токая книга афтара Фигурнова. Там доходчиво расписаны отличия биоса и виндоса
Если бы Вы действительно хоть что-либо читали, а не просто тролили, то знали бы о том, что BIOSы пишутся по определённым стандартам на языке ACPI (но ни как не ASM!). Приведенные мною участки кода являются ветвлениями, позволяющими осуществить автонастройку функций BIOSа в зависимости от типа используемой ОС. К таким автоматическим функциям, обычно, относятся режимы энергосбережения (в основном ноутбуки), режимы работы LPC и устройств в составе LPC, таких как HPET, TIMER и т. п. Несоответствие установленной (устанавлеваемой) ОС этому списку приводит к ограничениям функциональности устройств ACPI вплоть до невозможности загрузить ОСь (запустить инсталляцию ОСи).
Более подробно о возможностях ACPI можно прочесть в соответствующей спецификацйии (выкладывалась уже кем-то в этой ветке парой страниц ранее). Объём этого талмуда 701 (если не ошибаюсь) страница. В нём описан язык ACPI и приведены примеры кода для некоторых устройств. Язык спецификации - английский. Для такого знатока английского, как Вы - на ночку лёгкого чтива.
Для общего развития (ну коль уж так влом читать спеки по теме) вот вкратце об АCPI в Википедии: http://ru.wikipedia.org/wiki/ACPI - не сочтите за труд, прочтите хоть это на досуге.

Для особо въедливых скептиков, не способных принять не только наличие сравнительно легко читаемых таблиц BIOSa, а даже само наличие этих таблиц, рекомендую обзавестись Аидой (Эверестом) инженерной версии и выполнить последовательно ряд действий:
1. Запускаем Аиду (Эверест).
2. Кликаем правой кнопкой по нижней части окна программы и выбираем ACPI Tool (рис. 1).
3. В открывшемся новом окне выбираем Save Table (рис. 2).
4. Выбираем в выпадающем окне нужные нам таблицы (по одной!) и сохраняем их куда-либо. Одноимённые таблицы, например такие, как SSDT, при сохранении лучше переименовать (например с добавлением к существующему имени уникального номера). В противном случае сохраняемая таблица затрёт предыдущую, уже сохранённую.

В результате этих действий мы получим набор таблиц с именами acpi_таблица.bin, гда вместо "таблица" будет имя нашей таблицы из 4-х букв (например acpi_dsdt.bin). В случае же с SSDT мы получим ряд таблиц (например acpi_ssdt_0.bin, acpi_ssdt_1.bin, acpi_ssdt_2.bin, и т. п, где добавление _0, _1,_2, и т. п. - наше изменение имён для одноимённых SSDT).

5. Меняем расширения наших файлов на .aml c тем, что бы IASL мог их декомпилировать. Ищем в сети IASL под Windows.
6. Декомпилируем таблицы.
7. Вооружаемся талмудом по ACPI и внимательно изучаем то, что под крышечкой нашего Ящика Пандоры под названием РС.

По поводу IASL под Windows вот тут исходная информация: https://www.acpica.org/downloads/windows-source
Миниатюры:
Нажмите на изображение для увеличения
Название: Снимок экрана 2009-10-08 в 17.51.33.png
Просмотров: 50
Размер:	455.8 Кб
ID:	46857   Нажмите на изображение для увеличения
Название: Снимок экрана 2009-10-08 в 17.51.58.png
Просмотров: 54
Размер:	467.3 Кб
ID:	46858  

Последний раз редактировалось IgorBaulin; 15.05.2013 в 23:22.
IgorBaulin вне форума  
Непрочитано 15.05.2013, 23:36  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Виндовс 8

Хрошо. Вы все тут такие просвящённые, поэтому спрошу вас.

1. Не важно, на чём пишутся биосы. В итоге получается исполяемый код для процессора. И этот самый исполняемый код запускается при начальной инициализации. Пока всё верно излагаю?

2. Далее биос распределяет ресурсы pnp устройств и ищет загрузчик.
Перед передачей управления загрузчику подсисема инициализации устройств (можете назвать её ACPI) включает те или иные устройства, задаёт их режим работы. Например, модуль Wi-Fi на ноутбуке может совсем не включить. Но это, как мне подсказывает внутреннее чутьё, уже не ACPI, а конкретная система управления питанием конкретного ноута или PC.
Всё так? И как правило, на данном этапе включается максимальная частота процессора и т.п.

3. Биос нашёл загрузчик и передал ему управление. Загрузчик грузит драйвера, ядро и пр. При загрузке драйвера код драйвера обращается к нужным портам и адресам памяти, чтобы начать обмен данными с устройством. ACPI тут пока как бы не нужно. Пока всё верно?

4. Драйвера загружены, ядро системы тоже. Пока я рассказываю, уже и оболочка загрузилась. И тут возникает вопрос: а когда же нужен тот самый ACPI? А нужен он получается тогда, когда система захочет понизить частоту процессора, перевести компьютер в сон, отключить какое-либо устройство. Вот на этом этапе система лезет в БИОС, откапывает там таблицы ACPI, декодирует их и в результате получает исполнимый код для ЦП, после выполнения которого нужное нам сбудется.
А что же будет, если система не найдёт подходящей для себя записи таблицы? Она просто не сможет отключить какое-либо устройство, не сможет перевести его в состояние пониженного энергопотребления и т.п. Возможно, в худшем варианте, система не сможет перевести устройство в рабочий режим (это если изначально устойство в таком состоянии и находилось, что сомнительно). Всё так?

Отсюда напрашивается вопрос: если нужной записи (например, для Windows XP) в таблице не оказалось, вероятно, в таблице должна быть дефолтная запись, как раз на такой случай. Возможно, не такой гибкий, но железно работающий, этот код система и выполнит. Или не так?
Godzilla82 вне форума  
Непрочитано 16.05.2013, 00:58  
VladimirIvan
Гуру портала
 
Аватар для VladimirIvan
 
Регистрация: 26.01.2007
Адрес: Дивное, Россия
Сообщений: 14,955
Сказал спасибо: 7,389
Сказали Спасибо 18,516 раз(а) в 6,442 сообщении(ях)
VladimirIvan на пути к лучшему
По умолчанию Re: Виндовс 8

Microsoft рассказала об обновлении для Windows 8
Windows Blue будет поставляться бесплатно до конца года
Microsoft объяснила, как будет распространяться обновление операционной системы Windows 8. Ранее ходили слухи, что этот продукт под названием Windows Blue станет новой версий операционной системы, но компания опровергла их.
Апдейт выйдет в свет под именем Windows 8.1 и до конца года будет распространяться на бесплатной основе. Доступ будет осуществляться сразу после выпуска прямо со стартового экрана. Превью-версии появятся 26 июня. К сожалению, сроки официального релиза пока неизвестны.
Насчет возвращения кнопки "Пуск" в обновленной Windows говорить пока рано. Зато точно известно, что будет доработан функционал ОС. Заявлена поддержка устройств с диагональю экрана меньше 10 дюймов. Хотя производители пока не спешат радовать нас "наладонниками" под Win8. Кроме того, пользователи смогут менять размер "живых плиток" — а не выбирать из нескольких имеющихся вариантов, как в предыдущей версии. Также появится возможность загружать режим привычного рабочего стола, минуя загрузку "живых плиток" и обновленный браузер Internet Explorer 11.
__________________
Любое утверждение верно, включая и это.
VladimirIvan вне форума  
Непрочитано 16.05.2013, 02:29  
IgorBaulin
Временная регистрация
 
Аватар для IgorBaulin
 
Регистрация: 22.01.2007
Адрес: Германия, Маинц
Сообщений: 97
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 15 сообщении(ях)
IgorBaulin на пути к лучшему
По умолчанию Re: Виндовс 8

Сообщение от Godzilla82 Посмотреть сообщение
Хрошо. Вы все тут такие просвящённые, поэтому спрошу вас.

1. Не важно, на чём пишутся биосы. В итоге получается исполяемый код для процессора. И этот самый исполняемый код запускается при начальной инициализации. Пока всё верно излагаю?

2. Далее биос распределяет ресурсы pnp устройств и ищет загрузчик.
Перед передачей управления загрузчику подсисема инициализации устройств (можете назвать её ACPI) включает те или иные устройства, задаёт их режим работы. Например, модуль Wi-Fi на ноутбуке может совсем не включить. Но это, как мне подсказывает внутреннее чутьё, уже не ACPI, а конкретная система управления питанием конкретного ноута или PC.
Всё так? И как правило, на данном этапе включается максимальная частота процессора и т.п.

3. Биос нашёл загрузчик и передал ему управление. Загрузчик грузит драйвера, ядро и пр. При загрузке драйвера код драйвера обращается к нужным портам и адресам памяти, чтобы начать обмен данными с устройством. ACPI тут пока как бы не нужно. Пока всё верно?

4. Драйвера загружены, ядро системы тоже. Пока я рассказываю, уже и оболочка загрузилась. И тут возникает вопрос: а когда же нужен тот самый ACPI? А нужен он получается тогда, когда система захочет понизить частоту процессора, перевести компьютер в сон, отключить какое-либо устройство. Вот на этом этапе система лезет в БИОС, откапывает там таблицы ACPI, декодирует их и в результате получает исполнимый код для ЦП, после выполнения которого нужное нам сбудется.
А что же будет, если система не найдёт подходящей для себя записи таблицы? Она просто не сможет отключить какое-либо устройство, не сможет перевести его в состояние пониженного энергопотребления и т.п. Возможно, в худшем варианте, система не сможет перевести устройство в рабочий режим (это если изначально устойство в таком состоянии и находилось, что сомнительно). Всё так?

Отсюда напрашивается вопрос: если нужной записи (например, для Windows XP) в таблице не оказалось, вероятно, в таблице должна быть дефолтная запись, как раз на такой случай. Возможно, не такой гибкий, но железно работающий, этот код система и выполнит. Или не так?
Если бы всё было именно так, то БИОС уже канул бы в Лету - его заменили бы любым другим флэш-загрузчиком размером в 4 кБ и с момента включения машины до рабочего стола проходило бы менее секунды...

Однако реальная загрузка происходит по несколько другому сценарию. Дабы не грузить ближних своих я постараюсь упростить описание процесса загрузки...
1. Итак мы включили комп... BIOS загрузил в память первичный (внутренний) загрузчик и тестирует память. После теста памяти первичный загрузчик загружает в память всё дерево устройств (DSDT). На основании этого дерева устройств начинается инициализация устройств и подгрузка первичных драйверов (графика в VESA, USB, сеть, и т. п.) из BIOSа. На этом этапе, после загрузки этих драйверов, мы можем, например, войти в бутменю, или BIOS, выбрать загрузочное уст-во, либо внести изменения в конфигурацию уст-в. При выходе из режима настройки BIOS с сохранением внесенных изменений перезапишется состояние энергонезависимой памяти CMOS, но внесенные изменения "подцепятся" только после ребута. При выборе же загрузочного уст-ва, как и в случае, если мы не трогали ничего, и первичный загрузчик не отработал прерывания клавиатуры, а так же не произошло прерываний по ошибкам уст-в, начинается поиск бутсектора загрузочного уст-ва. Как только загрузочное уст-во найдено первичный загрузчик передаёт управление загрузчику, находящемуся на этом уст-ве (смею заметить, что основные таблицы БИОСа уже давно в памяти). Загрузчик системы загружает ядросистемы. А вот уже ядро системы запрашивает таблицы BIOSa, но не в самом BIOSе, а в памяти компа, и на основании их генерирует недостающие, но ей необходимые (отсюда куча одноимённых SSDT). Эти таблицы (и вновь сгенерированные, и загруженные ранее из BIOSa) формируют:
1. Дерево устройств.
2. Общую схему энергообеспечения процессора, памяти, шины, и т. п.
Уже сама система подключает уст-ва P&P, загружает свои драйвера, частично, или полностью заменяющие BIOSовские, изменяет режимы работы устройств. Однако все эти действия система делает на основании таблиц BIOSa.

А теперь представим себе не совсем умозрительный эксперимент...
Предположим, что некий весьма продвинутый юзер решил перекроить свой DSDT. Рассматривая эту таблицу этот юзер увидел на шине PCI устройство P0P5, пересчитал разъёмы PCI, а их оказалось всего 4.
- Ну коль нет разъёма, - думает этот юзер, - отрежу ка я его...
Сказано - сделано. Устройство отрезано, новый, модифицированный DSDT вставлен в BIOS и прошит. Однако после загрузки машины этот юзер обнаружит, что интернет-адаптер, встроенный в мамку, ни в одной системе не виден и никакими драйверами не поднимается. Почему? Ведь чип остался на месте, и дорожки целы - ну ничего же не изменилось кроме DSDT!
Однако, при ближайшем рассмотрении, системы отказываются видеть не сам интернет-адаптер, а точку подключения к шине PCI. Таким образом, отрезав устройство Р0Р5 в DSDT мы удалили из дерева уст-в саму точку подключения интернет-адаптера к шине РCI.
Не вернув устройство Р0Р5 на шину PCI в DSDT ни одна система нашего встроенного интернет-адаптера не увидит никогда.

Понятно, что наш эксперимент умозрителен, т. к. одним движением мыши устройство из DSDT не выкинуть - слишком много зависимостей, и удалять куски прийдётся в нескольких местах. Но на подобные грабли и линукс-сообщество и хак-сообщество сталкивалось не раз. На профильных форумах множество тем посвящено коррекции DSDT и SSDT таблиц. Если кто-то заинтересуется более подробно темой патчинга таблиц BIOSa - Гугль в помощь (тьма ссылок, и особо искать не нужно).

Последний раз редактировалось IgorBaulin; 16.05.2013 в 10:33.
IgorBaulin вне форума  
Непрочитано 16.05.2013, 07:36  
Flopix
Гражданин KAZUS.RU
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: Виндовс 8

IgorBaulin, а в какой момент времени ACPI решает какая ОС будет загружена и в соответствии с этим несколько настраивает конфигурацию железа? Ведь при включении ПК еще неизвестно какую ОС мы будем загружать.
Flopix вне форума  
Непрочитано 16.05.2013, 09:12  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Виндовс 8

Сообщение от IgorBaulin Посмотреть сообщение
Если бы всё было именно так, то БИОС уже канул бы в лету - его заменили бы любым другим флэш-загрузчиком размером в 4 кБ и с момента включения машины до рабочего стола проходило бы менее секунды...
Ну про тестирование памяти - это всё понятно, щас мы об ACPI говорим, ни к чему столь подробно расписывать.

Сообщение от IgorBaulin Посмотреть сообщение
Как только загрузочное уст-во найдено первичный загрузчик передаёт управление загрузчику, находящемуся на этом уст-ве (смею заметить, что основные таблицы БИОСа уже давно в памяти).
Это да. Ошибся. Таблицы хранятся в RAM.


Сообщение от IgorBaulin Посмотреть сообщение
Предположим, что некий весьма продвинутый юзер решил перекроить свой DSDT. Рассматривая эту таблицу этот юзер увидел на шине PCI устройство P0P5, пересчитал разъёмы PCI, а их оказалось всего 4.
- Ну коль нет разъёма, - думает этот юзер, - отрежу ка я его...
Сказано - сделано. Устройство отрезано, новый, модифицированный DSDT вставлен в BIOS и прошит.
...
Однако, при ближайшем рассмотрении, системы отказываются видеть не сам интернет-адаптер, а точку подключения к шине PCI. Таким образом, отрезав устройство Р0Р5 в DSDT мы удалили из дерева уст-в саму точку подключения интернет-адаптера к шине РCI.
Не вернув устройство Р0Р5 на шину PCI в DSDT ни одна система нашего встроенного интернет-адаптера не увидит никогда.
Хорошо. Но причём тут конкретно версии Windows? Это раз. Я не зря спросил про так сказать запись по умлчанию в таблицах, к которой придёт в своих поисках система, не найдя записи именно для своей версии.

А два - это компы без ACPI. Например, на базе Intel 486 процессора. Тогда ещё ни о каком ACPI и речи не было, однако все устройства находились системой без проблем.


Сообщение от Flopix Посмотреть сообщение
IgorBaulin, а в какой момент времени ACPI решает какая ОС будет загружена и в соответствии с этим несколько настраивает конфигурацию железа? Ведь при включении ПК еще неизвестно какую ОС мы будем загружать.
ACPI ничего не решает. Это всего лишь таблица с данными. ОС уже сама лезет в эту таблицу, чтобы перевести устройство в тот или иной режим.
Godzilla82 вне форума  
Непрочитано 16.05.2013, 09:20  
Flopix
Гражданин KAZUS.RU
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: Виндовс 8

Из вики

Цитата:
Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Каждый тип таблицы имеет определённый формат, описанный в спецификации. Кроме того, таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке AML (ACPI Machine Language) — машинно независимый набор инструкций, представленный в компактной форме. Операционная система, поддерживающая ACPI, содержит интерпретатор AML, который транслирует инструкции AML в инструкции центрального процессора, выполняя таким образом методы или обработчики событий
Или я что то не понимаю или вы IgorBaulin сами заблуждаетесь.


Хотя, из той же вики

Цитата:
Другие таблицы хранят динамические данные, которые зависят, например, от установок BIOS и комплектации материнской платы. Такие таблицы формируются BIOS на этапе загрузки системы до передачи управления ОС.
В любом случае тот код что привели пару страниц назад выполняется именно под управлением операионной системы а не BIOS.

Последний раз редактировалось Flopix; 16.05.2013 в 09:25.
Flopix вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot