vak: (Улыбка)
[personal profile] vak
Вернулись из поездки в Joshua Tree Park.  За три дня накатали 1140 миль: 500+500 туда-обратно, и сто сорок миль собственно по парку.



Ночевали в гостинице Best Western в городке Twentynine Palms. Это на самой границе парка, недалеко от северного въезда, очень удобно. Дорога в один конец на автомобиле занимает восемь часов. В целом не особо трудно, если предварительно хорошо выспаться.

Date: 2013-02-19 05:47 (UTC)
From: [identity profile] archaicos.livejournal.com
Красотища должно быть!

Date: 2013-02-22 19:22 (UTC)
From: [identity profile] avseyev.livejournal.com
Массово - это сильное преувеличение. Кактусы там цветут раз во сколько-то лет, а цветы только после многоводной зимы. Сколько осадков там выпало этой зимой? В более близкой к нам Carrizo Plains, говорят, что было только полтора дюйма, что для цветов мало.

Date: 2013-03-06 18:54 (UTC)
From: [identity profile] oboguev.livejournal.com
Кстати, по поводу легенды о "происхождении OS X от FreeBSD". Там очевидно есть заимствования в userland части (Libc, кое-какие утилиты и т.д.), но в ядре заимствования очень небольшие и локальные (кое-какие куски сети, NFS, mandatory access control и еще немножко по мелочёвке). Сами же ядра ничего общего друг с другом не имеют кроме отдалённого происхождения из 4.3BSD (от которой обе системы уплыли очень-очень далеко) и различны самым радикальным образом.

Date: 2013-03-06 19:26 (UTC)
From: [identity profile] oboguev.livejournal.com
Да, это написано в книжках.
Но в фактическом отношении это неправда.
Если, конечно, не понимать как reference codebase то, что я перечислил выше.
(Что OS X может брать userland утилиты из FreeBSD ports -- это также вполне возможно.)
Но внутри -- они различаются радикально. Ни в коде, ни в архитектуре -- почти ничего общего. Ну, настолько, насколько вообще различаются unix-подобные системы. Я бы сказал, что Linux (ядро) пожалуй ближе к FreeBSD, чем OSX.
Edited Date: 2013-03-06 19:33 (UTC)

Date: 2013-03-06 21:40 (UTC)
From: [identity profile] oboguev.livejournal.com
Кит и воробей, например, from certain perspectives are quite similar, поскольку в них можно обнаружить органы со сходным устройством.

Выше я как раз и перечислил, в каких именно certain perspectives OSX и FreeBSD are similar.
Если же говорить не о certain perspectives, а в целом, то Linux пожалуй будет более similar с FreeBSD, чем OSX с FreeBSD (речь о ядрах).
Это не значит, что последние не similar, но указывает на величину этой similarity.

Заметь, что я сейчас более-менее параллельно нахожусь в плавно прогрессирующих интимных отношениях с кодом обеих, поэтому если на клетке со слоном вижу надпись "почти воробей", то - - -

P.S. Ну и, совсем не удивлюсь, если у команды FreeBSD были резонные причины не развеивать миф о сходстве FreeBSD и OSX, не слишком отличающиеся от причин, по которым в ИТМВТ все компьютеры называли Эльбрусами.
Edited Date: 2013-03-06 21:42 (UTC)

Date: 2013-03-06 21:58 (UTC)
From: [identity profile] oboguev.livejournal.com
А теперь прими во внимание, что OSX -- это по происхождению прежде всего NeXT (и вот с NeXT-ом отличие у OS X как раз может быть небольшим, но возможности сказать с уверенностью у меня нет), и там весь scheduling, таймеры, IPC и куча прочих базовых вещей -- из Mach/OSF, и не BSD-шные даже по далекому происхождению.

Date: 2013-03-06 23:20 (UTC)
From: [identity profile] oboguev.livejournal.com
Наследование архитектуры и кода там такое: OSF -> NeXT -> OS X.

Mach и BSD в этой конструкции не раздельны.
Из ядра BSD были вынуты "кишки" (всевозможные core вещи ядра) и заменены "кишками" от Mach.
При этом Mach -- тоже не тот, который был оригинально в CMU, с делением компонент на различные адресные пространства и message passing между ними, а с помещением всего в одно пространство и либо передачей сообщений по указателям (с прямым вызовом) либо просто прямым вызовом функций. Т.е. некоторые API Mach сохраняются, но OSX Mach -- это не Mach 3.0, a отдаленная от него вещь (не уверен, в какой именно момент произошло это отдаление; подозреваю, что это происходило в параллельном взаимодействии между разработкой OSF/1 и разработкой NeXT).

Mach и BSD в OSX оба идут из NeXT, a туда в свою очередь пришли очевидно из OSF (тексты OSF/1, к сожалению, заперты с сейфах HP, так что с точностью тут судить затруднительно).

