Реально уже давным-давно есть vTRDOS, который перехватывает все используемые криворукими хуцкерами точки и позволяет разместить в верхней памяти произвольный драйвер. Только всем пофиг.
Вид для печати
По-моему, всё очень просто.
Если некая система безальтернативно оперирует файлами на диске и, собственно, для этого предназначена - она имеет право называться дисковой операционной системой, безотносительно сложности файловой системы, в рамках которой она оперирует.
Что касается SPECTRUM BASIC 48... Давайте, представим себе, что кассетный магнитофон - это такой странный дисковод, а кассета - такая странная дискета. Тогда всё станет ясно.
На CP/M то же нет BAD-секторов. (По крайней мере в том, что видел я.) Но можно создать файл занимающий поврежденные блоки. Сам TRDOS этого не делает, но и в MSDOS стандартный SCANDISK работает насколько хреново, что все пользовались Norton Disk Doctor.
Результатом работы. Пользовательская программа не может вызвать произвольную функцию драйвера, не может прочитать его ПЗУ, не может обратится к железу драйвера. А делая переход по определенную адресу, в адресное пространство подключается код драйвера. Я писал уже.
Ну ты же знаешь, какую команду надо выполнить после удаления?
Это уже называется хак. И такие программы идут лесом.
В Windows 95-98 можно загрузить свой код в ядро операционной системы из удаленного компьютера используя KAHT. И я это использовал для управления своей локальной сетью. В Windows 2000+ это уже не работает.
Вот видишь, предусмотрено программное прерывание для расширения.
А как расширяли MSDOS ?
Посадили на MSDOS операционную систему Windows 3.x.
Потом посадили на Windows 3.x расширение Win32s.
Потом посадили на Win32s операционную систему Windows 95-ME.
И эта башня работала! Если надо было нарисовать картинку, то 32-х битный Windows ME обращался к Win32s, тот обращался к 16-битному Windows 3.x.
А если не было дисковых драйверов (режим совместимости кажись), то обращение спускалось по этой цепочке прямо до MSDOS и BIOS.
В CP/M создается скрытый файл, в который собираются плохие блоки. В MS-DOS и форматтер и скандиск и другие утилиты делают. А в трдос это в принципе невозможно. Неужели непонятно?
И пользовательская программа лего это сделает. Защита памяти в x86 работает куда сложнее.
А зачем? Знаю конечно. Но это уродство, тупое уродство.
Нет. В ПЗУ бейсика rst 8 используется для сокращения вызова (1 байт вместо 3), из самого же ПЗУ бейсика. А интерфейс-1 использует аппаратную схему, которая переключает часть ПЗУ если мы выполняем код с адреса 8. Ничего нигде не предусмотрено. Это костыль!
Как обычно, от версии к версии. Винды тут ни при чем. Дописывали функционал, расширяли структуры. До версии 3.30 не было понятия IOCTL, с версии 3.30 появилось. С версии 2 появились подкаталоги и handle ориментированный ввод вывод. И т.д.
Win32s для Win3.x принципиально не совместим с API Win32. Написано в любом руководстве. Более того, Win32s был создан для Win 3.x уже после 95-й. И при установке этого расширения на Win3.x об этом явно говорится.
Вот так. А трдос развивать невозможно. Нет в трдосе даже понятие "драйвер". Она сама просто как драйвер, с точками входа. Читать писать секторы. Ну чуть с каталогом ещё работает и всё. Какая же это ОСь? Что смеяться то?
---------- Post added at 12:43 ---------- Previous post was at 12:40 ----------
Хоть и начали свой путь как надстройка над дос. Это просто отдельная тема.
Возможно, создав файл и назвав его BADSECTOR.
MSDOS использует реальный режим без какой либо защиты.
Писали же про vTRDOS. Вы можете написать свою прошивку TRDOS, которая бы работала с FAT-ом и была бы совместима по точкам входа. Добавить еще точку входа для работы с хендлами (OpenFile, CloseFile, SeekFile, ReadFile, WriteFile). Тем более, что у TRDOS не одна версия прошивок.
Будет еще одна.
Я всё пытаюсь выяснить ваш критерий операционной системы. ТРДОС не операционная система, потому что:
1) Она не загружается с дискеты, а зашита в ПЗУ.
2) Нет стандартных средств работы с хендлами. (Можно сделать расширение подгружаемое в ОЗУ)
3) Нет стандартных средств работы с битыми дискетами. (Можно, но файлы до BAD-сектора лучше не удалять)
4) Иногда приходится дефрагментировать диск перед записью новых файлов.
Но ИМХО из за этого TRDOS не перестает быть OC.
У MSDOS то же:
1) Есть версия ROM-DOS
2) По сравнению с UNIX или Windows 2000, её файловая система детский лепет.
3) Повреждение области BOOT, FAT или корневого каталога фатально.
4) Иногда приходится дефрагментировать диск, иначе все тормозит.
Опппа! Это что то новое)))) А если у нас 10 битых секторов, что прикажете делать?
VTRDOS что делает? Как работает? из прошивки трдос максимально все выкинуто, освобождено место. Эмулирется всё та же дискета. Или образом в ОЗУ или напрямую читая секторы с винта. Про поддержку ФАТ а тком режиме не слышал, слышал только что им нужен непрерывный файл, т.е. ни о какой поддержке ФАТ не может быть и речи. Хотя это всё можно сделать. Но это не равзитие ТРДОС. Неужели непонятно? Это придумывание новых и новых костылей. Что бы хоть как то можно было работать с винта.
Это я не говорил, говорил что это осложняет дело с обновлением.
В текущем варианте нельзя. В том виде как есть сама трдос. Можно придумать мегакостыль, что бы наша программа, которая к трдосу не имеет никакого отношения, работала бы с ФАТ устройствами, и мы делаем среду эмуляции дискеты 640К, и подсовываем это все трдосу. Ну не смешно ли? Не в трдос развивается АПИ (которого кстати нет), не меняется структура системы, а приделывается "нечто", что позволяет обмануть трдос, что бы программу ее юзающие (по сути как драйвер флоппи диска) стали работать.
Ну уж не детский лепет, хотя конечно, ФАТ это продукт 70-х... Придуманный лично билли для дискового бейсика.
Юниксовые системы аналогично лего слетают (при случае). И NTFS не 100% надёжна. Конечно, они более продвинуты чем ФАТ, развитие не стоит на месте. Но и ФАТ нельзя сбрасывать со счетов. А вот распределение диска ТРДОС ну никак на ОСь не смахивает, детская подделка. При том сделанная в 80-х уже. И более убогая, чем уже существовавшие системы.
TRDOS это некая прослойка, которая позволяет юзать вместо ленты дискеты. Притом сделанная наспех, не продуманная. Ничего общего с ОСями не имеющая. Нет таких понятий как:
1)Файл. (есть дамп выгруженного ОЗУ и всё, при том ограниченный 255 секторами);
2)ФС. (формат записи trdos вряд ли можно назвать файловой системой);
3)Драйвер;
4)Ядро ОС;
5)шелл или CLI.;
6)Модули;
7)Управление памятью (выделение памяти для программ по требованию);
8)Резиденты;
9)Символьный ввод вывод.
---------- Post added at 13:47 ---------- Previous post was at 13:46 ----------
Нет. Win 9x использует ДОС только на этапе загрузки. Для ввода/вывода ДОС не вызывается. Адресное пространство - 4Гб.