Обновить

Комментарии 20

Человек ли писал этот текст?..
Нет Бо кроме зайца! Но «Визуальная модель ядра» — каг бэ намекае что без Великого Макаронного Монстра тут не обошлось…
Пожалуй один из немногих постов на хабре, который я практически не понял.
Автора чем-то сильно не устраивает система загрузки linux-систем или тут что-то ещё было?
я подумал, что если я сразу буду детализировать и описывать слишком многобуквенно, то уж тогда-то точно не дочитают даже до середины
!!! я добавил картинки!!!
Перевожу на русский язык.
Автора не устраивает следующее:

1. На разных компьютерах один и тот же пользователь root.

2. Существующий стандарт корневой файловой системы ужасен — в корне есть 5-10 директорий, каждая из которых суть большая свалка. (Прим. меня: Цитата с башорга в тему — bash.im/quote/401661 Но все, что предложил автор — это рассортировать данные файлы по другим свалкам. Я встречал и более интересные решения)

3. Автору нравится идея Gentoo, но он хотел бы автоматический пересборки ядра на этапе загрузки в фоне.

4. Автору нравится идея OpenVZ, но он не знает таких слов.

5. Автору нравится ОС Inferno, где браузер не загружается в память два раза просто потому что его, видите ли, запустили два разных пользователя.
Да, спасибо за примерный перевод, у меня, видимо, проблемы с распаковкой… — собственный заархиватор очевидно. да, мне не поVZlo до openVZ, добрался только до vm, xen, читал про оскар и другие среды — пришлось придумывать самому! ,' )
В плане помойки — я за раздельный сбор мусора, поэтому — круглое катить, квадратное на тележку, хотелось чтобы часть библиотек могла быть структурирована по функциям, которые могли бы использоваться другими приложениями — своебразный resharper, для этого языковое разбиение.
и в итоге получается патимикс. навскидку в опенвизи не вижу двухуровневой загрузки модулей, а я предполагаю скидывание до базового состояния ядра вместо перезагрузки, я тут не стал описывать перепрофилирование ядра, но это для того, чтобы загружать разные состояния модулей и программ, чтобы выполнять разные задачи. у меня это просто следующая часть описания, я вроде как над этим думаю…
хотелось чтобы часть библиотек могла быть структурирована по функциям
Обычно этим занимается пакетный менеджер. И, до тех пор пока есть кому поддерживать репозиторий, он с этой работой хорошо справляется. Нет, правда, эта часть линукса — самая современная и нуждается в переделывании в самую последнюю очередь.

а я предполагаю скидывание до базового состояния ядра вместо перезагрузки
А вы считали время, необходимое тому самому ядру для загрузки? Базовая часть ядра загружается очень быстро, городить огород на этом этапе нет смысла.
я на этой части огорода, ставлю чючелку, чтобы все другие боялись, а на заборе у меня висит объява про мотороллер, поэтому мне ломать забор вроде бы как и нельзя, потому что мотороллер тут стоит тоже.
то есть перепрофилирование может не затрагивать часть процессов пользователей, а я беру схему, вычисляю точки пересечения с текущими (если они есть), выкидывая ненужное, и подгружаю другие части допустим библиотек, которые работают только с необходимыми мне сейчас программами — это всё для того, чтобы загружать состояния программ, без их исполнения.
Такой пример из жизни — надо отредактировать кусочек картинки для программы — мы ведь её открываем графическим редактором, а не компилятором, а если это звуковой файл, то можно просто отрубить кусок файла и первая часть с заголовками всё равно декодируется — то есть затачивание всё равно нужно, тем или иным образом.
Проблема библиотек в том, что бывают новые проги с новыми, а бывают старые под ядро 2.6 и вот для этого как бы и нужна виртуальная среда и решарпинг библиотек.
То есть проблема на мой взгляд в том, что если какая-та из библиотек вызвала кернел паник, то либо будут зомби, либо надо ребутаться, а если подумать, то от этого можно как минимум сделать поворот-отворот. Некоторые скажут, что это яд, но в малых дозах скорее всего оказывает лечебное действие.
если какая-та из библиотек вызвала кернел паник
То в ядро загружен кривой драйвер. В нормальной ситуации библиотека пользовательского режима вызвать ошибку критическую режима ядра не может. А защищаться от ошибок в драйверах — это только переходить к микроядерным архитектурам.

загружать состояния программ, без их исполнения
Каков смысл этого действия? Учитывая пункт пять, загрузка программы в память — не то место, где тратится много ресурсов.
ну у меня и получается гибридное микроядро.

я выделяю понятие — время, это такой ресурс, который никто не умеет восстанавливать — скорость чтения просто в память, намного вероятнее, будет быстрее, чем чтение с исполнением, учитывая что вчера, например, предложили хранить информацию в магнитных узлах, можно предположить, что объём дискового пространства будет возможно пополнить и скорость чтения с них будет до нескольких десятков гигабит в секунду, как через hdmi, например, через какойнить мегасинхронный рэйд, и возникнет проблема с мощностями ядер процессоров, может быть с кратковременной памятью, чтобы переключаться между особенно ёмкими приложениями (например, параллельное ОС) нужно будет уметь освобождаться от зависимости в переисполнении кода программ в ядре.

Моё личное мнение заключается в том, что можно рассматривать исполняемый бинарный код не как последовательный набор инструкций для одного ядра, а как параллельные вычисления на нескольких ядрах, для этого необходимо менять подход, один из вариантов допускает, что после запуска и распределения функций программы между сопроцессорами, второй раз эту же работу делать будет не нужно и можно будет сразу загружать программу в память без исполнения инструкций.
П. 1 и п. 2 починить пытались, получился монстрик.
Да, весьма похоже, в magos реализована сборка отдельных модулей программ в squashfs, но у них отдельно для каждого дистрибутива своя сборка, а в гоболинуксе (гоблины? лол =) ) разработка закончилась 5 лет назад, то есть ни KVM, ни многопроцессорности, как структура для анализа возможно, спасибо =)
Ожидаю минусов, конечно, но, автор, пожалей читателей.
у меня стоял вопрос — кто сможет осилить… похоже придётся на инглиш аутсорс всё дарить иле в кетай.
одному мне всё перепиливать сложновато. я то чё? статья то вродеп и не видна, и не в топе, а минусуют всё равно только меня ,' )
хорошо хоть костров в городе жечь нельзя и гильотин нету +)+
да, я старался писать сжато и по существу — отношусь к окружающим как к самому себе =)
Ты и правда думаешь, что мы не можем осознать высокую мысль данного текста, написанного, по всей вероятности, школьником? Тогда скажу тебе прямо — читай иногда классику и философию, а не только интернет-статьи. Тогда ты сможешь достаточно точно выразить свою высшую мысль, которую я, к сожалению, не смог понять, и сказать ее нам, глупым программистам. Может, тебе премию еще дадим. Удачи в постижении компьютерных наук.
Я думаю, что большинство студентов здесь сидит под виндой, тырит её с рутора и голосует за продолжение банкета, а пишут код, которым реально пользуются люди, без всяких премий и постижений философии, совсем другие люди, развивают не свои собственные проекты ещё меньшее количество людей, из них читают хабр единицы.
и ты сначала хоть одно облако на хотя бы 20 юзэров подними, потом ко мне на ты обращайся, не забудь закоммитить свой проект и выступить со своими ценными идеями перед всеми.
И кстати, именно из-за того, что другие люди умеют хорошо делать не только работу за которую им платят — не только .net написан на английском, но и практически все остальные языки (включая франшизы с обфускацией)
добавил предупреждения, расширил описания, пойду поем…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации