OSDev http://osdev.su/ |
|
Проблемы начинающего осеписателя http://osdev.su/viewtopic.php?f=5&t=165 |
Страница 2 из 5 |
Автор: | phantom-84 [ 05 ноя 2007, 20:36 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Моя ось нормально работала и без использования int 15h/E820h. Настало время, я стал ее использовать. Это естественно, когда отказываешь от старых решений или дополняешь их новыми. У меня это происходило с дисками, с видео. Сейчас происходит с прерываниями. Главное, нужно тестировать текущее ядро и систему в целом на разнообразном (но современном) железе и добиваться полной совместимости. |
Автор: | SII [ 05 ноя 2007, 21:08 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Phantom-84 Совершенно согласен. Более того, многие подобные вещи можно предусмотреть сразу, если не спешить к компьютеру заняться кодированием системы, а сначала подумать над ней. Например, если ты хочешь в своей системе в перспективе поддержать управление питанием, ты должен сразу закладывать поддержку ACPI (хотя на начальном этапе эта поддержка сведётся, вероятно, только к получению карты памяти); если рассчитываешь создать систему, поддерживающую многопроцессорность -- ты должен сразу использовать APIC, а не морочить себе голову с устаревшим PICом 8259, ну и т.д. |
Автор: | pavia [ 05 ноя 2007, 21:13 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
SII Все не предусмотришь. А пока ты будешь готовиться все успеет поменяться. Так что надо писать что знаешь. |
Автор: | phantom-84 [ 05 ноя 2007, 21:20 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Главное, чтобы работа с новой аппаратурой легко укладывалась в рамки существующих механизмов работы оси. Иначе ось можно считать устаревшей или попросту недоработанной. |
Автор: | SII [ 05 ноя 2007, 21:53 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Pavia Существенная смена технологий происходит весьма нечасто (а если уж рассуждать глобально, то за последние примерно 40 лет появилось только одно крупное усовершенствование, серьёзно повлиявшее на устройство отдельных компонентов оси -- это PNP). Кроме того, как правильно заметил Phantom-84, работа с новой аппаратурой должна легко обеспечиваться существующими механизмами оси. Фактически необходимо грамотно спроектировать систему на концептуальном уровне -- а всё остальное приложится. |
Автор: | Himik [ 05 ноя 2007, 23:15 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Цитата: Существенная смена технологий происходит весьма нечасто (а если уж рассуждать глобально, то за последние примерно 40 лет появилось только одно крупное усовершенствование, серьёзно повлиявшее на устройство отдельных компонентов оси -- это PNP). //SII 5.11.2007, 21:53 Некоторые (Kreoton и ещё кто-то) ещё в ядре активно используют SMM (System Management Mode). И ACPI тоже можно причислить к новшествам архитектуры. Значительная часть ОС состоит из аппаратной поддержки, а её одной концепцией не закроешь. По сему главное, чтобы ОС была гибкой :) |
Автор: | pavia [ 05 ноя 2007, 23:34 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
За последнии 40 лет появилось много технология. Существенно изменивших ОС. PnP не изменила структуру самой ос. А компоненты как функционировали так и функционируют. PnP - позволяет ос самой настраивать оборудование без участия пользователя. Для этого не требуется перестройки компонентов существующии компоненты могут работать дальше. А вот появления сетей. Много процессорных систем. Это сильно изменило ОС. Разрядность процессора тоже менялась в течении 40 лет и не один раз. Хотя само по сибе это не влияет на ос. Но вмести с изменением разрядности шло и изменеия других компонентов компьютера. Которые в свою очередь влияют на структуру ос. Помимо прочего. К компьютеру стали предъявлять больше требований. Если в первые годы это была вычислительная станция то сейчас это мультимидийное устройство. К примеру горячее подключение устройств? Как вам такое. ОС должна получить сигнал подключено новое устройство выполнить настройку. А это все еще проблема современных ос. Настройка оборудование занимает время а она должна быть моментальной. Объемы информации ворасли нужно предоставить пользователю быстрый доступ. Что касается оборудование. ACPI - возможность усеплять компьютер или отдельных его частей. Тут точно надо всю ОС перекраевать. То уход от ISA к PCI вот главное совершенствования компьютера. |
Автор: | SII [ 05 ноя 2007, 23:47 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Chizh Ну так гибкая ось требует гибкой концепции ;) В частности, гибкости в работе с оборудованием. Кстати, а на кой SMM нужен в ядре ОС? Его ж отлаживать практически невозможно, да и смысла особого в нём нет (фактически ж этот режим придумали, чтобы BIOS мог незаметно для ОС осуществлять некоторые "подлые" действия вроде управления электропитанием -- но в конце концов на смену этому пришёл ACPI). Pavia Цитата: За последнии 40 лет появилось много технология. Существенно изменивших ОС И какие, любопытно спросить? :) Сети, многопроцессорные системы? Так они существовали и 40 лет назад (правда, в зачаточном состоянии, но уже были). Разрядность вообще никакой особой роли не играет и уж во всяком случае не сказывается кардинальным образом на архитектуре ОС, о чём Вы сами и сказали. Горячее подключение новых устройств невозможно без PNP -- система иначе просто не сможет сконфигурировать добавленное устройство правильным образом. Это, собственно, и представляет единственное реальное новшество, всё остальное -- лишь развитие уже существовавших идей. Насчёт предъявления "больших требований" не соглашусь: что первые ЭВМ, что "мультимедийные станции" по существу являются "числодробилками". Разница только в производительности и в размерах. Переход с ISA на PCI вообще принципиально ничего не изменил. ОС пришлось перерабатывать не из-за перехода на новую шину, а из-за того, что новая шина стала поддерживать PNP (в том числе и горячую замену, хотя в обычных ПК аппаратно это не поддерживается). Что касается ACPI, то при грамотно спроектированной поддержке аппаратуры перекраивать всю систему не придётся. Фактически перекройка сведётся к добавлению нового состояния для устройств ("во сне такой-то категории") и к внесению необходимых изменений в драйверы. Ну и, конечно, придётся включить интерпретатор AML и изменить инициализацию системы. Тем не менее, её архитектура в целом никаких изменений не претерпевает. А вот если драйверы намертво завязаны между собой, хитрым образом прикручены к ядру и т.п. -- вот тогда замучаешься переделывать. |
Автор: | Himik [ 06 ноя 2007, 00:07 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Цитата: Ну так гибкая ось требует гибкой концепции ;) В частности, гибкости в работе с оборудованием. Кстати, а на кой SMM нужен в ядре ОС? Его ж отлаживать практически невозможно, да и смысла особого в нём нет //SII 5.11.2007, 23:47 Про гибкость я тоже подумал, только посчитал это адаптируемостью, т.к. гибкость подразумевает значительную реконфигурацию. Ладно, это теория. Про SMM я ничего не знаю. Занятно то, что у тех, кто как-то примененяют его в своём ядре, это является даже поводом закрывать код от распростренения. У всех свои тараканы в голове :) SII, а откуда у тебя опыт разработки ОС? Что-то ник ни где не встречал за долгое время. Т.е. в дополнение к первому письму темы, рассказал бы и о своей ОС, для большей конкретики так сказать :) |
Автор: | SII [ 06 ноя 2007, 14:38 ] |
Заголовок сообщения: | Re: Проблемы начинающего осеписателя |
Chizh А я нигде особо и не светился. С осями же дело имею лет с 14 -- с 1986-87 года. Начинал с ОС РВ (советский вариант RSX-11M для PDP-11), которая остаётся и по сей день моей любимой системой -- функционально развитой, эффективной и компактной. Потом достаточно долгое время работал на ЕСках в ОС ЕС и СВМ ЕС (клоны OS/360 и VM/370). Во всех случаях фактически был системщиком, хотя в трудовой книжке значился, есно, оператором -- на инженерную должность без высшего образования тогда взять не могли. В общем, ковырялся в системах, писал драйверы, утилиты и т.д. и т.п. Ну, попутно ещё железо чинил. Что же касается своей оси, то первые попытки были ещё на СМ-1420 под влиянием RSX-11. Ни к чему конкретному они не привели, не считая того, что саму RSX изучил вдоль и поперёк (благо, ядро и драйверы её идут в исходных текстах). Сейчас, есно, многое подзабыл, но основное помню :) На ЕС-1035 и позднее ЕС-1130 дело дальше пошло: кое-что работало, даже с многозадачностью и т.п. вещами. Успел сделать нечто вроде MS DOS (однопользовательская система, в качестве терминала -- пультовая пишущая машинка, дисплеи подсобачить не успел), но с полноценной многозадачностью и виртуальной памятью. Ну а на ПК дальше экспериментов дело не заходило -- в основном из-за нехватки информации (по СМкам и ЕСкам была полная документация на железо и куча инфы по устройству их осей, включая форматы управляющих блоков). Сейчас этой нехватки уже нет, но руки как-то не доходят. Фактически единственное околосистемое, что я сейчас делаю, -- это написание собственного транслятора ассемблера (ни один из имеющихся меня до конца не устраивает). Ну а ОС у меня витает только в голове :) Но думаю, если и рассказывать, то не в этой теме, ибо это оффтоп :) |
Страница 2 из 5 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |