Термин «пользовательская область» может относиться ко многим вещам в разных контекстах, но здесь я интерпретирую «пользовательская область GNU» против «пользовательская область BSD» как минимальный набор программ по умолчанию, поставляемых с дистрибутивом.
Основное отличие состоит в том, что эти две области пользователей начинаются с совершенно разного исходного кода. Исходный код кошки GNU Исходный код кошки NetBSD . Только из этой простой в концепции программы вы можете видеть, что кошка NetBSD использует традиционные однобуквенные флаги командной строки. Программы GNU, как правило, имеют однобуквенные флаги, но также имеют параметры --something-long
типа. Программы GNU также имеют тенденцию к совместимости с POSIX.
Эта разница в исходном коде придаст двум пользовательским областям различное поведение в некоторых случаях.
Похоже, что NetBSD (по крайней мере) использует свою собственную версию libc, стандартную библиотеку C. Я перебираюсь сюда, но libc и динамическое связывание странным образом связаны между собой. Опять же, другой исходный код приведет к другому поведению.
Я думаю, что, как пользователь оболочки, вы обнаружите, что он ps
будет действовать по-другому и ls
может дать вам немного другой результат, чем вы привыкли. Вам придется найти эквивалентные флаги командной строки для некоторых программ, если вы используете --long-option
тип флагов командной строки.
Исторически я понимаю, что пользовательское пространство BSD происходит непосредственно от V6 и V7 Bell Labs Unix, через порт 32V на аппаратное обеспечение VAX. Пользовательская среда GNU более новая, написанная по крайней мере в некоторой степени в ответ на попытки AT & T держать код в секрете в начале 80-х. После продажи системы Bell в 1983 году AT & T пыталась «монетизировать» Unix. Частично это заключалось в том, чтобы лицензировать исходный код таким образом, чтобы большинство людей не видели его. У Ричарда Столлмана и других были проблемы с этим. Их проект GNU существовал специально для создания свободно распространяемой Unix-подобной системы.
Между тем, к 1993 году AT & T подала в суд на систему Калифорнийского университета по системам BSD («B» - Беркли, где находится Калифорнийский университет). Люди в Беркли заменили весь исходный код AT & T новым кодом, и этот новый код стал прародителем по крайней мере пользовательского пространства NetBSD. AT & T и UCB пришли к соглашению в 1994 году, показал публике в 2004 году.
Естественно, что, по крайней мере, идеи взаимно опыляются, так что, по крайней мере, существует концептуальное сходство между GNU и BSD, но конкретные случаи явно различаются.