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

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

  • Как восстановить все потоки (и дети) одного процесса в Linux?
  • в чем разница между кешем страницы и кешем буфера?
  • Каталог / файлы, принадлежащие несуществующему пользователю
  • Идеальное оборудование для ноутбуков GNU / Linux
  • и летнее время
  • Временно изменить время
  • bash: как сохранить состояние при быстрой оценке
  • 1 ГБ огромная страница - Является ли запись происходящей в 1 ГБ кусках?
  • Как создать патч, игнорирующий различия в отступе в коде?
  • Проверьте, работает ли постфикс
  • Новая точка монтирования после каждой перезагрузки
  • Уточнение в отношении поведения сценария оболочки вместе с трубкой
  • 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 - лучшая ОС в мире.