Я уж не помню, когда и где была та дискуссия, ноу да хрен с ней, важно только, что, как я понял, автору сего глупого комментария дали почитать доки, где описаны все уровни системы, а он уперся в книгу, да увидел лишь фигу. По собственной недалекость, видимо, А как еще интерпретировать то, что в описании уровней системы, которые имеются как и в любой ОСи, он их не заметил КАК КЛАССА? Впрочем, не будем плохо думать о человеке. Возможно ему дали ссылку не на то описалово. Поэтому дам ссылку я:Есть ли разделение на функциональные уровни (в CP/M & MS-DOS это: уровень интерепретатора команд (command.com или Norton), потом уровеь BDOS, ниже уровень BIOS. Между ДОС и биос есть подуровень загружаемых драйверов устройств (в msdos) - спец система, позволяющая нам интегрировать драйверы). Что есть в тазис? Ответ - НИ ЧЕ ГО! Пустота. Бред сивой кобылы на пустом месте. Имитация системы, имитация нортона, что бы можно было бы грузить блоки с дискеты (ну сейчас винт прикрутили, за почти 20 лет делания то можно уже было).
http://vtrdos.ru/book/ISD_REST.ZIP
Конкретно в архиве надо смотреть файл "Рестарты". Там описаны все уровни и их функции, начиная с самого нижнего и базового ( располагающегося выше всего в ОЗУ) и по очередности далее вниз в ОЗУ по принципу "матрешки". Причем очень походе на принцип BIOS-BDOS-CCP ЦПМки.
Отвечаю ядро системы разбито на иерархическую систему уровней. Стандартно используется 5 (от 0 до 4), а максимально из может быть 8 (т.е. можно подключить еще тру уровня пользователя). Таковые временные "юзерские" уровни временно подключают, насколько я знаю, текстовый редактор и базы данных. Повторюсь, любой, нет, ЛЮБОЙ (в т.ч. и эти пять системных уровней) может быть удален и заменен на уровень собственного написания средствами системы. То есть наращивать систему таки можно "как по горизонтали, так и по вертикали".Повторяю вопрос, обращаю его апологету АТМ и тазис: Где есть структура системы. Где уровни? Где api? можно ли наращивать систему (как по горизонтали, так и по вертикали?), есть ли там понятие процесса? и т.д. и т.п.
И поэтому, кстати, неправда ваша, а наоборот большая ложь в том, что:
Винт к iS-DOS "прикрутили" тогда же, в первые годы существования системы (TASiS как дальнейшего развития ОСи еще не было, но в плане поддержки внешних устройств TASiS ничего от исдоса не отличается). Вот только не "прикрутили", так как это не какая-то намертво прошитая в ПЗУ тырдосина, а просто написали подгружаемый драйвер (как и любой другой драйвер) под разработанный IDE-контроллер. Под контроллер АТМ действительно до последнего времени драйвер написан не был. НУ а причем здесь система?ну сейчас винт прикрутили, за почти 20 лет делания то можно уже было
Итак, возвращаемся к уровням. Каждый уровень обладает своим уникальным (и соответствующим функционалу уровня) набором функций. Их еще называют "рестартами". Тут уже придирались к этому слову, но называются они так, потому что вызываются через единую точку входа по RST 16 по уникальному номеру функции. Что из себя представляет API системы? Всего функций может быть до 256 - от #00 до #FF. Номер передается в регистре C. Различные дополнительные параметры, адреса таблиц и прочее и прочее - в других регистрах. Также в ответ функции в регистрах возвращают полезную информацию, флаги и прочее.
Структура адресного пространства при работе IS DOS.
0-й уровень ядра 65535
1-й уровень ядра
...
7-й уровень ядра
область драйверов и резидентных задач
область каналов $Stop
виртуальный диск (КЭШ)
программа пользователя $Utop
переменные TR DOS 23900
переменные BASIC 23746
область экрана 23552
ПЗУ BASIC SPECTRUM 48K 16384 (или неизменяемая часть уровней в iS-DOS chic)
За каждым уровнем системы резервируется по возрастающей по 32 рестарта. Каждый уровень имеет стандартный заголовок и таблицу рестартов, что очень удобно при из "прикручивании" и "откручивании". Каковы же основные уровни системы? -
0-ой уровень, он же "DOS.SYS"
Нижний уровень системы в iS-DOS (рестарты с #00 по #1F) работает с кэшем, блочными и символьными устройствами каналами и прерываниями. Этот уровень не знает ни о файлах, ни о командных строках, ни об оконной технологии. Всем этим занимаются более высокие уровни.
Именно здесь находится Супервизор ядра - программа, расположенная в нулевом уровне и обрабатывающая инструкции RST 16. Она анализирует содержимое регистра C и либо выполняет соответствующую подпрограмму ядра, либо - в случае ошибки - возвращает управление программе, вызвавшей RST 16, помещая код ошибки в регистр A и устанавливая флаг C в регистре состояния процессора. В TASiS в этом уровне лишь немного была изменена обработка прерываний. Все остальное осталось без изменений.
Этот уровень непосредственно работает с драйверами внешних физических устройств и является примерным аналогом уровня BIOS в системе CP/M.
1-й уровень: ФАЙЛОВАЯ СЛУЖБА (DUD.SYS) -
рестарты с #20 по #3F.
Этот уровень охватывает весь возможный основной спектр работы с файлами на логическом устройстве и является приблизительным аналогом уровня BDOS в системе CP/M. В TASiS этот уровень не менялся.
2-й уровень: ИНТЕРПРЕТАТОР КОМАНДНОЙ СТРОКИ COM.SYS -
рестарты с #40 по #5F.
Рестарты 2-го уровня системы занимаются в основном обработкой текстовых командных строк, из которых состоят batch-файлы, которые подаются в строковом мониторе mon.res (mon.com) и которыми запускаются любые командные файлы из оболочки при отработке нажатых клавиши <Enter> (строки пишутся в файле Q:extent.txt), клавиш <3> и <H> (extview.txt и extprint.txt в каталоге Q:SHELL\ соответственно) и, наконец, всех остальных клавиш, строки для которых описаны в файле Q:SHELL\extkey.txt. Обрабатывается командная строка в специальном системном буфере уровня. Размер буфера 128 байт. Этот уровень является приблизительным аналогом CCP в системе CP/M. В TASiS этот уровень не менялся.
3-й Уровень WIND.SYS: "Оконная система IS-DOS"
рестарты с #60 по #7F.
Уровень WIND.SYS содержит рестарты, обеспечивающие работу с окнами, строками символов, курсором и т.п. При помощи этих рестартов можно организовать вывод информации на дисплей, оформление рабочего экрана, а также организовать диалог с пользователем при помощи строкового редактора. Другими словами этот уровень - работа с текстом, рамками, атрибутами и прочим.
Этот уровень частично (но только очень частично) является аналогом CCP, а частично - той части BIOS, что отвечает за физический доступ к "железу" видеопамяти. С экраном взаимодействует через подгружаемые драйвера/шрифты/таблицы перекодировки.
Именно этот уровень был существенно переработан при написании OS TASiS.
4-й Уровень ОБОЛОЧКА (SHELL.SYS):
рестарты с #80 по #9F.
Тот самый "Нортон".
Это самый верхний уровень стандартной конфигурации системы iS-DOS. Выше него могут устанавливаться дополнительно еще три. Обычно это два уровня баз данных или уровень отладчика ВиОС.sys, 7-ой уровень временно занимается текстовым редактором. Замечу при этом, что уровни iSDOS не должны обязательно находиться в памяти один рядом с другим. Редактор, например, содержит 7-ой уровень прямо в себе, т.е. в файле edit+.com, и всего лишь помещает адрес своей таблицы рестартов в таблицу уровней, находящуюся в 0-ом уровне (DOS).
4-ый уровень, или уровень SHELL, содержит рестарты, позволяющие передавать управление нортонообразной оболочке, вызывать некоторые из ее функций, а также включает такие полезные подпрограммы, как редактирование десятичного числа и меню. Программы, не использующие данные функции, могут временно снимать верхние 2 уровня (3-ий и 4-ый) для увеличения свободной памяти в iSDOS Classic. Так поступает, скажем FORTH. Так работал копировщик copy_all.com. Обе программы запускались из bat-файла, в самом начале которых вызывалась программа set.com, снимавшая все лишние резиденты и эти 2 уровня. На выходе эти уровни можно было поставить обратно. Но, поскольку 4-й уровень (shell.sys) после установки необходимо инициализировать программой shell.com, то проще обычно перезагрузиться. В системе iSDOS Chic необходимость снимать верхние уровни отпала, да и выигрыш там был бы при этом очень небольшим - всего 1063 байта shel.sys + 764 байта twira.sys. Их адреса Вы можете посмотреть сами в программе show.com. Да и панелью пользоваться удобно во многих программах. Работать с отмеченными файлами, например, или открыть какой-нибудь файл, не выходя из программы, с помощью панели куда удобнее слепого ввода его пути и имени.
Этот уровень также был доработан при написании TASiS. Прежде всего, для вывода панелей и системных сообщений не на экран с текствой сеткой 42х24 как в iS-DOS, а 80х25. Также добавлены за счет задействования неиспользуемых рестартов менеджер страниц ОЗУ, работа с палитрой и экранными режимами.






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