OSDev

для всех
Текущее время: 01 май 2024, 05:48

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
СообщениеДобавлено: 05 ноя 2007, 20:36 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Моя ось нормально работала и без использования int 15h/E820h. Настало время, я стал ее использовать. Это естественно, когда отказываешь от старых решений или дополняешь их новыми. У меня это происходило с дисками, с видео. Сейчас происходит с прерываниями. Главное, нужно тестировать текущее ядро и систему в целом на разнообразном (но современном) железе и добиваться полной совместимости.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 ноя 2007, 21:08 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Phantom-84

Совершенно согласен. Более того, многие подобные вещи можно предусмотреть сразу, если не спешить к компьютеру заняться кодированием системы, а сначала подумать над ней. Например, если ты хочешь в своей системе в перспективе поддержать управление питанием, ты должен сразу закладывать поддержку ACPI (хотя на начальном этапе эта поддержка сведётся, вероятно, только к получению карты памяти); если рассчитываешь создать систему, поддерживающую многопроцессорность -- ты должен сразу использовать APIC, а не морочить себе голову с устаревшим PICом 8259, ну и т.д.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 ноя 2007, 21:13 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
SII
Все не предусмотришь. А пока ты будешь готовиться все успеет поменяться. Так что надо писать что знаешь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 ноя 2007, 21:20 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Главное, чтобы работа с новой аппаратурой легко укладывалась в рамки существующих механизмов работы оси. Иначе ось можно считать устаревшей или попросту недоработанной.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 ноя 2007, 21:53 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Pavia

Существенная смена технологий происходит весьма нечасто (а если уж рассуждать глобально, то за последние примерно 40 лет появилось только одно крупное усовершенствование, серьёзно повлиявшее на устройство отдельных компонентов оси -- это PNP). Кроме того, как правильно заметил Phantom-84, работа с новой аппаратурой должна легко обеспечиваться существующими механизмами оси. Фактически необходимо грамотно спроектировать систему на концептуальном уровне -- а всё остальное приложится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 ноя 2007, 23:15 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Цитата:
Существенная смена технологий происходит весьма нечасто (а если уж рассуждать глобально, то за последние примерно 40 лет появилось только одно крупное усовершенствование, серьёзно повлиявшее на устройство отдельных компонентов оси -- это PNP).
//SII 5.11.2007, 21:53

Некоторые (Kreoton и ещё кто-то) ещё в ядре активно используют SMM (System Management Mode). И ACPI тоже можно причислить к новшествам архитектуры.
Значительная часть ОС состоит из аппаратной поддержки, а её одной концепцией не закроешь. По сему главное, чтобы ОС была гибкой :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 ноя 2007, 23:34 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
За последнии 40 лет появилось много технология. Существенно изменивших ОС.
PnP не изменила структуру самой ос. А компоненты как функционировали так и функционируют. PnP - позволяет ос самой настраивать оборудование без участия пользователя. Для этого не требуется перестройки компонентов существующии компоненты могут работать дальше.
А вот появления сетей. Много процессорных систем. Это сильно изменило ОС.
Разрядность процессора тоже менялась в течении 40 лет и не один раз. Хотя само по сибе это не влияет на ос. Но вмести с изменением разрядности шло и изменеия других компонентов компьютера. Которые в свою очередь влияют на структуру ос.
Помимо прочего. К компьютеру стали предъявлять больше требований.
Если в первые годы это была вычислительная станция то сейчас это мультимидийное устройство.
К примеру горячее подключение устройств? Как вам такое. ОС должна получить сигнал подключено новое устройство выполнить настройку. А это все еще проблема современных ос. Настройка оборудование занимает время а она должна быть моментальной.
Объемы информации ворасли нужно предоставить пользователю быстрый доступ.

Что касается оборудование.
ACPI - возможность усеплять компьютер или отдельных его частей. Тут точно надо всю ОС перекраевать.

То уход от ISA к PCI вот главное совершенствования компьютера.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 ноя 2007, 23:47 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Chizh

Ну так гибкая ось требует гибкой концепции ;) В частности, гибкости в работе с оборудованием.

Кстати, а на кой SMM нужен в ядре ОС? Его ж отлаживать практически невозможно, да и смысла особого в нём нет (фактически ж этот режим придумали, чтобы BIOS мог незаметно для ОС осуществлять некоторые "подлые" действия вроде управления электропитанием -- но в конце концов на смену этому пришёл ACPI).

Pavia

