POSIX-совместимость

Everything you can't fit into other forums
  • Я просто скажу, что не явлюсь поклонником файловой системы POSIX (я её даже немного призераю), файловой системы Microsoft и вообще, я не явлюсь поклонником иерархичесчких файловых систем, как и таких понятий как файлы и папки.

    ..bw
  • POSIX (Portable Operating System Interface for uniX) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода. Стандарт разрабатывается консорциумом «The Open Group», формально определён как IEEE 1003, название международного стандарта ISO/IEC 9945. Официальная копия может быть приобретена на сайте ISO.


    И далее на http://ru.wikipedia.org/wiki/Posix http://en.wikipedia.org/wiki/Posix
  • Этот стандарт ориентирован на ОСи, основные части ядра и модули которых написаны на СИ/С++. Кроме того основным режимом работы считается текстовый, а не графический режим. То есть нам это не грозит.
  • Значит, многие юниксовые приложения нам будут недоступны или всё-таки есть выход?
  • выход всегда есть ;)
  • Можно подробнее?
  • Атауальпа, можно сделать как системную надстройку, а потом транслировать в функции Колибри. Можно даже оформить как обычную DLL, правда, без системной поддержки трансляция некоторых функций может оказаться проблематичной.
  • Э ну POSIX стандарт - это стандарт для юникс подобных ОС. Если смотреть в корень то все современные многозадачные ОС посути так или иначе наследуются от UNIX. В том числе и Windows (которая кстати тоже на 100% POSIX совместима). MeOS и колибри соответсвенно тоже черпает в основе основные идеи юникса. Все определения процессы, (потоки из SYSTEM 5) и т.д. очереди, приоритеты, слоты и сигналы, каналы (pipe) и т.д. и т.п. все пришло из юникса посему пожалуй совместимость с POSIX нужна но тогда прийдется практически всю систему переписать с нуля, просто дллами не обойтись тем более что длл на уровне ядра не поддерживаются, API вообще как досовское через прерывания.
  • SHREDER
    API вообще как досовское через прерывания.
    И какое же "API" в UNIX???
  • Через посылку сигнала ядру. Но большинство это не использует, заместь непосредственных сигналлов ядру юзаются С (подавляющее большинство юникс программ на с) библиотеки состав которых кстати определяется POSIX-сом. В Linux например библиотеки включают как POSIX функции так и чисто свои.
  • Насколько я знаю API nix работает на 80h прерывании.
    Винды не POSIX. POSIX это более определенный стандарт нежели просто сходность архитектур. У винды хотя бы нет fork'а, это обламывает 90% серверов nix'а :-).
    Я считаю что подстраиваться под API винды или никсов нестоит. Нужно думать о обратной совместимости, но не господам разработчикам ядра, это точно. У них и так куча вопросов, которые они не могут решить.

    ..bw
  • В винде на уровне NativeAPI есть fork (NtCreateProcess такое позволяет, пример реализации указан в справочнике http://diamondz.land.ru/NativeAPI.pdf). На WinAPI его нет, но в винде наряду с подсистемой Win32 есть подсистема POSIX (posix.exe - в 2k входит по умолчанию, в XP так просто не устанавливается, но всё равно есть).
  • SHREDER
    Через посылку сигнала ядру.
    И как посылаются "сигналы"??? А как библиотеки общаются с ядром? А C? Посвяти.
  • diamond, там все сервера построены на мгновенном создании клона процесса. В win содание процесса очень трудоемкий процесс (извините за тафтологию). И сокеты у винды очень медленные (w2kpro), это не допустимо для nix серверов.

    ..bw
  • Who is online

    Users browsing this forum: Bing [Bot] and 0 guests