Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 14:02

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: оригинальные решения в различных операционных системах.
СообщениеДобавлено: Ср июн 18, 2008 00:33 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Собственно, интересно, какие именно оригинальные решения по вашему применимые в ээ гипотетической ФортОС применимы из других операционных систем. Желательны пояснения и обоснования. Да, желательно не затрагивать вопросы графического интерфейса и прочих красивых примочек.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 18, 2008 01:41 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
решения? Вот в юникс-подобных (FreeBSD и т.п.) опционально собирается ядро, для Форта, где всё из кусков - это легко

_________________
понимаю некоторую бестолковость некоторых вопросов


Последний раз редактировалось вопрос Ср июн 18, 2008 08:49, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 18, 2008 01:50 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
решения? Вот в юникс-подобных (FreeBSD и т.п.) опционально собирается ядро, для Форта, где всё из кусков - это легко

угу, не так уж и легко, так как нормального механизма для этого дела пока не существует, имеющиеся [IF] [ELSE] и т.п. не очень удобны, и не всегда применимы, нужно придумывать более удобные механизмы.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 18, 2008 05:24 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 07, 2006 11:38
Сообщения: 279
Откуда: Slavyansk, Ukraine
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
ОС Solaris. Введение: http://sunos.nnm.ru/os_solaris_vvedenie

_________________
Банзай!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 19, 2008 11:19 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
А у нас будут вложенные прерывания или последовательные?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 24, 2008 16:24 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
ну, мне, например, нравится procfs, а так-же представление оконной "подсистемы" иерархией каталогов и файлов в plan9 (у них там смена парадигмы, вместо "всё суть файл" они перешли к "всё суть каталог"). или использование postscript в next в качестве стандартного дисплейного терминала.

как это всё применимо к форту - я не знаю.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 24, 2008 20:39 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
mOleg писал(а):
вопрос писал(а):
решения? Вот в юникс-подобных (FreeBSD и т.п.) опционально собирается ядро, для Форта, где всё из кусков - это легко

угу, не так уж и легко, так как нормального механизма для этого дела пока не существует, имеющиеся [IF] [ELSE] и т.п. не очень удобны, и не всегда применимы, нужно придумывать более удобные механизмы.

Можно некоторые слова просто не компилить или компилить их другие варианты а сценарий компиляции читать из файла
http://www.freebsd.org/doc/ru_RU.KOI8-R ... onfig.html

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 25, 2008 02:12 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Да, с блоками в этом плане проще...
Но файлы удобнее для использования - длина любая...
И неудобнее - поддерживать несколько частей исходника, накладные расходы файловой системы...

А вот если части исходника хранить в какой-то структуре данных - например, в БД - то не важно, как они выглядят для пользователя - хоть как словари и слова, хоть как папки и файлы... ;)

Заодно можно сделать кодирование и сжатие. А если хранить прекомпилированные исходники (как в ColorForth), то можно получить и увеличение скорости компиляции... ;)

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Inferno
СообщениеДобавлено: Ср июн 25, 2008 17:25 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 07, 2006 11:38
Сообщения: 279
Откуда: Slavyansk, Ukraine
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
OS Inferno (Fourth Edition): http://www.vitanuova.com (угу, просто Fourth-редакция, а никак не Forth!)

Некоторые особенности архитекруры:
(взято с http://www.habrahabr.ru/blog/os_inferno/12905.html)
Код:
Один из краеугольных камней архитектуры Inferno - юниксовая идея с файлами-устройствами доведена до предела: в Inferno файлами представлено абсолютно всё. Например, в Inferno нет понятия "сокет".
В Inferno файлами представлены не только устройства (аналог /dev/) и процессы (аналог /proc/), но и такие вещи как DNS resolver, сокеты и переменные окружения (environment) (список не полный :)).

Код:
С переменными окружения работа идёт аналогично - есть каталог /env/, файлы в котором это имена переменных, а содержимое файлов - значения переменных. Соответственно создание/удаление файла это создание/удаление переменной окружения.
Для доступа к информации по процессам используется каталог /prog/. Причём абсолютно все операции выполняются через его подкаталоги и файлы - в том числе отладка (т.е. не нужен сискол POSIX ptrace) и получение информации о статусе процесса (т.е. не нужны сисколы wait/waitpid).
Работа всех этих виртуальных файлов обеспечивается разными средствами - например /net/tcp/ и /env/ реализованы через драйвера Inferno, а DNS ресолвер /net/cs реализован обычным приложением.