Цитата:
За последнии 40 лет появилось много технология. Существенно изменивших ОС


И какие, любопытно спросить? :) Сети, многопроцессорные системы? Так они существовали и 40 лет назад (правда, в зачаточном состоянии, но уже были). Разрядность вообще никакой особой роли не играет и уж во всяком случае не сказывается кардинальным образом на архитектуре ОС, о чём Вы сами и сказали.

Горячее подключение новых устройств невозможно без PNP -- система иначе просто не сможет сконфигурировать добавленное устройство правильным образом. Это, собственно, и представляет единственное реальное новшество, всё остальное -- лишь развитие уже существовавших идей.

Насчёт предъявления "больших требований" не соглашусь: что первые ЭВМ, что "мультимедийные станции" по существу являются "числодробилками". Разница только в производительности и в размерах.

Переход с ISA на PCI вообще принципиально ничего не изменил. ОС пришлось перерабатывать не из-за перехода на новую шину, а из-за того, что новая шина стала поддерживать PNP (в том числе и горячую замену, хотя в обычных ПК аппаратно это не поддерживается).

Что касается ACPI, то при грамотно спроектированной поддержке аппаратуры перекраивать всю систему не придётся. Фактически перекройка сведётся к добавлению нового состояния для устройств ("во сне такой-то категории") и к внесению необходимых изменений в драйверы. Ну и, конечно, придётся включить интерпретатор AML и изменить инициализацию системы. Тем не менее, её архитектура в целом никаких изменений не претерпевает. А вот если драйверы намертво завязаны между собой, хитрым образом прикручены к ядру и т.п. -- вот тогда замучаешься переделывать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 ноя 2007, 00:07 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Цитата:
Ну так гибкая ось требует гибкой концепции ;) В частности, гибкости в работе с оборудованием.

Кстати, а на кой SMM нужен в ядре ОС? Его ж отлаживать практически невозможно, да и смысла особого в нём нет
//SII 5.11.2007, 23:47

Про гибкость я тоже подумал, только посчитал это адаптируемостью, т.к. гибкость подразумевает значительную реконфигурацию. Ладно, это теория.
Про SMM я ничего не знаю. Занятно то, что у тех, кто как-то примененяют его в своём ядре, это является даже поводом закрывать код от распростренения. У всех свои тараканы в голове :)
SII, а откуда у тебя опыт разработки ОС? Что-то ник ни где не встречал за долгое время. Т.е. в дополнение к первому письму темы, рассказал бы и о своей ОС, для большей конкретики так сказать :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 ноя 2007, 14:38 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Chizh

А я нигде особо и не светился. С осями же дело имею лет с 14 -- с 1986-87 года. Начинал с ОС РВ (советский вариант RSX-11M для PDP-11), которая остаётся и по сей день моей любимой системой -- функционально развитой, эффективной и компактной. Потом достаточно долгое время работал на ЕСках в ОС ЕС и СВМ ЕС (клоны OS/360 и VM/370). Во всех случаях фактически был системщиком, хотя в трудовой книжке значился, есно, оператором -- на инженерную должность без высшего образования тогда взять не могли. В общем, ковырялся в системах, писал драйверы, утилиты и т.д. и т.п. Ну, попутно ещё железо чинил.

Что же касается своей оси, то первые попытки были ещё на СМ-1420 под влиянием RSX-11. Ни к чему конкретному они не привели, не считая того, что саму RSX изучил вдоль и поперёк (благо, ядро и драйверы её идут в исходных текстах). Сейчас, есно, многое подзабыл, но основное помню :)

На ЕС-1035 и позднее ЕС-1130 дело дальше пошло: кое-что работало, даже с многозадачностью и т.п. вещами. Успел сделать нечто вроде MS DOS (однопользовательская система, в качестве терминала -- пультовая пишущая машинка, дисплеи подсобачить не успел), но с полноценной многозадачностью и виртуальной памятью.

Ну а на ПК дальше экспериментов дело не заходило -- в основном из-за нехватки информации (по СМкам и ЕСкам была полная документация на железо и куча инфы по устройству их осей, включая форматы управляющих блоков). Сейчас этой нехватки уже нет, но руки как-то не доходят. Фактически единственное околосистемое, что я сейчас делаю, -- это написание собственного транслятора ассемблера (ни один из имеющихся меня до конца не устраивает). Ну а ОС у меня витает только в голове :) Но думаю, если и рассказывать, то не в этой теме, ибо это оффтоп :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB