Архив автора: admin

Ядро Linux за 10 минут (обзор)

 

Это конспект доклада для семинара, проведённого нашей LUG совместно с университетом.

 

У меня, натурально, было 10 минут, поэтому изложение — галопом по европам, многое упрощено, многое упущено.

 

Немного истории

Относительно подробную историю создания ядра Linux можно найти в известной книге Линуса Торвальдса «Just for fun». Нас из неё интересуют следующие факты:

  • Ядро создал в 1991 году студент университета Хельсинки Линус Торвальдс;
  • В качестве платформы он использовал ОС Minix, написанную его преподавателем Эндрю Таненбаумом, запущенную на персональном компьютере с процессором Intel 80386;
  • В качестве примера для подражания он использовал ОС семейства Unix, а в качестве путеводителя — сначала стандарт POSIX, а затем просто исходные коды программ из комплекта GNU (bash, gcc и пр).

Эти факты в значительной мере определили пути развития ядра в дальнейшем, их следствия заметны и в современном ядре.

В частности, известно, что Unix-системы в своё время разделились на два лагеря: потомки UNIX System V Release 4 (семейство SVR4) против потомков Berkley Software Distribution v4.2 (BSD4.2). Linux по большей части принадлежит к первому семейству, но заимствует некоторые существенные идеи из второго.

Ядро в цифрах

  • Около 30 тыс. файлов
  • Около 8 млн. строк кода (не считая комментариев)
  • Репозиторий занимает около 1 Гб
  • linux-2.6.33.tar.bz2: 63 Mb
  • patch-2.6.33.bz2: 10Mb, около 1.7 млн изменённых строк
  • Около 6000 человек, чей код есть в ядре

Об архитектуре ядра

Все (или почти все) процессоры, которыми когда-либо интересовались производители Unix-подобных ОС, имеют аппаратную поддержку разделения привелегий. Один код может всё (в т.ч. общаться напрямую с оборудованием), другой — почти ничего. Традиционно говорят о «режиме ядра» (kernel land) и «режиме пользователя» (user land). Различные архитектуры ядер ОС различаются прежде всего подходом к ответу на вопрос: какие части кода ОС должны выполняться в kernel land, а какие — в user land? Дело в том, что у подавляющего большинства процессоров переключение между двумя режимами занимает существенное время. Выделяют следующие подходы:

  • Традиционный: монолитное ядро. Весь код ядра компилируется в один большой бинарный файл. Всё ядро исполняется в режиме ядра;
  • Противоположный, новаторский: микроядро. В режиме ядра выполняются только самые необходимые части, всё остальное — в режиме пользователя;
  • В традиционном подходе позже появился вариант: модульное ядро. Всё исполняется в режиме ядра, но при этом ядро компилируется в виде одного большого бинарного файла и кучки мелких модулей, которые могут загружаться и выгружаться по необходимости;
  • И, конечно, всевозможные варианты гибридных архитектур.

Ядро Linux начиналось как монолитное (глядя на существовавшие тогда Unix-ы). Современное Linux-ядро модульное. По сравнению с микроядром монолитное (или модульное) ядро обеспечивает существенно бо́льшую производительность, но предъявляет существенно более жёсткие требования к качеству кода различных компонентов. Так, в системе с микроядром «рухнувший» драйвер ФС будет перезапущен без ущерба для работы системы; рухнувший драйвер ФС в монолитном ядре — это Kernel panic и останов системы.

Подсистемы ядра Linux

Существует довольно широко известная диаграмма, изображающая основные подсистемы ядра Linux и их взаимодействие. Вот она:

: linux-kernel-big.png

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

: linux-kernel-simple.png

Системные вызовы

Уровень системных вызовов — это наиболее близкая к прикладному программисту часть ядра Linux. Системные вызовы предоставляют интерфейс, используемый прикладными программами — это API ядра. Большинство системных вызовов Linux взяты из стандарта POSIX, однако есть и специфичные для Linux системные вызовы.

Здесь стоит отметить некоторую разницу в подходе к проектированию API ядра в Unix-системах с одной стороны и в Windows[NT] и других идеологических потомках VMS с другой. Дизайнеры Unix предпочитают предоставит

