User Tag List

Показано с 1 по 10 из 348

Тема: Проект ОС

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #37

    Регистрация
    16.01.2005
    Адрес
    Москва
    Сообщений
    1,992
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть ли разделение на функциональные уровни (в CP/M & MS-DOS это: уровень интерепретатора команд (command.com или Norton), потом уровеь BDOS, ниже уровень BIOS. Между ДОС и биос есть подуровень загружаемых драйверов устройств (в msdos) - спец система, позволяющая нам интегрировать драйверы). Что есть в тазис? Ответ - НИ ЧЕ ГО! Пустота. Бред сивой кобылы на пустом месте. Имитация системы, имитация нортона, что бы можно было бы грузить блоки с дискеты (ну сейчас винт прикрутили, за почти 20 лет делания то можно уже было).
    Я уж не помню, когда и где была та дискуссия, ноу да хрен с ней, важно только, что, как я понял, автору сего глупого комментария дали почитать доки, где описаны все уровни системы, а он уперся в книгу, да увидел лишь фигу. По собственной недалекость, видимо, А как еще интерпретировать то, что в описании уровней системы, которые имеются как и в любой ОСи, он их не заметил КАК КЛАССА? Впрочем, не будем плохо думать о человеке. Возможно ему дали ссылку не на то описалово. Поэтому дам ссылку я:
    http://vtrdos.ru/book/ISD_REST.ZIP
    Конкретно в архиве надо смотреть файл "Рестарты". Там описаны все уровни и их функции, начиная с самого нижнего и базового ( располагающегося выше всего в ОЗУ) и по очередности далее вниз в ОЗУ по принципу "матрешки". Причем очень походе на принцип BIOS-BDOS-CCP ЦПМки.

    Повторяю вопрос, обращаю его апологету АТМ и тазис: Где есть структура системы. Где уровни? Где api? можно ли наращивать систему (как по горизонтали, так и по вертикали?), есть ли там понятие процесса? и т.д. и т.п.
    Отвечаю ядро системы разбито на иерархическую систему уровней. Стандартно используется 5 (от 0 до 4), а максимально из может быть 8 (т.е. можно подключить еще тру уровня пользователя). Таковые временные "юзерские" уровни временно подключают, насколько я знаю, текстовый редактор и базы данных. Повторюсь, любой, нет, ЛЮБОЙ (в т.ч. и эти пять системных уровней) может быть удален и заменен на уровень собственного написания средствами системы. То есть наращивать систему таки можно "как по горизонтали, так и по вертикали".

    И поэтому, кстати, неправда ваша, а наоборот большая ложь в том, что:

    ну сейчас винт прикрутили, за почти 20 лет делания то можно уже было
    Винт к iS-DOS "прикрутили" тогда же, в первые годы существования системы (TASiS как дальнейшего развития ОСи еще не было, но в плане поддержки внешних устройств TASiS ничего от исдоса не отличается). Вот только не "прикрутили", так как это не какая-то намертво прошитая в ПЗУ тырдосина, а просто написали подгружаемый драйвер (как и любой другой драйвер) под разработанный IDE-контроллер. Под контроллер АТМ действительно до последнего времени драйвер написан не был. НУ а причем здесь система?

    Итак, возвращаемся к уровням. Каждый уровень обладает своим уникальным (и соответствующим функционалу уровня) набором функций. Их еще называют "рестартами". Тут уже придирались к этому слову, но называются они так, потому что вызываются через единую точку входа по 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. Также добавлены за счет задействования неиспользуемых рестартов менеджер страниц ОЗУ, работа с палитрой и экранными режимами.
    Последний раз редактировалось GriV; 04.09.2011 в 02:27.
    Максагор, NedoPC group
    ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
    [ZX rulezzz 4reva!!!]
    http://atmturbo.nedopc.com
    http://vk.com/atmturbo
    http://maksagor.livejournal.com
    http://moskprf.ru
    [СССР][Коммунизм][КПРФ] ну [ZX], естественно...

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Проект муз. редактора для AY
    от Bulba в разделе Музыка
    Ответов: 36
    Последнее: 09.09.2005, 20:32
  2. AY-LPT проект
    от dhau в разделе Эмуляторы
    Ответов: 2
    Последнее: 24.02.2005, 14:32

Ваши права

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