Почему Linux «Unix-like», если его ядро ​​монолитно?

Насколько я понимаю, часть идентичности Unix заключается в том, что она делегирует работу с микроядрами для высоко модульных файловых процессов. Итак, почему Linux по-прежнему считается «Unix-Like», если он отклоняется от этого подхода с помощью монолитного ядра?

  • Как Node.js / модуль кластера передает новые соединения из процесса master / parent, дочерних процессов?
  • Подключение к D-Bus в сетевом пространстве имен
  • Как проверить упавшие пакеты на процесс / сокет, когда буфера сокета переполняется для сокетов домена UNIX?
  • Используется ли Unix бухгалтерами и другими не-программистами в AT & T в 70-х и 80-х годах?
  • Являются файлами UNIX для интернет-сокетов?
  • Как программы UNIX взаимодействовали друг с другом, до изобретения трубы?
  • потолочные разъемы в linux
  • Почему существует * Когда упоминается Unix по всему Интернету?
  • 2 Solutions collect form web for “Почему Linux «Unix-like», если его ядро ​​монолитно?”

    Я считаю, что ответ кроется в том, как вы определяете «Unix-like». Согласно записи wikipedia для «Unix-like», стандартное определение не похоже. 1

    Unix-подобная (иногда называемая UN * X или * nix) операционная система – это та, которая ведет себя аналогично системе Unix, но не обязательно соответствует или сертифицирована для любой версии спецификации Single UNIX.

    Нет никакого стандарта для определения термина, и существует некоторая разница во мнениях относительно степени, в которой данная операционная система «Unix-like».

    Термин может включать бесплатные операционные системы с открытым исходным кодом, разработанные Bell Bells Unix или предназначенные для эмуляции его функций, коммерческих и служебных атак и даже версий, основанных на лицензионном исходном коде UNIX (который может быть достаточно «Unix-подобным» «пройти сертификацию и иметь товарный знак« UNIX »).

    Вероятно, самая очевидная причина заключается в том, что UNIX и MINIX являются предшественниками Linux, вдохновляя его создание. 2

    Торвальдс начал разработку ядра Linux на MINIX, а приложения, написанные для MINIX, также были использованы в Linux. Позже, Linux созрел и дальнейшее развитие ядра Linux произошло на Linux системах.

    Линус Торвальдс хотел назвать свое изобретение Freax, портманто «бесплатно», «урод» и «х» (как намек на Unix).

    Независимо от того, является ли система монолитной или микроячейкой, похоже, не рассматривается при вызове операционной системы «Unix-like». По крайней мере, не так часто, как система совместима с POSIX или в основном совместима с POSIX.

    «Путь UNIX» действительно относится к опыту пользователя. Небольшой набор утилит можно комбинировать для создания эффективной командной строки операционной системы. В связи с этим утилит операционных систем никоим образом не являются «особыми» или имеют силу за пределами программ, которые вы можете написать сами.

    Это сложный момент, чтобы сделать эти дни, поскольку UNIX был настолько успешным в этом аспекте, что стал тем, как ожидается, что операционные системы представят свои интерфейсы командной строки. Это лучше всего иллюстрирует встречный пример: вот как сделать cp a.txt b.txt на мэйнфрейме IBM:

     //COPY JOB ,CLASS=E,MSGCLASS=X,NOTIFY=&SYSUID //cp EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSNAME=a.txt,DISP=SHR //SYSUT2 DD DSNAME=b.txt,DISP=(NEW,CATLG),UNIT=SYSDA 

    Это даже не копирует все типы файлов.

    UNIX сделала ряд предположений, которые упрощают удобство использования за счет производительности. Файловые каналы 1 (stdin), 2 (stdout) и 3 (stderr) идут к терминалу и от него, удаляя большую часть шаблона из JCL выше. Файловая система поддерживает один тип данных – байты – и один режим доступа – последовательный (хотя указатель, в котором последовательные данные могут быть прочитаны или записаны, может быть перемещен для реализации своего рода «произвольного доступа»). Это означает, что системные утилиты должны иметь дело только с одним типом файла и одним типом данных для всех файлов и типов данных. Файловая система не требует предварительного выделения. Добавление файлов в каталог (например, «каталог дисков» на мэйнфреймах IBM) происходит автоматически, если имя файла известно операционной системе.

    Эти предположения были настолько успешными, что в наши дни мы даже не задумываемся. В то время как в то время они оказались бы расточительными – представьте себе накладные расходы файловой системы, которая заранее не указала максимальный размер файла.

    Но UNIX не останавливалась на достигнутом. Он продвигал подход «инструментария» к системным утилитам. IEBGENER мэйнфрейма может печатать файлы, изменять поля в записях, записывать записи, создавать пустые записи. Напротив, в UNIX cp копирует файлы, cat содержит содержимое файла, вырезает поля для ручек. Существует четкий синтаксис для наложения команды stdout команды на stdin следующего файла, все на одной конечной линии. Используя этот синтаксис «pipe» и эти небольшие команды, мы можем делать все, что может сделать IEBGENER. И то, о чем не мечтали авторы IEBGENER.

    В этом году Керниган и Плаугер писали влиятельную книгу об этом подходе – программные инструменты – и это действительно первое изложение «пути UNIX». Керниган и Пайк повторили этот подход в своей книге 1984 года «Программная среда UNIX» .

    Linux и Unix - лучшая ОС в мире.