13 Январь 2012

История платформы х86

Не так давно мне пришла несколько неожиданная метафора: программисты – это садоводы в саду синтаксических деревьев, они следят за порядком, подправляют неправильные ветки, следят за общей правильностью деревьев, почвой, защитой от вредителей, селекционируют и прививают новые ветки и тому подобное.

Чуть позже я понял, что большое количество кода часто не столько синтаксический сад, сколько синтаксический лес, в котором не так уж сложно потеряться и где законы природы и семантической экологии значат больше, чем рука лесовода. Молодняк борется за выживание и тянется к солнцу, на средних ярусах леса часто только остаются одни стволы, деревья-великаны на своих кронах дают приют целым другим экосистемам, стареют / набирают сил с возрастом …

На примере операционных систем для платформы x86 я бы раскрыл эту метафору так: сначала был почти голый остров платформы x86, на котором росли кусты вида DOS с незначительными видовыми различиями, как-то DR-DOS, MS-DOS и другие, успешно вытеснив более привередлив и сложный реликтовый CP / M, пытавшийся существовать в той же нише. Почему кусты? Том, что DOS играл роль вспомогательной библиотеки для других программ, он не изолировал пользовательские программ от грунта-железа. Со временем, когда почва, сдобренную существующей экосистемой, породючишав, кусты начали вытягиваться в высоту и соревноваться за место над солнцем, на них начали поселяться вьющиеся растения, расширение DOS, которые вились по кусту выше к солнцу (расширители памяти, псевдо – и графические оболочки – Windows 1-3, DESQView, NC / VC, Dos Navigator и другие, несть им числа).

Примерно в то же время ветер занес в экосистему острова x86 первых представителей настоящих древовидных – Linux и первые порты 4.3BSD, а также такую ​​диковинку, как единственный майкрософтивський юникс XENIX, которые также начали экспансию в экосистему острова, правда, сначала ареалы DOS-систем и Unix-подобных лесов почти не перекрывались. Чуть позже там начал расти странные гибриды местных кустов и новоприбывших деревьев – OS / 2 и Windows NT. Последний уже можно было с чистой совестью назвать полноценным деревом, у него был крепкий и надежный ствол-ядро, которое поднимало крону высоко над землей. OS / 2 и Виндоус-кусты постепенно вытянулись в Windows 95 – с одной стороны дерево, со второй куст. Тогда же на этом берегу начали расти привередливые породы типа BeOS – очень стройные и плодовиты, но их хрупкость мешала их выживанию в естественном отборе.

Теперь отвлечемся от перечня пород и сделаем некоторые морфологические замечания. Любое дерево имеет ствол-ядро, которое взаимодействует с грунтом-железом, поднимает крону пользовательских программ на высоту абстрагирования от железа, необходимую для того, чтобы крона ловила можно больше солнечной энергии пользовательской внимания; корни-драйверы, которые высасывает из почвы жизненно важную для операционной системы информацию; ствол-ядро, прочность которого определяет способность выдерживать крону. Листья с кроны может облетать с сезонными капризами моды, ветки библиотек и фреймворков ломаются реже, но довольно часто. Долговечным остается ствол, на котором постоянно вырастают кольца новых версий. Иногда крона становится тяжелой для ствола и тогда деревья ломаются и должны порождать новые, более жизнеспособной, более прочные, абстрактнее виды.

Кроме того, как в любой молодой экосистеме, наблюдается общее повышение (абстрагирования) уровня кроны, программы независимо от породы дерева усложняются и растут, заставляя через естественный отбор становиться выше дерева. Дошло даже до того, что кроны деревьев образовали верхний ярус экосистемы, на котором начали расти собственные растения-паразиты, то есть виртуальные машины (JVM,. NET, среды скриптовых языков, лиспивська омела, лианы сценарии и т.д.). Также верхние ярусы стали заметно затенять уровень почвы, постепенно оставляя средние ярусы абстракций в тени и этим изгоняя из них жизнь, хотя на уровне почвы сейчас изобилуют новые заросли, немыслимы во времена голых досивських кустов. Кроны постепенно сплетаются в единую гетерогенную сеть, в которой уже трудно различить, где чьи ветви. Время от времени очередное дерево падает от собственного веса и природных катаклизмов, уступая новым конкурентам.

Примерно так голые камни x86 превратилось в современные тропические заросли программных экосистем.

Почти каждая женщина проходит через это, но переносит – каждая по-своему. Я говорю про беременность, а эта часть женской доли и тяжела, и приятна одновременно.

Рубрика: FAIL

Метки:

Комменарии:

Пока нет комментариев

Оставить комментарий или два