О BIOS, прерываниях и т.п.
Свернуть
X
-
А смысл его НЕ использовать? Здраствуй PnP? Или вообще прерывания руками назначать?
И? Операционка про все это щастье не в курсе.Температурный режим - да. Его не вырубить. Тем более на буках. Но для этого ACPI не нужна - это было встроено ещё в х386-х машинах, когда про ACPI никто ещё и не слыхивал. (Ну по крайней мере на 486-х было точно. У меня такая есть, и там температурный мониторинг в БИОСе идёт.)
Оно как бы занимается конфигурацией железа.Вот приведите хоть одну полезную и нужную функцию ACPI, которая реально сказывается на быстродействии системы...
И? Современные оси, в отличии от доса, для того, чтобы узнать время например не спрашивают у биоса, а сами лезут в контроллер RTC.Такое впечатление что вы не представляете. Это ведь не просто программный интерфейс для ЯВУ - это интерфейс, посредник между железом и осью. И его большая часть не что иное как микропрограммы ПЗУ.
Опять же, сейчас его берут из таблицы ACPI. Которая генерируется или просто берется из биоса.Причём любому БИОСу.
Вот смотрите, берём к примеру, такую простейшую операцию, как чтение с диска. Как это происходит?
Во-первых ось должна знать прерывание, на котором диск сидит, логично?
Оно где? Правильно в БИОСе...
А этим уже знанимается ось.Во-вторых ость должна знать порты/диапазон адресов в памяти, через которые она будет брать с винта данные. Где порты прописаны? Правильно - в БИОСе...
А этим - контроллер HDD.В-третьих ось должна знать параметры устройства - куда подвести головку, на какое время, с какого места на цилинде начать читать... и пр... и пр... И где это всё хранится? Правильно - всё там же...
Да куча ARM'ов, маки, сановские спарки, бимеровские поверписишки, все приставки без биоса обходятся.Куда ни кинь - мы везде упираемся в БИОС, без которого ни одна ось на железе не сможет работать. Ну за исключением очень специфичных осей, заточенных под конкретное железо... Но я таковых ни разу не видел... Ну разве что только на заре ПЭВМ...
А что ей нужно? Так и загрузится, и сама проинициализирует железо.ГЫ!
И нафиг он такой нужен???
Нафиг нужен БИОС, в котором нету POST-а или он не работает? Ну, допустим отдаст БИОС управление на загрузчик оси и чо дальше-то? Как она загрузится, если БИОС ей больше ничего не даст?
Это все и сейчас делают операционки. Еще раз, после того, как это сделал биос. Так что биосовский POST - пустая трата времени.Не, Окарин... сперва отрабатывает POST, опрашивает периферию, подгружает биосы контроллеров, создаёт таблицы с портами, вешает всё на прерывания, .... и уже только после этого ищет загрузчики оси... и только если находит - передаёт управление им... (а если не находит - начинает "материться")
И есть те, кто делает свободную прошивки для x86-железа без всего этого наследия 90-х: https://ru.wikipedia.org/wiki/Coreboot
Они оси нафиг не нужны. Ось это сама умеет. Благо большинство никсов, да и winnt переносимы, а для этого просто обязаны обходиться без биосаИ это всё вы назвали коротеньким словом - "инициализация"? Ну и? Да, БИОС для этого нужна - не будет инициализации - ничо не будет работать, а если вы данные, полученные в ходе этой инициализации не отдадите оси, то тоже ничо работать не будет... а если вы не отдадите микропрограммы для работы с устройствами(которое и есть, кстати, часть API) - то опять же нифига ничо не заработает - ось просто не загрузится и всё.
Ок, расскажи, как еще повесить более одного устройства на прерывание.Вот где-то так! И ACPI тут всего лишь дальнейшее наворочание функционала по управлению питанием устройств - не более того. Оно даже в винде98 можно было обрубать устройства, если они не использовались...
Фигня это ваше ACPI...Есть две бесконечные вещи Вселенная и человеческая глупость. Впрочем, насчёт Вселенной я не уверен.©Комментарий
-
В них нет биоса? А куда деваются все микропрограммы, когда вы вынимаете аккумулятор?
Точнне - не! = Откуда они потом берутся, когда вы его ставите обратно??? ВО!
ПС:
Кстати да, была такая серия компов, по типу БК-010, БК-011, ZX-Spectrum, "Орион-128", и пр...
Смартфоны отдыхают...
.Последний раз редактировалось Полковник; 02 May 2012, 06:05 AM."Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор СуворовКомментарий
-
Вытащи микросхему с биосом... Хотя - не, тогда ты комп не загрузишь... Не так... - сотри нафих из биоса POST, оставь только загрузчик... и посмотрим...
Пусть он просто найдёт винт, найдёт загрузчик и передаст ему управление... Более ничего не делает...
Сдаётся мне что ты просто не в курсе логики работы компа...
Давайте начнём с простого - надо оси считать файл с винта(неизвестно с какого причём, ось не знает параметры винта!) - ваши действия: 1), 2), 3), ..... ???
А ты не знаешь?
Но главное не в этом - главное вот было: "Вот приведите хоть одну полезную и нужную функцию ACPI, которая реально сказывается на быстродействии системы..."
Я слушаю внимательно... А с логикой загрузки оси и её взаимодействием с периферией, на примере, хотя бы винта, мы разберёмся позднее...
Кстати, Окарин, запомните что прерывания ну никак не связаны с ACPI. Поскольку были аж на самом первом компе - без них, ну никак невозможно работать...
.Последний раз редактировалось Полковник; 02 May 2012, 09:23 AM."Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор СуворовКомментарий
-
За все говорить не возьмусь, но в подавляющем большинстве распространенных сейчас нет.
В энергозависимую память они подружаются при необходимости, из энергонезависимой при отключении питания они не пропадают.А куда деваются все микропрограммы, когда вы вынимаете аккумулятор?
Точнне - не! = Откуда они потом берутся, когда вы его ставите обратно??? ВО!Комментарий
-
Допускаю, что называется по-другому.
Вот в БК-010 тоже не было БИОС. Там была ПЗУ с зашитым в неё бейсиком. Комп включаем, оно из ПЗУ грузится в ОЗУ и начинает работать - типа ОСь такая.
Не в названии дело, бандерлог - а в сути.
А суть - это первоначальная программа, которая инициализирует комп и грузит ось. И её нету только в калькуляторах, поскольку там аппаратная реализация функционала а не программная.
Вот о чём я и говорю - вспомните схему устройства машины Фон Неймана - классика жанра, ничего более не придумано до сих пор...
Гарантирую - вопросов больше не возникнет...
."Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор СуворовКомментарий
-
Итого: утверждение "любая ось - надстройка над биосом" ложно.
Если в иной плоскости, то на утверждение, подобное "любой водитель - прокладка между сиденьем и рулем грузовика" я заявляю "позвольте, есть же легковые автомобили", а Окарин говорит о том, что водитель нетварь дропрокладка, а право имеет.
"Аналогию"" защищать я не собираюсь. Просто хочу сказать, что не все "штуки, чем-то похожие на биос" описываются этим термином.
Конечно нет. Вы регулярно пишете неправду.Вот о чём я и говорю - вспомните схему устройства машины Фон Неймана - классика жанра, ничего более не придумано до сих пор...
Имейте уважение к другим людям.Комментарий
-
И становится очевидно, что это дело вкуса. С вашей колокольни вы себе что-то там доказали и успокойтесь на этом. Я же, со своей колокольни, считаю что вы не правы.Итого: утверждение "любая ось - надстройка над биосом" ложно.
Если в иной плоскости, то на утверждение, подобное "любой водитель - прокладка между сиденьем и рулем грузовика" я заявляю "позвольте, есть же легковые автомобили", а Окарин говорит о том, что водитель нетварь дропрокладка, а право имеет.
"Аналогию"" защищать я не собираюсь. Просто хочу сказать, что не все "штуки, чем-то похожие на биос" описываются этим термином.
При этом даже высота колокольни не имеет значение. Просто меня так учили, а вас, видать по-другому.
Уже придумали какую-то новую схему ЭВМ???
Уважаю. Давай новую схему ЭВМ, отличную от Неймана.
."Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор СуворовКомментарий
-
При этом сказать в чем и почему не прав вы не соизволите. На таком уровне только и остается, что считать это делом вкуса.
Зачем же новую?
На "гарвардский Марк-I" посмотрите - гарвардская архитектура.
Как-то здесь на форуме троичные компьютеры обсуждали и о "Сетуни" речь шла. Для примера...Комментарий
-
В том, что BIOS - это всего лишь название микропрограмм в ПЗУ компьютера. И как таковое, может и называлось по-разному, в разные времена в разных странах.
И то же самое в ваших айфонах и прочей лабуде, имеет тот же функционал, то же назначение, и поэтому не имеет значения какой именно аббревиатурой обзывается.
Только это. Но этого достаточно.
Архитектура фон Неймана Википедия
И никаких изменений нет. Классика - везде и всегда. Как раз тот случай, когда ничего принципиально нового не изобретено и не будет. (даже нейросети по той же архитектуре строятся)
При этом абсолютно без разницы реализована аппаратная часть на реле, на микросхемах, и в какой системе работает - в двоичной, в троичной... да хоть в десятичной.
Схема у всех одна. Даже калькулятор...
."Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор СуворовКомментарий
-
"... грузовик всего-лишь транспортное средство. И, как таковое, может называться по-разному в разные времена в разных странах". Это не повод называть все ТС грузовиками.
Ну вот и замечательно, BIOS не везде.
Функционал совпадает лишь частично,как у Тойоты Приус в сравнении с БелАЗом.
Названия для того и даны, чтоб различать.
Да я понял. Вы BIOS'ом все похожее на него называете. Это неправильно.
Архитектура фон Неймана Википедия
И никаких изменений нет. Классика - везде и всегда. Как раз тот случай, когда ничего принципиально нового не изобретено и не будет. (даже нейросети по той же архитектуре строятся)
При этом абсолютно без разницы реализована аппаратная часть на реле, на микросхемах, и в какой системе работает - в двоичной, в троичной... да хоть в десятичной.
В той же статье ссылка на статью о гарвардской архитектуре есть, где описаны различия, а вы говорите о том, что изменений нет. Как вам не стыдно? Да хоть на схему ее гляньте. File:Harvard architecture.svg - Wikipedia, the free encyclopedia
Про нейросети вообще глупость...
Искусственная нейронная сеть ВикипедияКомментарий
-
Упомянутый coreboot в помощь.
Оси? Нам нужны дравера контроллера SATA\IDE\RAID и драйвер fs. Далее монтируем все доступные разделы со всех жёстких дисков и ищем нужный файл. Более правильное решение - получить от юзера номер диска и раздела.Сдаётся мне что ты просто не в курсе логики работы компа....
Давайте начнём с простого - надо оси считать файл с винта(неизвестно с какого причём, ось не знает параметры винта!) - ваши действия: 1), 2), 3), ..... ???
Кроме без APIC(Advanced Programmable Interrupt Controller), входящего в ACPI на x86-железе никак.А ты не знаешь?
Никак. Но полноценная работа современных ОС без оного невозможна.Но главное не в этом - главное вот было: "Вот приведите хоть одну полезную и нужную функцию ACPI, которая реально сказывается на быстродействии системы..."
Блин, я не понимаю, так сложно что-нибудь почитать на эту тему? Вот хотя быКстати, Окарин, запомните что прерывания ну никак не связаны с ACPI. Поскольку были аж на самом первом компе - без них, ну никак невозможно работать...
Что такое ACPI?Последний раз редактировалось Okarin; 03 May 2012, 03:05 PM.Есть две бесконечные вещи Вселенная и человеческая глупость. Впрочем, насчёт Вселенной я не уверен.©Комментарий
-
Там нету микропрограмм как таковых. На плате распаян flash rom - такой же, как тот, на котором лежит bios на x86-ых, только больше. В начале его лежит загрузчик HBOOT, который инитит память и грузит ядро линукса, лежащее на разделе рядом в чистом виде без фс. Оно уже монтирует корневую фс и всякие там /system, /cache и прочие подразделы. Еще иногда там есть раздел с чистым образом оси для отката на завоские установки, если вдруг юзер попортит систему.
Вот это - правильный дизайн. И без всякого легаси-говна для поддержи систем, которым уже давно место на свалке истории.Есть две бесконечные вещи Вселенная и человеческая глупость. Впрочем, насчёт Вселенной я не уверен.©Комментарий
-
Ой, как вы всё прекрасно объяснили! Только главное забыли - и как же оно взаимодействует с ЖЕЛЕЗОМ???1) Подгрузить драйвера контроллера sata\ide\raid. Конкретно в линуксе он либо вкомпилен в ядро и загрузка его не требуется, либо лежит на initrd.
2) Драйвер контроллера инициализирует контроллер, заливает firmware в него, если надо.
3) Пинает контроллер, чтобы тот просканировал порты, что бы тот узнал, к каким из них подключены hdd.
4) Если у нас есть DMA, а на современном железе он у нас есть - то он активируется, дабы ось могла перекачивать данные напрямую с контроллера в память, минуя проц. DMA инициализируется на ранних этапах загрузки ядра.
5) Как там в виндах не знаю, но после этого линукс сканирует таблицу разделов на дисках и создает в /dev файлы устройств, включая жестак целиком в виде /dev/sda и его разделы в виде /dev/sda1.
6) Подгружаются драйверы фс, если они не вкомпилены в ядро.
7) Фс монтируется в папку.
8) Ищем\читаем новый файл.
Вот смотрите - п.2 какой конкретно контроллер инициализирует драйвер контроллера? Очевидно что это контроллер шины(sata\ide) - так?
Теперь в п.3 - ну просканит он порты и увидит что на портах нет ничего. А откуда оно там появится, если у вас БИОС не повесил устройство на прерывание и не назначил ему порты? Винт к шине-то ещё не подключен!
Соответственно и дальше ничего не происходит.
Вообще-то сам по себе драйвер, например, шины IDE, с винтом не может работать. Он работает с контроллером винта, котороый к этой шине подключается. Именно этот контроллер двигает головки и крутит диск... а контроллёр шины всего лишь говорит ему что требуется с диска взять/положить.
И пока БИОС не обратиться к контролёру винта и не инициализирует его, то работать с ним ни одна ось не сможет.
Это издержки открытой архитектуры IBM. Это плата за то, чтобы мы могли подключать любой винт.
Вот в маках - там такого нет. Я просто до сих пор удивлён что вы не привели пример макоси. Там ось работает напрямки с железом, функционал определения параметров устройств не поручается там никакому БИОСу. Там просто загрузчик и всё. Соответственно в маковский комп никакую другую запчасть вставить незя, без переделки самой оси. Аппаратно-программный комплекс, млин. Зато и работает быстрее. Та же ХР на маке грузится в разы резче чем на IBM.
Окарин - что за идиотские вопросы? Вы кончайте это!
Ведь прерывание - это не единственный параметр внешнего устройства - есть ещё и порт.
Например СОМ1,3 висит на 4 прерывании, а СОМ2,4 висят на 3-ем.(Ща не в курсах - но на (3-4)86 было так) И чо? Цепляем на нечётные порты два устройства и они прекрасно себе работают. А всё потому что у них порты разные. Хоть и одно прерывание.
Чо сложного-то?
Более того - вот у меня в руках контроллер от 286 машины. На плате вижу 3 последовательных порта, один параллельный... Угадайте, с одного раза, на скольки прерываниях это висит в разъёме ISA?
Дак а загрузка не функция БИОСа?
Вы же сами сказали что БИОС инит железо и загружает ось. Ну и тут то же самое, и в маках то же самое...
ПС:
И вообще - смотри мой пост ниже про посыпание головы пеплом. Назовите слово.
Просто аппаратная реализация такая. Не стали делить память на ПЗУ и ОЗУ.
Я лично этому рад - всегда считал такое деление чем-то нелогичным.
А вы под словом "дизайн" что понимаете?
Я вот считаю что нормальный дизайн должен облегчать жизнь не разработчику, а потребителю, т.е. тому юзеру, который будет на эти кнопки давить... И хрен меня переубедите в этом.
.Последний раз редактировалось Полковник; 04 May 2012, 12:28 PM."Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор СуворовКомментарий
-
Конечно нет. В смысле не невежество.
Применительно к собакам у нас есть чёткая классификация. У каждой конкретной собаки есть кличка, название породы, название вида, название семейства, название рода...
А вот применительно к БИОС - у нас нет этого ничего... причём уже начиная с названия вида.
Вот назовите как называются все-все инициализаторы - загрузчики осей во все-всех компьютерных приборах?
Одно слово, Бандерлог, и я тут же признаю своё невежество, посыпаю голову пеплом и прочее и прочее...
Я за свои слова отвечаю - вы знаете...
Нет не вижу.Правда не видите?
File:Harvard architecture.svg - Wikipedia, the free encyclopedia
Файл:Архитектура фон Неймана.png Википедия
Архитектура описывает не только состав системы, но и взаимодействие ее элементов.
Нас вообще учили что схема Неймана - это УУ + АЛУ + ЗУ + УВВ соединённые общей шиной. Без конкретики как именно от чего и куда идут стрелочки. Это означает что каждый элемент имеет соединение с каждым.
Т.е., например, УУ соединяется и с АЛУ, и с УВВ, и с ЗУ. Так же и все остальные элементы.
А на схемах из вики и прочего, я вижу что некоторых стрелочек нет. Это означает что схемы подточеные, т.е. специализированные.
Частное из общего.
Не вижу отличий.
Нет - там ещё должна быть соединительная шина. Вот это будет тогда схемой фон Неймана.
А в нейросетях - нет шин? Т.н. соединений между элементами системы?
Впрочем вы правы в одном - нейросети - это несколько другая песня и у них есть свои очень хорошие особенности.
."Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор СуворовКомментарий


Комментарий