Код:
Такой подход позволил упростить множество вещей:

    * для работы с сетью достаточно обычного файлового API, отдельные функции POSIX (socket, connect, bind, listen, etc.) стали не нужны
    * аналогично, нет специального API для работы с переменными окружения (clearenv, putenv, setenv, getenv, etc.)
    * поскольку протокол Styx позволяет расшаривать файлы по сети, то можно делать, например, следующие трюки:
          o если машина в локальной сети, не имеющая реального IP-адреса, подмонтирует себе каталог /net шлюза в инет, то она получит прямой выход в инет без необходимости настраивать на шлюзе штуки типа NAT или маскарада
          o если на удалённый сервер подмонтировать по сети файлы /dev/cons, /dev/keyboard и /dev/pointer с рабочей станции, то на сервере можно будет запускать графические приложения которые будут управляться с терминала рабочей станции - и всё это без специального протокола а-ля X-Window!.. плюс получаем встроенную (в Styx) авторизацию, аутентификацию и шифрование
          o если на локальную машину подмонтировать каталог /prog (аналог /proc) с удалённого сервера, то можно будет локальным отладчиком отлаживать процессы выполняющиеся на удалённой машине - и отладчик об этом даже знать не будет, потому что он просто работает через файлы в /prog

Код:
"Правильная" программа в Inferno должна писаться не в стиле традиционных юниксовых утилит (читаем STDIN, пишем STDOUT), а в стиле файлового сервера Styx. Иными словами входом/выходом у такой утилиты должен быть не STDIN/STDOUT, а виртуальный файл или каталог с файлами а-ля /net/cs или /net/tcp/.
Это позволит очень легко строить распределённые системы. Например, предположим в нашем проекте есть модуль который что-то считает. Он реализован в виде отдельного процесса, который экспортирует файл ./calc, в который можно писать задания и считывать из него результат. Если возникает потребность ускорить вычисления перенеся эту подзадачу на отдельный, более мощный сервер, то достаточно двух шагов: запустить этот модуль на другом сервере; подмонтировать файл ./calc с этого сервера. И всё - остальная часть проекта даже не заметит что этот модуль выполняется на другом сервере!

Код:
Пространства имён (namespace) в Inferno аналогичны тем, которые используются во многих языках программирования... только в Inferno они применяются к файлам и каталогам.
Фактически привилегии и возможности программы под Inferno ограничены тем, к каким файлам (ибо любой ресурс = файл) она имеет доступ. Манипулируя namespace можно для каждого приложения создать свою, изолированную (а-ля chroot) среду, со своими устройствами в /dev (как выше в примере с удалённым терминалом), со своими сетевыми картами в /net (как выше в примере с NAT), etc.
К примеру, в винде есть такая фича - вы логинитесь с любого компа в сети и получаете СВОЙ рабочий стол и СВОЙ каталог "мои документы". В Inferno вы, залогинившись с любого терминала и имея доступ к своим ключам/сертификатам можете манипулируя namespace создать 100% ту же самую среду, которую вы имеете на своём основном компе. И для реализации этого никаких специальных "фич" в Inferno нет - обычные команды mount, bind и протокол Styx.

_________________
Банзай!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 25, 2008 20:14 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Kamikaze писал(а):
OS Inferno (Fourth Edition)

действительно интересно!

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 25, 2008 21:53 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
заметка для изучения: ос на основе экзоядра

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 25, 2008 23:23 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
а это один из новых проектов ОС 3OS

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 26, 2008 00:56 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
mOleg писал(а):
а это один из новых проектов ОС 3OS

Все проекты новых Осей отмечают всё те же недостатки у уже существующих ...

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 09, 2008 16:03 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2006 08:55
Сообщения: 30
Откуда: Мелмак, Гидра Кентавра
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
В Oberon3 в любом месте рабочего стола выделением прямоугольника появляется новое окно в котором можно писать текст на Oberon-е же (не на sh как в UNIX с KDE). И вот новая программа готова! И никому не надо отказываться от графического режима.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 15, 2008 12:13 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2006 08:55
Сообщения: 30
Откуда: Мелмак, Гидра Кентавра
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Операционнная система :
http://www.memetech.com/
Код:
oiu

Первый принцип: oiu - не unix 
Второй принцип: Нам не нужны никакие файлы
Третий принцип: Нам также не нужны никакие редакторы связей 
Принцип четвертый: Есть одно дерево, ............................................
Принцип пятый: Документация - код


Что-то это мне напоминает ;-)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB