Сколько ангелов умещаются в бутылке из под пива?Сообщение от dwt
Какой командой процессора колобок есть чёрта?И вообще, если рассматривать проблему шире, нужна ли новая ОС Спектруму?
Ядру место там же, где и графическим интерфейсам.Цель создания этой темы - определить основные принципы, так сказть, "идеологию" ОС. На мой взгляд, нет необходимости в
изначальность ставить графический интерфейс, и т.д. Необходимо создать ОС, ядро которой будет минимально. Ядро, которое
Ядра, GUI, мыши, кнопка пуск -- вот главные атрибуты любой ОС.
Конечно... А софт мы напишем. От нефиг делать. Бросим нести
всякую чушь в форумах и пойдём строем писать софт. А то ежели
бы с такой скоростью софт писат, уже windows ха-эр переписали
бы. Два раза.
Это абсолютный бред. ОС на спектруме...А что вы думаете по этому поводу?
Что имеет смысл. Вот взять например спектрум типа пентагон-512.
Или KAY-1204. И TR-DOS. Хоть каевский, хоть 5.13, хоть 6.xx.
Для чего используется память сверх 128-и килобайт? Под RAM-диск.
И если у вас один дисковод 3.5, а другой 5.25, или вообще, ужас,
один дисковод. Или даже если 2 дисковода -- RAM-диск наиполезнейшая вещь. Вот почему: когда вы в Lara Croft разюючили
очередной варез свалившийся из ZX.SPECTRUM вам нужно:
1. запустить unzip и распаковать.
2. запустить, забыл уже как её там, для вытаскивания из SCL.
3. посмотреть, стереть, остальное куда-то скопировать.
Дисковод B: занять Ларой и почтовой базой, дисковод A: мелоном
и ММД. Без рамдиска будешь как проклятый эти диски, нечитаемые,
переформатировать, вставлять туда-сюда. Медленно всё. А с
рамдиском всё делается всего-лишь за 10 минут. Вот для чего нужен
RAM-диск. С НИМ УДОБНО РАБОТАТЬ. На нём удобно держать
временные файлы. Файлы передаваемые от программы к программе.
Он MOVE'ится за минуту. А не за 10. На нём не бывает сбоев. Кроме
сбоев питания.
Но вот есть одна беда. Есть такие, типа кодеры, которые пишут
программы, которые портят этот рам-диск. У меня даже переключатель был, для запуска таких программ. Чтоб верхнюю
память отключать. НО ТОГДА И РАМ-ДИСК НЕДОСТУПЕН!
Вот это проблема.
А почему так происходит? Вот взять, например, ALASM. Ему нужно,
ну банка, ну две-три. Исходники хранить. А он из-за этого рам-диск
гробит. Потому что он не знает что там рам-диск. А даже если и знает, то не умеет им воспользоваться. А было бы нужно всего-то
создать в этом рам-диске файлик, выяснить в какую банку он попал
и ту банку использовать. Налицо плюс: состояние исходника надёжно
сохраняется между запусками аласма. Потому что другие программы,
если они тоже корректно работают с рам-диском, они не будут портить файлик, который был занять аласмом.
Больше того, тот же аласм можно временно прервать, записать
как @ файл на рам-диск, поработать с другой программой, и
вернуться обратно в аласм. Чем не многозадачность? И никто
этот аласм, резидентный в памяти, не испортит. Даже если параллельно два аласма запускать. Потому что они знают --
вот это мой файлик, а вот это чужой. И где какая банка.
Дальше больше. Введём понятие "виртуальный диск" вместо
рам-диска. С пользовательским драйвером. Разумеется для тр-дос.
Что получим? Пользователь *без прошивки ПЗУ* имеет возможность
пользоваться разными программами виртуализации дисков.
Кому-то на винчестер, кому-то в рам-диск, кому-то на CD-ROM...
Где размещается драйвер? В том же рам-диске. Он используется
просто как средство выделения памяти.
Совсем не сложно написать программу, которая бы виртуализировала TRD-файл записанный на CD-ROM...
А это дасть возможность полноценного использования коллекций
софта на спектруме. Не как сечас:
1. CD-walk.
2. Unzip
3. dehobeta или unscl
ТРИ РАЗНЫХ ПРОГРАММЫ. И хорошо, если это не коллекция славки
калинина, где всё исключительно в *.RAR.
Многозадачность опять же. Это не означает ПАРАЛЛЕЛЬНОГО
ИСПОЛНЕНИЯ. Кнопка Magic. Во-первых к ней тянуться, во-вторых
она не всегда корректно срабатывает. Это может быть и хорошо
(я имею ввиду NMI) для программ с защитой. Но плохо для
обычных таких программ, в которых стек портится. Есть решение.
ПРОПАТЧИТЬ ПЗУ, функцию RST #38. Чтоб, например, нажатие
SS+CS+Space (SS+BREAK) срабатывало как БЕЗОПАСНЫЙ MAGIC.
С определяемой пользователем функцией. Из того же RAM-диска. НАжал SS+BREAK, из рам-диска запустилась специальная
программа. Она может, например, записать в тот-же рам-диск
сжатый дамп памяти и вызвать boot. Конечно же из рам-диска.
ПОЛЬЗОВАТЕЛЬ ОДИН РАЗ ЗАГРУЖАЕТ В РАМ-ДИСК САМЫЕ
НУЖНЫЕ ПРОГРАММЫ И ПОТОМ работает быстро!.
Адаптацию существующих программ, портящих какую попало
память. Да, это проблема. К счастью, таких программ относительно
мало. И они или запускаются в 128-режиме. Или их можно пропатчить для выделения банок из рам-диска.
Но самое важное, что я хотел сказать -- каждый раз когда разговор
заходит о всяких там ОС начинают изобретать всякую херню. ZX-Windows, ZX-Linux, окна, мыши, ядра, "таскменеджеры". А хрен
ли с них толку, если я хочу в аласм код писать под этим всем?
А вот элементарная вещь -- рам-диск. Это же готовый менеджер
памяти. И вообще очень удобная штука. Без неё спектрумом пользоваться вообще нереально. Только если нет SMUC.
Впрочем, о чём тут писать. Писюканцы-эмуляторщики ниасилят.
Посидели бы за реальным недельку...




Ответить с цитированием