Поэтому "другая треть из BSD" -- да, но из того BSD, который был в OSF, в свою очередь восходящего к 4.3, но переписанного в OSF под интеграцию с Mach до неузнаваемости.

FreeBSD, в свою очередь, также имеет лишь отдаленное сходство с 4.3 (хотя несомненно бОльшее, чем OSF BSD).

Т.е. OS X и FreeBSD -- это системы обе весьма отдаленные от 4.3 (при этом OS X отдалена больше), причем отдаленности их лежат в более-менее противоположные стороны от начала.

* * *

P.S. В истории Mach был переход от версии Mach 2.5, в которой слой эмуляции Unix/BSD исполнялся в ядре, к версии Mach 3.0, в которой эмулятор исполнялся вне ядра.

OSF/1 (единственной коммерческой реализацией которого был Digital UNIX aka Tru64) и NeXT выводятся от Mach 2.5.
Каково историческое соотношение потоков кода в треугольнике OSF/1 - NeXT - Digital UNIX, бог весть.
Edited Date: 2013-03-07 00:34 (UTC)

Date: 2013-03-07 01:22 (UTC)
From: [identity profile] oboguev.livejournal.com
> заглядывал в код NetBSD и FreeBSD, на тему возможного переноса на микроконтроллеры

Ты заглядывал в порядке хобби или по делам конторы?
Eсли последнее: в чем вообще теоретичский смысл инвестирования в BIOS отличный от Linux-a?

Date: 2013-03-07 03:51 (UTC)
From: [identity profile] oboguev.livejournal.com
В старые добрые времена на машине с 4 МБ памяти сидели 20+ пользователей, которые редактировали-компилировали-отлаживали счетные программы, плюс в background-е крутилось 4-6 пакетных заданий.

Date: 2013-03-07 15:11 (UTC)
From: [identity profile] oboguev.livejournal.com
Я в своём комментарии имел в виду не 4BSD ;-)

Date: 2013-03-12 00:54 (UTC)
From: [identity profile] oboguev.livejournal.com
К слову, по иронии, ты процитировал книжку, которая на 1000 страницах подробно разъясняет, что ядро OS X никакого действительного отношения к BSD не имеет. ;-)

P.S. У тебя нет случайно нормальных source-дистрибутивов BSD (4.3, 4.4 Lite 2) или сведений, где их можно скачать? У меня есть CD-диски CSRG, но на них все имена файлов урезаны до 8.3 и uppercased.

Date: 2013-03-17 21:47 (UTC)
From: [identity profile] oboguev.livejournal.com
Я разумеется не пытался делать какие-то метрики, но у меня сложилось впечатление, что значительная, если не бОльшая часть добавленной сложности в нынешней FreeBSD (сравнительно с 4.x) связяна с обеспечением scalability для SMP. Соответственно если отправиться от 4.4LR2 и пытаться добавлять scalable SMP, то получится примерно то же увеличение сложности и размеров. Его можно избежать, если жить в простой схеме с giant lock и со spinlock-ом для каждого spl-уровня, и для случая небольшого количества ядер это может наверное даже удовлетворительно работать (ну, жили же раньше с такой схемой), просто нужно с самого начала закладывать в спецификацию, что scalability на большое количество ядер или на высокий процент kernel-mode обработки априори целью не ставится.

Ты не пытался посмотреть footprint у старых версий BSD или старых (тоже с giant lock) версий Linux-а, до начала попыток вводить индивидуальные замки?
С уконфигурированием, естественно, по минимуму.
Edited Date: 2013-03-18 21:26 (UTC)

Date: 2013-04-25 23:45 (UTC)
From: [identity profile] oboguev.livejournal.com
P.S. http://www.minix3.org

Date: 2013-04-26 00:15 (UTC)
From: [identity profile] oboguev.livejournal.com
Код нынешних версий глобально сконструирован с расчетом на то, что SMP может быть, и условная компиляция убирает лишь какую-то часть вызванного этим прироста.

Date: 2013-04-26 00:25 (UTC)
From: [identity profile] oboguev.livejournal.com
Ты же не сказал, что тебе еще и эффективная нужна.
Я думал, может для управления холодильником.

Date: 2013-04-26 13:26 (UTC)
From: [identity profile] oboguev.livejournal.com
Для Unix-подобности каноничнее будет на JavaScript-е.

Date: 2013-04-30 01:07 (UTC)
From: [identity profile] oboguev.livejournal.com
> QNX был весь такой красивый, но не смог решить эту проблему.

А в чем это проявляется? Разве есть куча людей жалующихся на производительность QNX и/или отказывающихся от использования QNX по причине недостаточной производительности?