Барбитураты и связанные с ними соединения

    Барбитураты являются производными барбитуровой кислоты — соединения двухосновной малонового кислоты с мочевиной (название «барбитуровая» дана в честь дня Св. Барбары, когда в 1863 г. это соединение была синтезирована немецким химиком Байером. Сама барбитуровая кислота не является снотворным, но ее производные, полученные замещением двух атомов водорода при углеродном атоме в пятом положении на разнообразные органические радикалы (фенильни, алкильных, галоидалкиль-не, арильни т.п.), являются эффективными снотворными средствами.
   
Сегодня с барбитуратов как снотворные применяют фенобарбитал (люминал), барбамил (амитал-натрий), етаминал-натрий (нембутал. Барбитураты ультракороткого действия (гексенала, тиопентал-натрий) применяют преимущественно для неингаляционного наркоза.
    Барбитураты в виде основ плохо растворимые в воде. Хорошую растворимость имеют их натриевые соли. Поэтому для ускоренной абсорбции при приеме внутрь или ректально к ним рекомендуется добавлять 0,2-0,3 г натрия гидрогенкарбонату.
    Фармакокинетика Все барбитураты практически полностью абсорбируются в ЖКТ (например, абсорбция фенобарбитала составляет 80%). В крови они частично (5-75%) соединяются с белками плазмы. Плохо абсорбируются различными органами и тканями, хорошо проникают через тканевые барьеры. Снотворный эффект развивается через 30-60 мин. Биотранс-формируются в печени окислением боковых цепей до неактивных кислот, кетонов, спиртов. Скорость биотрансформации зависит от структуры барбитуратов и в значительной мере определяет продолжительность их действия. Барбитураты с циклическими радикалами (например, гексенала), а также соединения тио-барбитуровой кислоты (например, тиопентал-натрий) быстро инактивируются в печени и поэтому их действие является кратковременной — 10-20 мин. Все последние барбитураты сравнительно мало метаболизируются и медленно выделяются из организма, в результате чего происходит их кумуляция, а действие длится около 8 ч.
   Следует отметить, что разделение барбитуратов на средне-и долгодействующими не оправдал себя: в клинических исследованиях при применении одинаковых доз барбамил, етаминал-натрия, фенобарбитала существенных различий в продолжительности их действия не было. Т] / 2 большинства барбитуратов составляет 12-36 ч, фенобарбитала — 24-96 ч, причем полная элиминация терапевтической дозы фенобарбитала происходит только через 2 недели. Вывод барбитуратов ускоряет пидлужування мочи. Барбитураты (особенно фенобарбитал) являются сильными индукторами микросомних ферментов печени (цитохрома Р-450 и коньюгуючих энзимов). Одновременно с усилением синтеза ферментов окисления увеличивается в 10-12 раз их активность. Вследствие этого в процессе комбинированной терапии возможна опасная взаимодействие с другими препаратами (антикоагулянты группы кумарина, ГКС, оральными контрацептивами, противоэпилептическими средствами, эргокальциферол т.п.). По той же причине после двух недель постоянного применения снотворный эффект барбитуратов прекращается (фармакокинетическая толерантность).
    Снотворный эффект барбитуратов состоит в ускоренном засыпании и тяжелом пробуждении ФАРМАКОДИНАМИКА .. Барбитураты действуют на пациентов как при наличии нарушений сна, так и без них. Они вызывают сокращение ФШС и дельта-сна, нарушают ритмичность циклов сна. Принимая барбитураты, вследствие угнетения фазы быстрого сна, ответственного за модуляцию интелектуальномнестичних и эмоциональных процессов, больные отмечают ухудшение запоминания, потерю остроты восприятия, гибкости и подвижности психических процессов. Кроме того, даже после однократного приема барбитуратов наблюдается постгипнотичний эффект (головокружение, слабость, неуверенная походка, несвязное вещания, тошнота и т.п.), который усиливается при повторном применении. После бессонной ночи больной делает меньше ошибок, чем после ночи с приемом барбитураты перед сном.
    Снотворный эффект барбитуратов обусловлен влиянием их на проведение возбуждения в многочисленных синапсах различных структур мозга. Точками воздействия является кора большого
мозга, сетчатый творение, гипоталамус, лимбическая система, таламус, в которых происходит недифференцированное торможения в виде микронаркозу. В последнее время доказано существование специфических барби-туратних рецепторов (считают, что они, как и бензодиазепинов рецепторы, входящие в комплекс ГАМК-рецепторов), стимуляция которых повышает чувствительность ГАМК-рецепторов. Таким образом повышается активность эндогенной синаптической ГАМК.
    Депримирующих действие барбитуратов зависит от их дозы. Назначение доз низших по гипнотические (1/3-1/20 снотворной дозы) вызывает седативный эффект, который используется в случаях комбинирования барбитуратов с другими лекарственными средствами, например при вегетативно-сосудистой дистонии, гипертензивные и язвенной болезнях для получения анальгетической эффекта. Высшие дозы барбитуратов имеют против-судорожную действие. Фенобарбитал — самый активный из барбитуратов — является высокоэффективным и безопасным противоэпилептических средств (за счет етильнои группы в пятом положении).
    Интоксикация. Токсичные дозы барбитуратов (5-10 г) приводят к глубокому угнетение ЦНС — наркоз, даже смерть, вследствие паралича дыхательного и сосудодвигательного центров. При этом индивидуальные варианты чрезвычайно велики — можно спасти человека после принятия 20 г фенобарбитала и возможная смерть после принятия 1,5 г его.
     Лечение при острых отравлениях проводят по общим принципам: ускоренное выведение яда (промывание желудка, форсированный диурез, введение щелочных растворов, гемодиализ) и восстановление жизненно важных функций — дыхания, кровообращения (кислород, искусственная вентиляция легких, в частности применение дыхательных аппаратов или респиратора с трахеотомию) . Аналептики (бемегрид, Кордиамин) назначают только в случае легких форм отравления; при тяжелых формах они даже могут ухудшить состояние больного. Результаты лечения, несомненно, зависят от принятой дозы. Иногда 15-20-кратная снотворная доза может вызвать необратимое состояние.
    Как правило, прогноз благоприятный, если в течение 36 часов от момента отравления удается восстановить состояние, но еще в течение 4 дней после отравления барбитуратами жизни больного нельзя считать вне опасности.

Коктейль Mai Tai

Май Тай значит «хорошо». Виктор Бергерон-младший (Victor “Vic” Jules Bergeron, Jr.), открывший в Лондоне знаменитый и поныне паб “Trader Vic“ считается создателем коктейля, так он провозглясил в мемуарах, хотя если быть точными, создателем был таки Дон.

С 1932 года он и его хороший друг Дон Бич, несли таитянскую культуру в холодные США. Экзотика с островов шла на ура и уже через 20 лет ресторанов было около 25 по всему миру, и каждый нес в себе культуру островную культуру и ром, во время Сухого Закона.

  • 30 мл Белый ром
  • 30 мл Темный ром
  • 15 мл Ликер Orange Curacao
  • 15 мл Миндальный сироп
  • 5 мл Карамельный сироп
  • 10 мл Сок лайма

Читать

Жареное мясо

У моей свекрови есть несколько рецептов, которые со временем превратились в ее фирменные блюда. Я, естественно, позаимствовала многие из них. Думаю, мои дети тоже научатся их готовить, если уже не научились. Этот рецепт не требует никаких усилий, нужно только время, и мясо всегда получается очень сочным, а вероятность его пересушить полностью отсутствует. Готовится оно не в духовке, а на плите. Мясо может быть телятина, говядина или свинина, но лучше, чтобы оно было с жирком. Птицу не пробовала, как-то в голову не приходило.
Читать

Шпинатные истории

Тут ЖЖ просит немного вернуться к старому и описать еще несколько продуктов. Их пользу и вред для организма и пр. Хотят шпинат. Давайте про шпинат.

Произошел современный шпинат, скорее всего, от близкого вида дикорас­тущего шпината четырехтычинкового, родиной которого есть Закавказье и Передняя Азия. В ди­ком виде растет на Кавказе, в Туркмении и Афгани­стане. Упоминание о шпинате встре­чается в древнем сочинении «Набатэйское земледе­лие» из Сирии, 4 век. В западной Европе шпинат появился в 13 веке, сна­чала в Германии, затем во Фран­ции и Великобритании. В наших краях разведение шпината началось в 18 столетии, собственно как и весь подъем привезенных культур. Шпинат распространен в странах Западной Европы, США, Китае, Японии, в Средней Азии, у нас вы­ращивается незаслуженно мало.

Полезные свойства:

Листья шпината содержат витамины С, В1, В2, В6, Р, РР, К, D, Е, Н, много витаминов. Шпинат принято употреблять для профилактики желудочно-кишечных заболеваний, при малокровии, анемиях, сахарном диабете. Шпинат полезен для зрения, так как предупреждает дистрофию сетчатки глаза. Из-за высокого содержания редко встречающиеся в других овощах фолиевой и пантотеновой кислот, рекомендован беременным. Читать