Цитата:
Сообщение от
Vadim
Она, как и CP/M 3 использует концепцию bank switched memory.
Одно уточнение - она умеет ее использовать, и ввиду малого адрессного пространства 8080 это очень полезная вещь. Но МР/М может работать и без банк свитчинга.
Цитата:
Так вот, эти банки памяти переключаются от адреса 0 до некой верхней точки, можно условно считать что это адрес С000, хотя этот адрес может быть любым.
Не верно. При конфигурировании системы задаются сегменты памяти с которыми работает менеджер МР/М. Всего может быть не более 8 штук. Для каждого сегмента задается его начальный адрес в адресном пространстве ЦПУ, размер и номер банка (который передается в XIOS при активации данного сегмента). То-есть, сегменты могут быть совершенно любыми и рассположеными где угодно хоть по 4 штуки в банке. Однако СОМ программы могут загружаться и исполняться только в сегментах с начальным адрессом 0000. Тем не менее, МР/М предусматривает возможность полного отсутствия таких сегментов. В таком случае просто не получится запускать программы СР/М, релоцируемые PRL будут грузиться в то что есть.
Цитата:
Супервизор работает от прерываний по таймеру.
Не только. Таймер конечно очень рекомендовано иметь но МР/М может работать и без него. В таком случае переклчение задач выполняется при любых системных вызовах или наличии каких либо прерываний. С этой целью, для тяжелого кода рекомендуется делать переодические вызовы функции Dispatch.
Цитата:
Использовалось 50 или 100Гц.
Рекомендуемый диапазон 16-20мс.
Цитата:
Нужно ли оно вам?
Я уже несколько раз пробовал обьяснить замысел... такое впечатление что доказать народу что то, что я собираюсь делать, важнее чем сама работа. :v2_mad:
Ну и почему я должен оправдоваться? Впрочем читай мои предыдущие сообщения в этой ветке, я уже все обьяснил. :v2_smoke:
Цитата:
У меня вот в планах есть такое что бы адаптировать MP/M, MP/M II, CP/M 2.2, ZSDOS и подобное на Профи или на другой клон.
СР/М там уже есть. Нет? :v2_conf2:
Цитата:
Но в том виде как оно есть представляет только исторический интерес.
Это само собой. Однако сам спектрум как платформа тоже представляет исключительно исторический интерес. И если есть желание получить новую функциональность на платформе 20-30 летней давности, то применение для этого технологий того периода, разработаных специально для машин подобного класса более чем уместно.
Цитата:
Для реализации многозадачной ОС можно изучить MP/M посмотреть как там реализованы механизмы и делать свое.
Да, безусловно можно. Но я не возьмусь вот так вот на ура писать аналог МР/М не говоря уже о чем то более крутом. Портировать МР/М куда как проще тем более что она изначально портируемая. Я уже уточнял - референсный XIOS всего около 500 строк ассма. И проблема даже не в сложности написания большого кода а в сложности получения надежного и полнофункционального продукта коим МР/М уже является.
Цитата:
Про саму MP/M я писал ещё в 1998г в Вояджере. Но все промолчали.
В 98 меня Спектрум не итересовал поскольку тогда он уже утратил свою ценность для практического применения но еще не стал инетересным в плане ретро компьютинга.
Цитата:
А сейчас столько обсуждений. Проснулись что ли? Или как?
Эмм... ну вы отлистайте пару страниц назад и поймете откуда или как. Это я начал случайно. Я просто изложил там кое какие свои мысли. В них прозвучали GEOS и МР/М. Потом по ходу обсуждения этих мыслей возникла идея на МР/М сделать GUI по принципу (но не аналогично) Х-Windows. Ну вот идея мне понравилась как с точки зрения интересной технической задачи так и возможного расширения функциональности платформы. В любом случае - ничего подобного не существует и уж тем более под Спек. Вот отсюда и все обсуждения.
Цитата:
Реализованы семафоры и блокировки файлов, передача данных из программы в программу.
Совершенно верно. И это есть хорошо ибо она обладает всеми возможностями взрослой многозадачки. При этом в памяти весит около 16кб, что тоже есть хорошо.
Цитата:
Но весь обмен с диском остался в том же самом виде, т.е. по 128 байт за вызов. Если реализовать ее в чистом виде на любом из компов, то будут тормоза.
Совершенно не согласен ибо весь доступ к накопителю происходит через вызовы XIOS, а уж какой код мы положим туда, так он и будет работать.
Цитата:
Если запускается какая-либо программа юзающая железо напрямую то вся "многозадачность" замрет.
Ну дык програмы написанные под МР/М этого не делают. А програмы написанные под существующее железо нам всеравно не интересны поскольку написаны они не под наше железо. То-есть, работать будут те которые полностью совместимы и те которые в последствии будут портированы или созданы для нашей платформы.
Цитата:
Ведь многий софт который написан в расширенных режимах на Профи и АТМ после запуска или фактически выгружает систему из памяти (вернее сохраняет сегменты памяти где лежит система в других сегментах памяти) и юзает железо компа напрямую, а при выходе из программы восстанавливает систему в ОЗУ.
Ну что с ним делать с таким софтом? Он не пойдет конечно. И на новой ОС не пойдет.
Цитата:
MP/M будет работать и мы будем наблюдать многозадачность только с классическим консольным софтом. Или с программами не лезущими к железу, а работающими только через системные вызовы.
То же справедливо для любой новой ОС. Кроме эмуляторов и ВМ, но реализовать такое на целевой платформе не реально.
Опять? Два раза в одном посте... :v2_crazy:
Цитата:
А если есть желание сделать нечто подобное на спектруме - когда мы на ПЦ запускаем 3-5 эмулей и в каждом свою программу для спектрума и переключаемся между ними.
Я об этом уже писал. Пожалуйста полистайте пару страниц назад и отследите ход обсуждения начиная с моего первого поста в этой ветке. Смысла повторяться не вижу.
Цитата:
То надо делать всё совсем не так. MP/M тут не поможет. Нужен аппаратный task switching по NMI (если мы делаем на классическом Z80), защита памяти. Возможно сегментация аналогичная 8086. И много, много чего.
То есть, другими словами, надо сделать новую машину? Но зачем тогда ее делать под Z80? АРМ сегодня дешевле. Да и пни не дороги. Правда? И зачем для нее непонятную новую ось мутить если есть Линух например. Ась?
Да и вообще зачем делать если есть их много и в ассортименте и у каждого в наличии в том числе и в кармане? :v2_thumb:
Это уже не ретро компьютинг будет и никакого интереса у меня к этому не будет вообще, поскольку если создавать НОВУЮ машину то только с целью получить какие либо преимущества по сравнению с существующими машинами, будь то производительность, цена, компактность, надежность либо что-то еще. Извраты на 8080 со страницами а-ля 8086 не представляются перспективными в плане достижения каких либо преимуществ. Разве что вы сможете показать обратное, в чем я сомневаюсь.
Однако даже если получится создать машину современного уровня, то на написание новой, полнофункциональной ОС потребуется несколько тысяч человеко лет. То-есть - не реально. Поэтому придется взять то что есть, и это почти 100% будет ГНУ.
... а я тут просто хочу нечно новое, интересно под спектрум сделать. Что, нельзя чтоли? Обязательно отказываться от Спектрума? :v2_conf3:
Цитата:
Уверен, что на форуме людей которые всё это осилят нет.
:v2_clap2: То то же и оно!!! Вот и вы пришли к очевидной истине. Поэтому нет смысла браться за то что осилить неполучится. А вот портирование МР/М как первый шаг мне кажется вполне возможным (если получится конечно, я еще не совсем в этом уверен). И результат может дать надежную основу для дальнейшего развития. Впрочем это уже по желанию. ;)
---------- Post added at 10:12 ---------- Previous post was at 10:10 ----------
Цитата:
Сообщение от
Vadim
нужно что бы бдос делал вызов не за 128-и байтной записью это раз (что бы она знала секторы более 128 байт, а 128 - это как раз размер сектора на первых дискетах на которых делался ЦПМ) и во вторых запрашивать более одного сектора за раз.
Почему? В чем проблемы с кешированием накопителя в XIOS? :v2_conf3: