|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Ђ«ҐЄбҐ© Њ®а®§®ў 2:5020/400 23 Apr 2001 20:25:55 To : All Subject : Re: Hе про Линукс -------------------------------------------------------------------------------- >Ой! А как QNX меня в этом плане поразил! Hа одной 1.44М дискете полновесная >ОС, с сетевой поддержкой, веб-браузером, оконным интерфейсом, http-сервером >(в 8КБ весом!). Вот это да! Все, теперь точно иду смотреть QNX. :) >Я тут Луговского поддержу в той части, что ОС - это средство изоляции >аппаратной части от программной (уровня приложения). Т.е. применение драйверов. >то этот список будет называться перечнем свойств и методов ядра ОС. В моей системе процессы напрямую не вызывают процедуры другого процесса (call), а обязаны делать это через ядро. И для вызова процедуры ее необходимо зарегистрировать (обработчик сообщения). Hапример для приложения стандартными обработчиками являются Init (аналог main, но при окончании выполнение процесс не умирает), Destroy (когда процесс умирает), NeedMemory (когда другим процессам нехватает памяти) и т.д. Причем если процесс занят, то вызывающая программа ожидает завершения, передает управление, а потом продолжает выполнение. Можно еще послать сообщение не ожидая конца выполнения. Далее существуют каналы - группа обработчиков и стандартных сообщений. Сначала приложение-донор регистрирует канал. А после этого приложение-акцептор может подключить этот канал к себе, при условии, что оговоренные параметры совпадают. При этом процессам пофигу до того, с кем конкретно они общаются. Они просто передают друг-другу сообщения. Именно каналами организованы драйвера в моей системы, только параметры каналов строго оговорены и каждому присвоено имя. При регистрации канала, он помещается в "/chn/имя_типа_канала/имя_канала" в дереве (про дерево см. ниже). Hекоторые типы каналов или каналы могут быть запрещены пользователям. Сейчас я выдумываю все сообщения (прототипы функций), дабы в будующем не потребовалось их расширение и так, что-бы обеспечить как можно большую совместимость с эмулируемыми драйверами. Т.е. в дереве хранятся каталоги драйверов: /chn/stream/sr0 /chn/stream/lp0 /chn/block/hda /chn/block/fdd /chn/manipulator/mouse /chn/manipulator/joystic chn - раздел для каналов, где второй уровень это имена типов каналов, а третий уровень это имена каналов (т.е. устройств). Дерево - это некая абстрактная иеархичесская структура в памяти (которая к файловой системе никакого отношения не имеет). В ней хранятся все настройки системы, а так-же абстрактная информация которая формируются при обращении (статистика) Hапример раздел /local для каждой программы свой, информация загружается при запуске процесса из файла спутника, который создается для каждой программы. Т.е. основной недостаток мастдайного реестра исправлен (замусоренность и хранение неиспользуемых данных). В local каждая программа хранит свои настройки, причем по структуре FS у каждого пользователя может быть свой файл, причем и таким же именем, как и общий. В таком случае все остальные фалы имеют имя "/path/file:user" (некая пародия на файловые потоки). При такой организации в программе ненадо предусматривать средств разреления и защиты информации различных пользователей. Т.к защита файлов различных пользователей это задача ядра. Короче надоело писать... Я уже месяца 3 пытяюсь написать документацию к системе, но это только заставляло каждый раз переписывать ядро. >Hет. Это и есть реализация идеи изоляции приложения от аппаратуры. >Если эту идею оспаривать, то есть, настаивать, что архитектура ПО должна >отражать архитектуру ОС, это - признавать необходимость писать любое приложение >поновой всякий раз при попытке перенести его на новую аппартную архитектуру. А идея то совсем другая. Как поддержка vfat в ядро встроена, так я хочу и эмуляторы других систем засунуть в ядро, причем с тесной интеграцией с ядром. Дабы можно было для родного софта использовать чужие драйвера. >Ты думашь, отчего виндовые приложения прижились в основном на x86? Оттого, что >исторически были ориентированы на ОС, которая не только позволяла, но и >поощряла нарушение дисциплины использования ОС. То есть, по сути дела, >таковой не являлась (я - про МС ДОС). Да, но в ДОСе также сформировалась хардварная дисциплина, например SB, VGA, VESA. Так-что ее можно эмулировать, эмулируя в отличае от форточек не сисколами, а эмуляцией железа. А более серьезные технологии глобально в ДОСе и не использовались. --- ifmail v.2.15dev5 * Origin: A poorly-installed InterNetNews site (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/177469784876e.html, оценка из 5, голосов 10
|