Ядро и процессы


Содержание

Что такое ядро в биологии? Строение и функции ядра

В каждой живой клетке протекает множество биохимических реакций и процессов. Чтобы контролировать их, а также регулировать многие жизненно важные факторы, необходима специальная структура. Что такое ядро в биологии? Благодаря чему оно эффективно справляется с поставленной задачей?

Что такое ядро в биологии. Определение

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

После оплодотворения яйцеклетки сперматозоидом происходит слияние двух гаплоидных ядер. После слияния половых клеток образуется зигота, ядро которой уже несет диплоидный набор хромосом. Это значит, что кариотип (генетическая информация ядра) уже содержит копии генов и матери, и отца.

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

Состав ядра

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

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

Хроматин – основное вещество нуклеоплазмы. Состав хроматина разнообразен: здесь находятся в первую очередь нуклеиновые кислоты (ДНК и РНК), а также белки и многие ионы металлов. ДНК в нуклеоплазме расположена упорядочено в виде хромосом. Именно хромосомы при делении удваиваются, после чего каждый их наборов переходит в дочерние клетки.

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

Рибосомальная РНК образуется в специальных структурах под названием ядрышки. Ядрышко построено из концевых участков хромосом, образованных вторичными перетяжками. Эта структура может быть видна в световой микроскоп в виде уплотненного пятнышка на ядре. Рибосомальные РНК, которые синтезируются здесь, также поступают в цитоплазму и далее вместе с белками образуют рибосомы.

Непосредственное влияние на функции оказывает состав ядра. Биология как наука изучает свойства хроматина для лучшего пониманию процессов транскрипции и деления клетки.

Функции ядра. Биология процессов в ядре

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

Передача наследственной информации в цитоплазму из ядра происходит при образовании мРНК. В процессе транскрипции нужные гены кариотипа считываются, и в итоге синтезируются молекулы матричной или информационной РНК.

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

Кроме того, ядро косвенно участвует в транспорте веществ из клетки из-за непосредственной связи мембраны с ЭПС. Вот что такое ядро в биологии.

Форма ядер

Ядро, его строение и функции могут зависеть от формы мембраны. Ядерный аппарат может быть округлым, вытянутым, в виде лопастей и т. д. Часто форма ядра специфична для отдельных тканей и клеток. Одноклеточные организмы различаются по типу питания, жизненного цикла, а вместе с тем различаются и формы мембраны ядер.

Разнообразие в форме и размере ядра можно проследить на примере лейкоцитов.

  • Ядро нейтрофилов может быть сегментированным и не сегментированным. В первом случае говорят о подковообразном ядре, и такая форма характерна для молодых клеток. Сегментированное ядро – это результат образования нескольких перегородок в мембране, в результате чего образуется несколько частей, связанных между собой.
  • У эозинофилов ядро имеет характерную гантелевидную форму. В этом случае ядерный аппарат состоит из двух сегментов, связанных перегородкой.
  • Почти весь объем лимфоцитов занят огромным ядром. Лишь небольшая часть цитоплазмы остается по периферии клетки.
  • В железистых клетках насекомых ядро может иметь разветвленное строение.

Количество ядер в одной клетке может быть разным

Не всегда в клетке организма присутствует только одно ядро. Порой необходимо присутствие двух или более ядерных аппаратов для осуществления нескольких функций одновременно. И наоборот, некоторые клетки могут вовсе обходиться без ядра. Вот некоторые примеры необычных клеток, в которых ядер больше одного или оно вообще отсутствует.

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

2. Гепатоциты печени. Эти клетки содержат в себе два ядра. Одно из них регулирует очистку крови от токсинов, а другое отвечает за образование гемма, который в последующем войдет в состав гемоглобина крови.

3. Миоциты поперечно-полосатой скелетной ткани. Мышечные клетки многоядерные. Это связано с тем, что в них активно проходит синтез и распад АТФ, а также сборка белков.

Особенности ядерного аппарата у простейших

Для примера рассмотрим два вида простейших: инфузории и амебы.

1. Инфузория-туфелька. Этот представитель одноклеточных организмов имеет два ядра: вегетативное и генеративное. Т. к. они отличаются как по функциям, так и по размерам, такая особенность получила название ядерного дуализма.

Вегетативное ядро отвечает за повседневную жизнедеятельность клетки. Оно регулирует процессы ее метаболизма. Генеративное ядро участвует в клеточном делении и в конъюгации – половом процессе, при котором происходит обмен генетической информацией с особями того же вида.

2. Амебы. Яркие представители — дизентерийная и кишечная амебы. Первая относится к агрессивным паразитам человека, а вторая – обычный симбионт, который живет в кишечнике и не причиняет никакого вреда. Т. к. дизентерийная амеба паразитирует тоже в кишечнике, важно отличать эти два вида между собой. Для этого используют особенность ядерного аппарата: у дизентерийной амебы может быть до 4 ядер, а у кишечной амебы от 0 до 8.

Заболевания

Многие генетические заболевания связаны с нарушениями в наборе хромосом. Вот список наиболее известных отклонений в генетическом аппарате ядра:

  • синдром Дауна;
  • сиддром Патау;
  • синдром Эдвардса;
  • синдром Клайнфелтера;
  • синдром Шерешевского-Тернера.

Список можно продолжать, и каждая из болезней отличается порядковым номером пары хромосом. Также подобные заболевания часто затрагивают половые X и Y хромосомы.

Заключение

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

Что такое центральный процессор?

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

Центральный процессор

Процессор персонального компьютера представляет собой микросхему, которая отвечает за выполнение любых операций с данными и управляет периферийными устройствами. Он содержится в специальном кремниевом корпусе, называемом кристаллом. Для краткого обозначения используют аббревиатуру — ЦП (центральный процессор) или CPU (от англ. Central Processing Unit – центральное обрабатывающее устройство). На современном рынке компьютерных комплектующих присутствуют две конкурирующие корпорации, Intel и AMD, которые беспрестанно участвуют в гонке за производительность новых процессоров, постоянно совершенствуя технологический процесс.


Техпроцесс

Техпроцесс — это размер, используемый при производстве процессоров. Он определяет величину транзистора, единицей измерения которого является нм (нанометр). Транзисторы, в свою очередь, составляют внутреннюю основу ЦП. Суть заключается в том, что постоянное совершенствование методики изготовления позволяет уменьшать размер этих компонентов. В результате на кристалле процессора их размещается гораздо больше. Это способствует улучшению характеристик CPU, поэтому в его параметрах всегда указывают используемый техпроцесс. Например, Intel Core i5-760 выполнен по техпроцессу 45 нм, а Intel Core i5-2500K по 32 нм, исходя из этой информации, можно судить о том, насколько процессор современен и превосходит по производительности своего предшественника, но при выборе необходимо учитывать и ряд других параметров.

Архитектура

Также процессорам свойственно такая характеристика, как архитектура — набор свойств, присущий целому семейству процессоров, как правило, выпускаемому в течение многих лет. Говоря другими словами, архитектура – это их организация или внутренняя конструкция ЦП.

Количество ядер

Ядро – самый главный элемент центрального процессора. Оно представляет собой часть процессора, способное выполнять один поток команд. Ядра отличаются по размеру кэш памяти, частоте шины, технологии изготовления и т. д. Производители с каждым последующим техпроцессом присваивают им новые имена (к примеру, ядро процессора AMD – Zambezi, а Intel – Lynnfield). С развитием технологий производства процессоров появилась возможность размещать в одном корпусе более одного ядра, что значительно увеличивает производительность CPU и помогает выполнять несколько задач одновременно, а также использовать несколько ядер в работе программ. Многоядерные процессоры смогут быстрее справиться с архивацией, декодированием видео, работой современных видеоигр и т.д. Например, линейки процессоров Core 2 Duo и Core 2 Quad от Intel, в которых используются двухъядерные и четырехъядерные ЦП, соответственно. На данный момент массово доступны процессоры с 2, 3, 4 и 6 ядрами. Их большее количество используется в серверных решениях и не требуется рядовому пользователю ПК.

Частота

Помимо количества ядер на производительность влияет тактовая частота. Значение этой характеристики отражает производительность CPU в количестве тактов (операций) в секунду. Еще одной немаловажной характеристикой является частота шины (FSB – Front Side Bus) демонстрирующая скорость, с которой происходит обмен данных между процессором и периферией компьютера. Тактовая частота пропорциональна частоте шины.

Сокет

Чтобы будущий процессор при апгрейде был совместим с имеющейся материнской платой, необходимо знать его сокет. Сокетом называют разъем, в который устанавливается ЦП на материнскую плату компьютера. Тип сокета характеризуется количеством ножек и производителем процессора. Различные сокеты соответствуют определенным типам CPU, таким образом, каждый разъём допускает установку процессора определённого типа. Компания Intel использует сокет LGA1156, LGA1366 и LGA1155, а AMD — AM2+ и AM3.

Кэш — объем памяти с очень большой скоростью доступа, необходимый для ускорения обращения к данным, постоянно находящимся в памяти с меньшей скоростью доступа (оперативной памяти). При выборе процессора, помните, что увеличение размера кэш-памяти положительно влияет на производительность большинства приложений. Кэш центрального процессора различается тремя уровнями (L1, L2 и L3), располагаясь непосредственно на ядре процессора. В него попадают данные из оперативной памяти для более высокой скорости обработки. Стоит также учесть, что для многоядерных CPU указывается объем кэш-памяти первого уровня для одного ядра. Кэш второго уровня выполняет аналогичные функции, отличаясь более низкой скоростью и большим объемом. Если вы предполагаете использовать процессор для ресурсоемких задач, то модель с большим объемом кэша второго уровня будет предпочтительнее, учитывая что для многоядерных процессоров указывается суммарный объем кэша L2. Кэшем L3 комплектуются самые производительные процессоры, такие как AMD Phenom, AMD Phenom II, Intel Core i3, Intel Core i5, Intel Core i7, Intel Xeon. Кэш третьего уровня наименее быстродействующий, но он может достигать 30 Мб.

Энергопотребление

Энергопотребление процессора тесно связано с технологией его производства. С уменьшением нанометров техпроцесса, увеличением количества транзисторов и повышением тактовой частоты процессоров происходит рост потребления электроэнергии CPU. Например, процессоры линейки Core i7 от Intel требуют до 130 и более ватт. Напряжение подающееся на ядро ярко характеризует энергопотребление процессора. Этот параметр особенно важен при выборе ЦП для использования в качестве мультимедиа центра. В современных моделях процессоров используются различные технологии, которые помогают бороться с излишним энергопотреблением: встраиваемые температурные датчики, системы автоматического контроля напряжения и частоты ядер процессора, энергосберегающие режимы при слабой нагрузке на ЦП.

Дополнительные возможности

Современные процессоры приобрели возможности работы в 2-х и 3-х канальных режимах с оперативной памятью, что значительно сказывается на ее производительности, а также поддерживают больший набор инструкций, поднимающий их функциональность на новый уровень. Графические процессоры обрабатывают видео своими силами, тем самым разгружая ЦП, благодаря технологии DXVA (от англ. DirectX Video Acceleration – ускорение видео компонентом DirectX). Компания Intel использует вышеупомянутую технологию Turbo Boost для динамического изменения тактовой частоты центрального процессора. Технология Speed Step управляет энергопотреблением CPU в зависимости от активности процессора, а Intel Virtualization Technology аппаратно создает виртуальную среду для использования нескольких операционных систем. Также современные процессоры могут делиться на виртуальные ядра с помощью технологии Hyper Threading. Например, двухъядерный процессор способен делить тактовую частоту одного ядра на два, что способствует высокой производительности обработки данных с помощью четырех виртуальных ядер.

Размышляя о конфигурации вашего будущего ПК, не забывайте про видеокарту и ее GPU (от англ. Graphics Processing Unit – графическое обрабатывающее устройство) – процессор вашей видеокарты, который отвечает за рендеринг (арифметические операции с геометрическими, физическими объектами и т.п.). Чем больше частота его ядра и частота памяти, тем меньше будет нагрузки на центральный процессор. Особенное внимание к графическому процессору должны проявить геймеры.

Архитектура ОС. Макроядерные ОС. Ядро и слои ядра

Под архитектурой принято понимать способы и организацию взаимодействия частей ОС.

Ø ОС с макроядром(многослойным ядром)

Ø Микроядерные ОС

Все модули ОС делятся на группы:

Ø Модули расширения

Ядро – модули, выполняющие основные функции ОС (решение внутресистемных задач, связанных с организацией вычислительного процесса, ф-ций, связанных с ОП и т.д.) Ф-ции ядра доступны приложениям через интерфейс прикладных программ.

Модули расширения- модули, выполняющие полезные, но не обязательные ф-ции.

Группы модульных расширений:

Ø Программы, предоставляющие пользователю дополнительные услуги.

Ø Библиотеки процедур различного назначения.

Организация многослойного ядра:

2- средства аппаратной поддержки

3- слой ядра, кот.взаимодейтвует со слоем 2. Задача- max экранировать остальные слои ядра.

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

5- менеджеры (диспетчеры) ресурсов

6- интерфейс систем вызовов.

14. Микроядерная архитектура ОС.

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

Суть микроядерной архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Микроядро защищено от остальных частей ОС и приложений. В состав микроядра обычно входят машинно-зависимые модули, а также модули, выполняющие базовые (но не все!) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, пересылке сообщений и управлению устройствами ввода-вывода, связанные с загрузкой или чтением регистров устройств. Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Такие функции операционной системы трудно, если не невозможно, выполнить в пространстве пользователя. Все остальные более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. При классической организации ОС (рис. 3.12, а) выполнение системного вызова сопровождается двумя переключениями режимов, а при микроядерной организации (рис. 3.12, 6) — четырьмя. Таким образом, операционная система на основе микроядра при прочих равных условиях всегда будет менее производительной, чем ОС с классическим ядром. Именно по этой причине микроядерный подход не получил такого широкого распространения, которое ему предрекали.

15. Понятие вычислительного процесса. Диаграмма состояния процесса.

Илон Маск рекомендует:  Процедуры в Delphi

Процесс – работа, выполняемая центральным процессором при выполнении программы и обработке ее данных.

Процессы могут быть «родственными» (процессы-«родители» и процессы-«потомки»). Процессы-«потомки» наследуют большую часть свойств «родителей».

Процессы делят на зависимые и независимые. Процессы называются независимыми, если развитие одного из них никак не влияет на развитие другого. Процессы называются зависимыми, если развитие или результат выполнения одного из них влияет на работу другого процесса.

Процессы-«родители» и процессы-«потомки» могут быть как зависимыми, так и независимыми. В первом случае аварийное завершение процесса-«родителя» приводит к полному завершению всех процессов-«потомков», во втором аварийное завершение «родителя» никак не сказывается на «потомках».

Каждый процесс в системе может находиться в одном из 3-х состояний:

Активный процесс выполняется в текущий момент времени центральным процессором.

Состояние готовности (в многозадачных операционных системах) – есть все ресурсы, кроме центрального процессора.


Заблокированный процесс – процесс, которому не хватает какого-либо ресурса, отличного от центрального процессора.

16. Понятие ресурса в ВС, виды ресурсов, методы учета.

Ресурс в ВС – все то, отсутствие чего может вызвать переход процесса в логически блокированное состояние.

Ø Повторно используемые ресурсы

Ø Потребляемые ресурсы

Повторно используемые ресурсы – ресурсы, которые могут быть возвращены в систему, для неоднократного использования(память).

· Закрепленные – ресурс, кот.в текущий момент времени может принадлежать только 1 процессу.

· Разделяемые – ресурс, кот. в текущий момент времени разделен(может использоваться) несколькими процессами.

Потребляемые ресурсы-ресурсы, кот. не возвращаются в систему и не используются повторно.(чернила, время работы)

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

Дискриптер ресурса должен содержать как min 3 обязательных раздела:

· Раздел идентификации ресурса, этот раздел включает в себя идентификатор ресурса, который присваивается ресурсу ОС. Некая логическая переменная, показывающая является ли ресурс потребляемым или повторного использования.

· Опись доступности ресурса содержит информацию, описывающую систему учета ресурса. Адреса программ распределения и освобождения ресурсов.

· Список ожидающих процессов – создает список процессов, заблокированных из-за отсутствия или недостатка ресурса.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Учись учиться, не учась! 10389 — | 7889 — или читать все.

188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Краткие теоретические сведения. 1. Устройство Linux: ядро и процессы

1. Устройство Linux: ядро и процессы

Главная, постоянно находящаяся в оперативной памяти, часть ОС Linux называется ядром (Kernel). Ядро ОС обрабатывает прерывания от устройств, выполняет запросы системных процессов и пользовательских приложений, распределяет виртуальную память, создает и уничтожает процессы, обеспечивает многозадачность посредством переключения между ними, содержит драйверы устройств, обслуживает файловую систему (см. рис. 34).

Пользовательские процессы не могут непосредственно, например, порождать другие процессы, производить чтение или запись на диск, выводить данные на экран или создавать гнездо (socket) для обмена по сети. Для выполнения этих действий они должны воспользоваться сервисами ядра. Обращения за такими услугами называются системными

Рис. 34. Устройство Linux

Начальная загрузка системы состоит в том, что файл с образом ядра счи-тывается в оперативную память, начиная с нулевого адреса. Этот файл находится в каталоге /boot и называется vmlinuz-x.y.z, где x.y.z — это номер версии ядра. На текущий момент большинство дистрибутивов основано на ядре версии 2.4, хотя уже вышло ядро 2.6 и кое-где еще встречается версия 2.2.

В UNIX-подобных системах в отличие от других ОС ядро минимизировано и не выполняет ни одной функции, служащей непосредственно пользователю. Для этой

цели применяются многочисленные утилиты, выступающие в качестве посредников между пользователем и ядром. Только в комплекте с ними ядро образует полноценную операционную систему.

Ядро обслуживает запросы процессов. Что же такое процесс? Это понятие является базовым в UNIX-подобных системах. Процесс можно представить себе как виртуальную машину, отданную в распоряжение одной задачи. Каждый процесс считает, что он на машине один и может распоряжаться всеми ее ресурсами . На самом же деле процессы надежно изолированы друг от друга, так что крушение одного не может повредить всей системе

Каждый процесс выполняется в собственной виртуальной памяти, в которую никакой другой процесс вмешаться не может. Этим и обеспечивается устойчивость всей системы.

Напомним, что такое виртуальная память. Каждому процессу разрешено считать, что его адреса начинаются с нулевого адреса и далее наращиваются. Таким образом, в 32-разрядной ОС процесс может адресовать 4 гигабайта оперативной памяти. Механизм виртуальной памяти позволяет процессу считать, что именно столько ему и выделено, хотя физически объем ОЗУ вашей машины может быть значительно меньше. Недостающую память заменяет жесткий диск путем записи временно не используемых страниц памяти в раздел подкачки (свопинга).

Разделяемость библиотек между процессами обеспечивается тем, что их код и статические данные отображаются на один и тот же участок физической оперативной памяти.

Таблица процессов

С точки зрения ядра процесс представляет собой запись в таблице процессов. Эта запись содержит сведения о состоянии процесса и данные, существующие в течение всего времени его жизни. Размер таблицы процессов позволяет запускать несколько сотен процессов одновременно. Другая важная информация о процессе — например, таблица всех открытых процессом файлов — хранится в его адресном пространстве. Запись в таблице процессов и пространство процесса вместе составляют контекст, или окружение, процесса. В него входят:

PID—идентификатор процесса.Он принудительно назначается планировщиком призапуске процесса.

PPID—идентификатор родительского процесса.

TTY—имя управляющего терминала-терминала,с которого запущен процесс.

WD—текущий каталог процесса,от которого отсчитываются относительные пути.

RID, RGID—реальныеIDи групповойIDпользователя,запустившего процесс.

EUID, EGID—эффективныеIDиGID.

NICE—показатель уступчивости.Процессы выполняются в режиме разделениявремени, то есть время центрального процессора делится между готовыми к выполнению процессами с учетом их приоритета. Чем выше показатель уступчивости, тем ниже приоритет.

Системные вызовы fork() и ехес() или как размножаются процессы

Каждый процесс порождается другим процессом, использующим для этого системный вызов fork(). Таким образом, структура процессов, подобно файловой системе, древовидна. Корнем этого дерева служит init — процесс инициализации системы (см. рис. 35). Он запускается ядром первым, получает идентификатор 1 и порождает еще несколько процессов (сколько и каких, можно узнать из его конфигурационного файла /etc/inittab), которые, в свою очередь, при участии пользователя порождают другие процессы.

В результате системного вызова fork() родительский процесс полностью копирует свое окружение, включая адресное пространство, в дочерний, так что в момент

рождения дочерний процесс отличается только своим ID. Потом дочерний процесс с помощью вызова ехec() загружает в свое адресное пространство какой-нибудь исполняемый файл и начинает исполнять содержащуюся в нем программу.


Каждый процесс , завершившись, возвращает родительскому процессу какое-то значение, называемое кодом завершения или кодом возврата. По соглашению разработчиков , нулевой код возврата означает успешное завершение, а ненулевые — разнообразные ошибки. Процесс-родитель может приостановить свое выполнение до завершения потомка и выполнить разные действия в зависимости от возвращенного дочерним процессом значения, а может и не делать этого.

Особенности строения и функции ядра клетки

Ядро – главное составляющее живой клетки, которое несет наследственную информацию, закодированную набором генов. Оно занимает центральное положение в клетке. Размеры варьируются, форма обычно сферичная или овальная. В диаметре ядро в разных клетках может быть от 8 до 25мкм. Есть исключения, примеру, яйцеклетки рыб имеют ядра диаметром в 1 мм.

Особенности строения ядра

Заполнено ядро жидкостью и несколькими структурными элементами. В нем выделяют оболочку, набор хромосом, нуклеоплазму, ядрышка. Оболочка двухмембранная, между мембранами находится перенуклеарное пространство.

Внешняя мембрана сходна по строению с эндоплазматическим ретикулумом. Она связана с ЭПР, который будто ответвляется от ядерной оболочки. Снаружи на ядре находятся рибосомы.

Внутренняя мембрана прочная, так как в ее состав входит ламина. Она выполняет опорную функцию и служит местом крепления для хроматина.

Мембрана имеет поры, обеспечивающие обменные процессы с цитоплазмой. Ядерные поры состоят из транспортных белков, которые поставляют в кариоплазму вещества путем активного транспорта. Пассивно сквозь поровые отверстия могут пройти только небольшие молекулы. Также каждая пора прикрыта поросомой, которая регулирует обменные процессы в ядре.

Количество ядер в разных по специализации клетках различно. В большинстве случаев клетки одноядерные, но есть ткани, построенные из многоядерных клеток (печеночная или ткань мозга). Есть клетки лишенные ядра – это зрелые эритроциты.

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

Ядро может прибывать в состоянии покоя (период интерфазы) или деления. Переходя в интерфазу, имеет вид сферического образования с множеством гранул белого цвета (хроматина). Хроматин бывает двух видов: гетерохроматин и эухроматин.

Эухроматин – это активный хроматин, который сохраняет деспирализированное строение в покоящемся ядре, способен к интенсивному синтезу РНК.

Гетерохроматин – это участки хроматина, которые находятся в конденсированном состоянии. Он может при необходимости переходить в эухроматиновое состояние.

При использовании цитологического метода окрашивания ядра (по Романовскому-Гимзе) выявлено, что гетерохроматин меняет цвет, а эухроматин нет. Хроматин построен из нуклеопротеидных нитей, названных хромосомами. Хромосомы несут в себе основную генетическую информацию каждого человека. Хроматин — форма существования наследственной информации в интерфазном периоде клеточного цикла, во время деления он трансформируется в хромосомы.

Строение хромосом

Каждая хромосома построена из пары хроматид, которые находятся параллельно друг к другу и связаны только в одном месте – центромере. Центромера разделяет хромосому на два плеча. В зависимости от длины плеч выделяют три вида хромосом:

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

Метафазное ядро представляет собой пластинку, где располагаются хромосомы. Именно в эту фазу митоза изучается количество и строение хромосом. Во время метафазы сестринские хромосомы двигаются в центр и распадаются на две хроматиды.

Строение ядрышка

В ядре также находится немембранное образование — ядрышко. Ядрышки представляют собой уплотненные, округлые тельца, способные преломлять свет. Это основное место синтеза рибосомальной РНК и необходимых белков.

Число ядрышек различно в разных клетках, они могут объединяться в одно крупное образование или существовать отдельно друг от друга в виде мелких частиц. При активации синтетических процессов объем ядрышка увеличивается. Оно лишено оболочки и находится в окружении конденсированного хроматина. В ядрышке также содержатся металлы, в большей мере цинк. Таким образом, ядрышко – это динамичное, меняющееся образование, необходимое для синтеза РНК и транспорта ее в цитоплазму.

Нуклеоплазма заполняет все внутреннее пространство ядра. В нуклеоплазме находится ДНК, РНК, протеиновые молекулы, ферментативные вещества.

Функции ядра в клетке

  1. Принимает участие в синтезе белка, рибосомной РНК.
  2. Регулирует функциональную активность клетки.
  3. Сохранение генетической информации, точная ее репликация и передача потомству.

Роль и значение ядра

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

Ядро операционной системы

  • определениеядро операционной системы
  • архитектура и типы ядер операционной системы
  • ядро операционной системы WINDOWS

Ядро операционной системы определение

Ядро (kernel) это центральная и главная часть операционной системы которая обеспечивает архитектуру связи с приложениями, организует и регулирует доступ к ресурсам компьютера. Дополнительно, но не как правило предоставляет доступ к сетевым протоколам и к файловой системе. На картинке ниже я покажу как схематично работает ядро операционной системы и другие структуры внутри ОС

Посмотрите внимательно на эту схему, на ней видно что ядро операционной системы, взаимодействует с приложениями пользователя, будь то любое программное обеспечение (перечислять все возможные программы мы не будем), с утилитами и с системными обрабатывающими программами. Обратите внимание что из всех изображенных элементов только библиотеки процедур не взаимодействуют напрямую, а являются «переправой» для взаимодействия пользователя с ядром.

архитектура и типы ядер операционной системы

Классическая архитектура ядра очень сильно зависит от того какой тип ядра представлен в операционной системе. Типов ядер операционной системы бывает очень много и все различаются лишь по размеру и доступным функциям кроме базовых.

Монолитное ядро

монолитное ядро операционной системы представляет богатый выбор абстракций. все части или лучше сказать элементы находятся в одном адресном пространстве и представляют собой единый «Монолит». Все элементы которые были представлены выше на картинке спокойно взаимодействуют между собой и сообщаются. Это самое старое воплощение ядра в ОС.

Недостаток:

Обладает достаточно значимым минусом что при отказе работы одного элемента перестает работать всё ядро операционной системы и следовательно ОС.

Преимущества:

Из положительного момента — быстрая разработка и внедрение новых модулей а также скорость работы такого ядра. всё таки унификация всех элементов берет своё


Примеры ОС построенных на таких ядрах :LINUX, Unix, ms-dos

Модульное ядро

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

Микроядро

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

драйверы и модули, всё находиться в серверных процессах. Чтобы было понятно взгляните на картинку

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

Недостатки: увеличенное потребление ресурсов.

Из самых популярных операционных систем которое используют это
ядро операционной системы это MAC OS X.

Экзоядро

Экзоядро представляет всего лишь самые базовые функция взаимодействия между процессами, выгрузка и загрузка памяти и других ресурсов. То есть устроенно это ядро таким образом — ядро операционной системы не взаимодействует с программным обеспечением напрямую, а только через специальные библиотеки которые предоставляют API. Является оптимальным решениям для некоторого вида приложений которые должны очень быстро работать.

Ядро операционной системы WINDOWS

Вы спросите а к какому типу архитектуры тогда относиться операционная система windows?

относиться она к гибридному типу включая в себя как и микроядро так и монолитное
ядро операционной системы

Анатомия ядра Linux

История и архитектурная организация

Поскольку цель данной статьи — познакомить вас с ядром Linux и дать обзор его архитектуры и основных компонентов, давайте начнем с краткого обзора истории ядра Linux, затем рассмотрим архитектуру ядра Linux «с высоты птичьего полета», и, наконец, обсудим его основные подсистемы. Ядро Linux насчитывает свыше шести миллионов строк, поэтому данное введение не может быть исчерпывающим. Для получения более подробной информации пользуйтесь ссылками на дополнительные ресурсы.

Краткий обзор истории Linux

Хотя Linux, по всей видимости, является самой популярной операционной системой с открытым исходным кодом, на самом деле ее история в сравнении с другими операционными системами относительно коротка. На заре компьютерной эры программисты разрабатывали свои программы для «голой» аппаратуры, используя языки, понятные для этой аппаратуры. В отсутствие операционной системы использовать всю большую и дорогую вычислительную машину в каждый конкретный момент времени могло только одно приложение (и один пользователь). Первые операционные системы были разработаны в 1950-е годы, чтобы облегчить жизнь разработчиков. В качестве примера можно назвать General Motors Operating System (GMOS), разработанную для IBM 701, и FORTRAN Monitor System (FMS), созданную North American Aviation для IBM 709.

В 1960-е годы в Массачусетском Технологическом институте (MIT) и в ряде компаний была разработана экспериментальная операционная система Multics (Multiplexed Information and Computing Service) для машины GE-645. Один из разработчиков этой ОС, компания AT&T, отошла от Multics и в 1970 году разработала свою собственную систему Unics. Вместе с этой ОС поставлялся язык C. При этом C был разработан и написан так, чтобы обеспечить переносимость разработки операционной системы.

Двадцать лет спустя Эндрю Танненбаум (Andrew Tanenbaum) создал микроядерную версию UNIX® под названием MINIX (minimal UNIX), которая могла работать на небольших персональных компьютерах. Эта операционная система с открытым исходным кодом вдохновила Линуса Торвальдса (Linus Torvalds) на разработку первой версии Linux в начале 1990-х (см. Рис. 1).

Рис. 1. Краткая история основных выпусков ядра Linux

Linux быстро превратился из инициативы энтузиаста-одиночки во всемирный проект, в котором участвуют тысячи разработчиков. Одним из важнейших решений в судьбе Linux стало принятие лицензии GNU General Public License (GPL). GPL защитила ядро Linux от коммерческой эксплуатации и одновременно открыла путь к использованию разработок сообщества пользователей проекта GNU, основанного Ричардом Столлменом (Richard Stallman), объемы кода которого значительно превосходят даже объем ядра Linux. Это позволило использовать в Linux такие полезные приложения, как комплекс компиляторов GNU Compiler Collection (GCC) и различные командные оболочки.

Введение в ядро Linux

Перейдем к общему обзору архитектуры операционной системы GNU/Linux. Операционную систему можно условно разделить на два уровня, как показано на Рис. 2.

Рис. 2. Фундаментальная архитектура операционной системы GNU/Linux

На верхнем уровне находится пользовательское пространство (пространство приложений). Здесь исполняются приложения пользователя. Под пользовательским пространством располагается пространство ядра. Здесь функционирует ядро Linux.

Имеется также библиотека GNU C (glibc). Она предоставляет интерфейс системных вызовов, который обеспечивает связь с ядром и дает механизм для перехода от приложения, работающего в пространстве пользователя, к ядру. Это важно, поскольку ядро и пользовательское приложение располагаются в разных защищенных адресных пространствах. При этом, в то время как каждый процесс в пространстве пользователя имеет свое собственное виртуальное адресное пространство, ядро занимает одно общее адресное пространство. Более подробную информацию можно найти в литературе, ссылки на которую приведены в разделе «Ресурсы».

Илон Маск рекомендует:  Использование компонента tcoolbar или как создавать кульные панели инструментов

Ядро Linux можно, в свою очередь, разделить на три больших уровня. Наверху располагается интерфейс системных вызовов, который реализует базовые функции, например, чтение и запись . Ниже интерфейса системных вызовов располагается код ядра, точнее говоря, архитектурно-независимый код ядра. Этот код является общим для всех процессорных архитектур, поддерживаемых Linux. Еще ниже располагается архитектурно-зависимый код, образующий т.н. BSP (Board Support Package — пакет поддержки аппаратной платформы). Этот код зависит от процессора и платформы для конкретной архитектуры.

Свойства ядра Linux

Обсуждая архитектуру большой и сложной системы, можно рассматривать ее со многих разных точек зрения. Одна из целей архитектурного анализа может состоять в том, чтобы лучше понять исходный код системы. Именно этим мы здесь и займемся.

В ядре Linux реализован целый ряд важных архитектурных элементов. И на самом общем, и на более детальных уровнях ядро можно подразделить на множество различных подсистем. С другой стороны, Linux можно рассматривать как монолитное целое, поскольку все базовые сервисы собраны в ядре системы. Такой подход отличается от архитектуры с микроядром, когда ядро предоставляет только самые общие сервисы, такие как обмен информацией. ввод/вывод, управление памятью и процессами, а более конкретные сервисы реализуются в модулях, подключаемых к уровню микроядра. Каждая из этих точек зрения имеет свои достоинства, но я здесь не буду вдаваться в это обсуждение.

С течением времени ядро Linux стало более эффективным с точки зрения использования памяти и процессорных ресурсов и приобрело исключительную стабильность. Однако самый интересный аспект Linux, учитывая размер и сложность этой системы — это ее переносимость. Linux можно откомпилировать для огромного количества разных процессоров и платформ, имеющих разные архитектурные ограничения и потребности. Например, Linux может работать на процессоре как с блоком управления памятью (MMU), так и без MMU. Поддержка процессоров без MMU реализована в версии ядра uClinux. Более подробную информацию см. в разделе «Ресурсы».

Основные подсистемы ядра Linux

Давайте рассмотрим некоторые основные компоненты ядра Linux, следуя структуре, изображенной на рис. 3.

Рис. 3. Один из возможных взглядов на архитектуру ядра Linux

Интерфейс системных вызовов

SCI — это тонкий уровень, предоставляющий средства для вызова функций ядра из пространства пользователя. Как уже говорилось, этот интерфейс может быть архитектурно зависимым, даже в пределах одного процессорного семейства. SCI фактически представляет собой службу мультиплексирования и демультиплексирования вызова функций. Реализация SCI находится в ./linux/kernel, а архитектурно-зависимая часть — в ./linux/arch. Более подробные сведения об этом компоненте можно найти в разделе Ресурсы.

Управление процессами

Управление процессами сконцентрировано на исполнении процессов. В ядре эти процессы называются потоками (threads); они соответствуют отдельным виртуализованным объектам процессора (код потока, данные, стек, процессорные регистры). В пространстве пользователя обычно используется термин процесс, хотя в реализации Linux эти две концепции (процессы и потоки) не различают. Ядро предоставляет интерфейс программирования приложений (API) через SCI для создания нового процесса (порождения копии, запуска на исполнение, вызова функций Portable Operating System Interface [POSIX]), остановки процесса (kill, exit), взаимодействия и синхронизации между процессами (сигналы или механизмы POSIX).

Еще одна задача управления процессами — совместное использование процессора активными потоками. В ядре реализован новаторский алгоритм планировщика, время работы которого не зависит от числа потоков, претендующих на ресурсы процессора. Название этого планировщика — O(1) — подчеркивает, что на диспетчеризацию одного потока затрачивается столько же времени, как и на множество потоков. Планировщик O(1) также поддерживает симметричные многопроцессорные конфигурации (SMP). Исходные коды системы управления процессами находятся в ./linux/kernel, а коды архитектурно-зависимой части — в ./linux/arch). Более подробную информацию об этом алгоритме см. в разделе Ресурсы.

Управление памятью

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

Однако управление памятью — это значительно больше, чем просто управление буферами по 4 КБ. Linux предоставляет абстракции над этими 4 КБ буферами, например, механизм распределения slab allocator. Этот механизм управления базируется на 4 КБ буферах, но затем размещает структуры внутри них, следя за тем, какие страницы полны, какие частично заполнены и какие пусты. Это позволяет динамически расширять и сокращать схему в зависимости от потребностей вышележащей системы.


В условиях наличия большого числа пользователей памяти возможны ситуации, когда вся имеющаяся память будет исчерпана. В связи с этим страницы можно удалять из памяти и переносить на диск. Этот процесс обмена страниц между оперативной памятью и жестким диском называется подкачкой. Исходные коды управления памятью находятся в ./linux/mm.

Виртуальная файловая система

Еще один интересный аспект ядра Linux — виртуальная файловая система (VFS), которая предоставляет общую абстракцию интерфейса к файловым системам. VFS предоставляет уровень коммутации между SCI и файловыми системами, поддерживаемыми ядром (см. Рис. 4).

Рис. 4. VFS предоставляет коммутационную матрицу между пользователями и файловыми системами

На верхнем уровне VFS располагается единая API-абстракция таких функций, как открытие, закрытие, чтение и запись файлов. На нижнем уровне VFS находятся абстракции файловых систем, которые определяют, как реализуются функции верхнего уровня. Они представляют собой подключаемые модули для конкретных файловых систем (которых существует более 50). Исходные коды файловых систем находятся в ./linux/fs.

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

Сетевой стек

Сетевой стек по своей конструкции имеет многоуровневую архитектуру, повторяющую структуру самих протоколов. Вы помните, что протокол Internet Protocol (IP) — это базовый протокол сетевого уровня, располагающийся ниже транспортного протокола Transmission Control Protocol, TCP). Выше TCP находится уровень сокетов, вызываемый через SCI.

Уровень сокетов представляет собой стандартный API к сетевой подсистеме. Он предоставляет пользовательский интерфейс к различным сетевым протоколам. Уровень сокетов реализует стандартизованный способ управления соединениями и передачи данных между конечными точками, от доступа к «чистым» кадрам данных и блокам данных протокола IP (PDU) и до протоколов TCP и User Datagram Protocol (UDP). Исходные коды сетевой подсистемы ядра находятся в каталоге ./linux/net.

Драйверы устройств

Подавляющее большинство исходного кода ядра Linux приходится на драйверы устройств, обеспечивающие возможность работы с конкретными аппаратными устройствами. В дереве исходных кодов Linux имеется подкаталог драйверов, в котором, в свою очередь, имеются подкаталоги для различных типов поддерживаемых устройств, таких как Bluetooth, I2C, последовательные порты и т.д. Исходные коды драйверов устройств находятся в ./linux/drivers.

Архитектурно-зависимый код

Хотя основная часть Linux независима от архитектуры, на которой работает операционная система, в некоторых элементах для обеспечения нормальной работы и повышения эффективности необходимо учитывать архитектуру. В подкаталоге ./linux/arch находится архитектурно-зависимая часть исходного кода ядра, разделенная на ряд подкаталогов, соответствующих конкретным архитектурам. Все эти каталоги в совокупности образуют BSP. В случае обычного настольного ПК используется каталог i386. Подкаталог для каждой архитектуры содержит ряд вложенных подкаталогов, относящихся к конкретным аспектам ядра, таким как загрузка, ядро, управление памятью и т.д. Исходные коды архитектурно-зависимой части находятся в ./linux/arch.

Интересные особенности ядра Linux

Помимо переносимости и эффективности, ядро Linux обладает целым рядом других интересных функций, которые не были освещены в вышеприведенном рассмотрении.

Linux, как широко используемая на практике операционная система с открытым исходным кодом, является отличной испытательной площадкой для новых протоколов и их усовершенствований. Linux поддерживает большое количество сетевых протоколов, включая традиционный TCP/IP и его высокоскоростные расширения (для сетей быстрее Gigabit Ethernet [GbE] и 10 GbE). Linux также поддерживает такие протоколы, как Stream Control Transmission Protocol (SCTP), реализующий множество дополнительных функций, отсутствующих в TCP (применяется в качестве альтернативного протокола транспортного уровня).

Следует отметить, что ядро Linux является динамическим (поддерживает добавление и удаление программных компонентов без остановки системы). Эти компоненты называются динамически загружаемыми модулями ядра. Их можно вводить в систему при необходимости, как во время загрузки (если найдено конкретное устройство, для которого требуется такой модуль), так и в любое время по желанию пользователя.

Еще одно недавнее усовершенствование Linux — возможность ее использования в качестве операционной системы для других операционных систем (т.н. гипервизора). Недавно в ядро было внесено усовершенствование, получившее название Kernel-based Virtual Machine (KVM, виртуальная машина на базе ядра). В результате этой модификации в пространстве пользователя был реализован новый интерфейс, позволяющий исполнять поверх ядра с поддержкой KVM другие операционные системы. В таком режиме можно не только исполнять другие экземпляры Linux, но и виртуализовать Microsoft® Windows®. Единственное ограничение состоит в том, что используемый процессор должен поддерживать новые инструкции виртуализации. Более подробную информацию см. в разделе Ресурсы.

Дальнейшее изучение

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

Ресурсы для скачивания

Похожие темы

  • Оригинал статьи Anatomy of the Linux kernel: History and architectural decomposition.
  • На сайте GNU описана лицензия GNU GPL, которая распространяется на ядро Linux и большинство поставляемых с ним полезных приложений. Также описана менее ограничительная форма GPL, т.н. Lesser GPL (LGPL).
  • Описания UNIX, MINIX и Linux можно найти в энциклопедии Wikipedia. Там же имеется подробное генеалогическое древо операционных систем.
  • Библиотека GNU C, она же glibc, представляет собой реализацию стандартной библиотеки C. Она используется в операционной системе GNU/Linux, а также в микроядерной операционной системе GNU/Hurd.
  • uClinux это портированная версия ядра Linux, способная работать на системах, не имеющих блока управления памятью (MMU). Это дает возможность исполнять ядро Linux на очень компактных встраиваемых платформах, например, на процессоре Motorola DragonBall, применяемом в карманных компьютерах PalmPilot.
  • «Управление ядром с помощью системных вызовов Linux» Статья посвящена важному уровню ядра Linux — интерфейсу системных вызовов, поддержку которого на уровне пространства пользователя обеспечивает библиотека glibc, позволяющая осуществлять вызовы функций между пространством пользователя и ядром.
  • «Внутреннее устройство планировщика Linux» Новый планировщик O(1), появившийся в версии Linux 2.6, обладает высокой эффективностью, хорошо масштабируется для большого числа процессов (потоков) и поддерживает SMP-системы.
  • «Доступ к ядру Linux с помощью файловой системы /proc» В статье рассматривается файловая система /proc — виртуальная файловая система, предоставляющая приложениям в пространстве пользователя принципиально новый способ взаимодействия с ядром. Помимо /proc, в статье рассматриваются загружаемые модули ядра.
  • «Клиника серверов: практическое использование виртуальных файловых систем» В статье рассматривается уровень VFS, который позволяет Linux поддерживать множество разных файловых систем через общий интерфейс. Этот же интерфейс используется и для других типов устройств, например, сокетов.
  • «Устройство процесса загрузки Linux» В статье рассматривается процесс загрузки Linux, который следует одной и той же базовой схеме независимо от того, загружаетесь ли вы с жесткого диска, дискеты, USB-накопителя или через сеть.
  • «Виртуальный стартовый диск в Linux (initrd) — обзор» В статье рассматривается виртуальный стартовый диск — функция, которая позволяет отделить процесс загрузки от физического носителя, с которого происходит загрузка.
  • «Улучшение работы сетей с помощью SCTP» Статья посвящена одному из самых интересных сетевых протоколов — Stream Control Transmission Protocol — который работает аналогично TCP, но имеет при этом ряд дополнительных полезных функций, например, обмен сообщениями, поддержка нескольких IP-адресов узла (multi-homing), передача фрагментов разных потоков данных (multi-streaming). Linux, как и BSD — отличная операционная система, если вас интересует поддержка сетевых протоколов.
  • «Анатомия механизма slab allocator в Linux» Статья посвящена одному из самых интересных аспектов управления памятью в Linux — механизма slab allocator. Этот механизм впервые появился в SunOS, но прекрасно прижился и в ядре Linux.
  • «Виртуальный Linux» Статья рассказывает о том, как Linux может использовать возможности процессоров, поддерживающих виртуализацию.
  • «Linux и симметричные многопроцессорные системы» В статье рассматривается вопрос о том, как Linux может использовать возможности процессоров с поддержкой многопроцессорных конфигураций на уровне кристалла.
  • «Знакомство с виртуальной машиной ядра Linux» В статье рассматриваются недавно появившиеся в ядре Linux средства виртуализации, превращающие ядро Linux в гипервизор для других виртуализованных операционных систем.
  • Ознакомьтесь с книгой Тима Джонса: Программирование приложений для GNU/Linux, подробно рассказывающей о программировании для Linux в пространстве пользователя.
  • В разделе Linux сайта developerWorks Россия можно найти другие ресурсы для Linux-разработчиков.
  • Используйте ознакомительные версии ПО IBM, которые можно загрузить непосредственно с developerWorks, в вашем следующем проекте разработки для Linux.


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

Ядро и процессы

Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Это такая схема операционной системы, при которой все компоненты её ядра являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Монолитное ядро — старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство UNIX-систем.

  • Достоинства: Скорость работы, упрощённая разработка модулей [1] .
  • Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

Примеры: Традиционные ядра UNIX (такие как BSD), Linux; ядро MS-DOS, ядро KolibriOS.

Некоторые старые монолитные ядра, в особенности систем класса UNIX/Linux, требовали перекомпиляции при любом изменении состава оборудования. Большинство современных ядер позволяют во время работы подгружать модули, выполняющие часть функций ядра. В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы, называемой монолитным ядром (monolithic kernel), которое представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме.

Модульное ядро

Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем.

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

Микроядро

Микроядро предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Бо́льшая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. Решающим критерием «микроядерности» является размещение всех или почти всех драйверов и модулей в сервисных процессах, иногда с явной невозможностью загрузки любых модулей расширения в собственно микроядро, а также разработки таких расширений.

  • Достоинства: Устойчивость к сбоям оборудования, ошибкам в компонентах системы. Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая её работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.
  • Недостатки: Передача данных между процессами требует накладных расходов.

Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов, реализующих базовые сервисы операционной системы.

  • Сервисные процессы (в принятой в семействе UNIX терминологии — «демоны») активно используются в самых различных ОС для задач типа запуска программ по расписанию (UNIX и Windows NT), ведения журналов событий (UNIX и Windows NT), централизованной проверки паролей и хранения пароля текущего интерактивного пользователя в специально ограниченной области памяти (Windows NT). Тем не менее, не следует считать ОС микроядерными только из-за использований такой архитектуры.

Экзоядро

Экзоядро — ядро операционной системы, предоставляющее лишь функции для взаимодействия между процессами, безопасного выделения и освобождения ресурсов. Предполагается, что API для прикладных программ будут предоставляться внешними по отношению к ядру библиотеками (откуда и название архитектуры).

Возможность доступа к устройствам на уровне контроллеров позволит эффективней решать некоторые задачи, которые плохо вписываются в рамки универсальной ОС, например, реализация СУБД будет иметь доступ к диску на уровне секторов диска, а не файлов и кластеров, что положительно скажется на быстродействии.

Наноядро

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

Гибридное ядро

Гибридные ядра — это модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра. Пример: ядра ОС Windows семейства NT.

Комбинация разных подходов

Все рассмотренные подходы к построению операционных систем имеют свои достоинства и недостатки. В большинстве случаев современные операционные системы используют различные комбинации этих подходов. Так, например, сейчас ядро «Linux» представляет собой монолитную систему с отдельными элементами модульного ядра [источник не указан 39 дней] . При компиляции ядра можно разрешить динамическую загрузку и выгрузку очень многих компонентов ядра — так называемых модулей. В момент загрузки модуля его код загружается на уровне системы и связывается с остальной частью ядра. Внутри модуля могут использоваться любые экспортируемые ядром функции.

Илон Маск рекомендует:  Что такое код mailparse_stream_encode

Существуют варианты ОС GNU, в которых вместо монолитного ядра применяется ядро Mach (такое же, как в Hurd), а поверх него крутятся в пользовательском пространстве те же самые процессы, которые при использовании Linux были бы частью ядра. Другим примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляются монолитным ядром. Данный подход сформировался в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.

Смешанное ядро, в принципе, должно объединять преимущества монолитного ядра и микроядра: казалось бы, микроядро и монолитное ядро — крайности, а смешанное — золотая середина. В них возможно добавлять драйверы устройств двумя способами: и внутрь ядра, и в пользовательское пространство. Но на практике концепция смешанного ядра часто подчёркивает не только достоинства, но и недостатки обоих типов ядер.

Ядро Linux и его функции

Ядро Linux — один из самых крупных проектов с открытым исходным кодом, содержащий более 13-ти миллионов строк кода, но что это такое и для чего нужно?

Итак, что такое Ядро?

Ядро — самый нижний уровень легкозаменяемого ПО, взаимодействующий с оборудованием компьютера. Оно отвечает за взаимодействие приложений, работающих в пользовательском режиме, с реальным оборудованием и позволяет процессам, известным как «серверы», получать информацию друг у друга, используя межпроцессное взаимодействие (IPC).

Разные виды ядер

Естественно, есть разные подходы к построению ядра и разнообразные архитектурные особенности, которые надо учесть при разработке ядра с нуля. В целом, большинство ядер можно разделить на три вида: монолитное, микроядерное и гибридное. У Linux ядро монолитное, в то время, как OS X (XNU) и Windows 7 (на самом деле — все Windows NT-семейства — прим. пер.) используют гибридные ядра. Давайте кратко рассмотрим эти категории, и позже углубимся в детали каждой из них.

Микроядро

Подход микроядра заключается в управлении только тем, чем должно управлять ядро — процессор, память и IPC. Практически все остальное рассматривается как дополнительное оборудование и управляется в пользовательском режиме. У микроядер есть преимущество в переносимости, так как вам не нужно беспокоится о смене видеокарты или даже операционной системы, до тех пор, пока операционная система обращается к оборудованию тем же образом. Микроядра очень малы, как в смысле занимаемой памяти, так и в смысле занимаемого места на диске при установке, и, как правило, они более безопасны, потому что большинство процессов, в том числе системных, выполняются в режиме пользователя, что не требует (и не предоставляет) многих прав доступа, в отличие от работы в режиме ядра.

Плюсы

Требуют мало места для установки

Занимают мало места в памяти

Минусы

    Драйверы как слой абстракции для оборудования


Оборудование может иметь большие задержки, потому что драйверы работают в пользовательском режиме

Процессы вынуждены ждать своей очереди для получения информации

Процессы не могут получить доступ к другим процессам без ожидания

Монолитное ядро

Монолитные ядра противоположны микроядрам — они включают в себя не только системы управления процессорами, памятью и IPC, но еще и драйверы устройств, управление файловыми системами и системные обслуживающие вызовы. Монолитные ядра обычно выигрывают в работе с оборудованием и в многозадачности, потому что если программе нужно получить информацию из памяти или от другого запущенного процесса, ей не нужно ждать в очереди — для нее есть более прямой и простой путь к получению необходимого. Однако, это может вызвать проблемы, так как чем больше программ требуют обширных прав доступа, тем больше опасности «уронить» систему, если одна из них не функционирует корректно.

Плюсы

    Прямой доступ к оборудованию для приложений

Процессам проще взаимодействовать друг с другом

Если устройство поддерживается — оно будет работать без лишних телодвижений

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

Минусы:

    При установке занимает много места

Занимает много памяти

Менее безопасно, т.к. больше процессов выполняется в режиме ядра

Гибридное ядро

Гибридные ядра выбирают, что они будут запускать в пользовательском режиме, а что — в режиме ядра. Часто такие компоненты, как драйверы устройств и ввод/вывод файловой системы, запускаются в пользовательском режиме, в то время как IPC и обслуживающие вызовы работают в режиме ядра. Это дает преимущества обоих подходов, но часто требует большей работы со стороны производителей, потому что ответственность за драйверы перекладывается на них. Так же имеются скрытые недостатки, которые присущи микроядрам.

Плюсы

    Разработчик может выбрать, какие компоненты запускать в пользовательском режиме, а какие — в режиме ядра

Занимает меньше места, чем монолитное ядро

Более гибкое по сравнению с остальными подходами

Минусы

    Может страдать от тех же задержек процессов, что и микроядро

Драйверы устройств — забота пользователя (как правило)

Где находятся файлы ядра Linux?

Файл ядра в Ubuntu лежит в папке /boot и называется vmlinuz- . Имя vmlinuz пришло из мира UNIX шестидесятых годов , в котором ядра назывались просто «unix», в результате чего в начале девяностых при появлении ядро стало называться «linux».

Когда для упрощения многозадачности была разработана виртуальная память (virtual memory), для отображения её поддержки в начало файла стали добавлять «vm». Некоторое время ядро называлось vmlinux, но потом оно разрослось слишком сильно, чтобы уместиться в доступной при загрузке памяти, и его стали сжимать, и «x» в конце названия сменился на «z», чтобы показать, что оно сжато при помощи zlib. Не всегда используется такой тип компрессии и часто заменяется на LZMA или BZIP2, и, иногда, ядра называются zImage (или bzImage — прим. пер.).

Нумерация версий имеет формат A.B.C.D, где A.B, скорее всего, будет 2.6 (семейство ядра. Четная цифра B говорит о стабильном семействе — 2.0, 2.2, 2.4, 2.6, — а нечетная — о версиях для разработчиков — 2.1, 2.3, 2.5, 2.7 — прим. пер.), C будет вашей версией, а D будет отображать ваши патчи и исправления.

Также в каталоге /boot есть очень важные файлы, называющиеся initrd.img- , system.map- , и config- . Файл initrd используется как маленький RAM-диск, который распаковывает и исполняет собственно ядро. Файл system.map используется для управления памятью до полной загрузки ядра и файл config указывает ядру, какие опции и модули загружать в ядро в процессе сборки.

Архитектура ядра Linux

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

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

Представьте что вы можете установить новый пакет обновлений на Windows, даже не перезагрузив ее…

Модули ядра

Представьте, что в Windows уже установлены все необходимые драйвера, и все, что вам нужно сделать — просто включить те, которые нужны вам? Вот вы и увидели то, как в Linux работают модули ядра. Модули ядра, также известные как загружаемые модули ядра (loadable kernel module — LKM), выполняют ключевую роль в поддержании функционирования ядра со всеми вашими устройствами, не потребляя всю доступную память.

Модуль обычно добавляет базовому ядру возможности в таких сферах, как поддержка оборудования, файловых систем и системных вызовов. Обычно файлы LKM имеют расширение .ko и хранятся в папке /lib/modules. Благодаря модульности можно легко настраивать ядро (http://www.howtogeek.com/howto/ubuntu/how-to-customize-your-ubuntu-kernel/), указывая, какие модули загружать, а какие нет, во время загрузки при помощи команды menuconfig, редактируя файл /boot/config или загружать и выгружать модули на лету при помощи команды modprobe.

Во многих дистрибутивах (таких, как Ubuntu) доступны сторонние, а так же закрытые (проприетарные) модули, которые обычно не устанавливаются, так как их исходный код недоступен. Разработчики ПО (например, nVidia, ATI и другие) не предоставляют исходные файлы, вместо этого они сами собирают собственные модули и предоставляют необходимые .ko-файлы для конкретного дистрибутива. Пока эти модули бесплатны, но не свободны (http://www.howtogeek.com/howto/31717/what-do-the-phrases-free-speech-vs.-free-beer-really-mean/), мейнтейнеры некоторых дистрибутивов не включают их, стараясь не «загрязнять» ядро несвободными компонентами.

Заключение

Ядро — не что-то волшебное, оно совершенно необходимо любому компьютеру для нормальной работы. Ядро Linux отличается от ядер Windows и OS X тем, что оно включает драйверы устройств на уровне ядра и поддерживает многое «из коробки». Надеемся, теперь вы знаете немного больше о совместной работе вашего программного обеспечения и оборудования, а так же о том, какие файлы необходимы для загрузки вашего компьютера.

СТРОЕНИЕ АТОМНОГО ЯДРА И ЯДЕРНЫЕ ПРОЦЕССЫ

С развитием концепции атомизма и переходом к исследованию элементарных частиц физики приступили к изучению самого ядра атома. В модели атома Резерфорда-Бора предполагалось, что ядро состоит из положительно заряженных массивных протонов. Только после открытия в 1932 г. английским физиком Джеймсом Чедвиком (1891-1974) электрически нейтральной частицы, названной нейтроном, в изучении строения ядра наметился явный прогресс. Сразу же после этого открытия русский физик Дмитрий Иваненко (1904-1994) первым выступил в печати с гипотезой, что ядро атома состоит из положительно заряженных протонов и лишенных заряда нейтронов. В том же году немецкий физик В. Гейзенберг развил эту гипотезу дальше. Тот факт, что нейтроны электрически нейтральны, сыграл ключевую роль в дальнейших ядерных исследованиях. Во-первых, электрически нейтральные нейтроны не отталкиваются ядром и поэтому их можно применить для бомбардировки ядра и более тщательного изучения его строения и свойств. Во-вторых, нейтроны служат незаменимым средством в практическом использовании ядерной энергетики, получении трансурановых элементов, радиоактивных изотопов, геологической разведке и т.д.

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

где 7V — число нейтронов;

Л — массовое число;

Z — число протонов.

Размеры ядра зависят от числа содержащихся в нем нуклонов. Плотность ядерного вещества чрезвычайно велика и согласно расчетам составляет приблизительно 10 14 г/см 3 , т.е. 10 8 т/см 3 .

Исследование структуры ядра сопряжено со многими теоретическими и экспериментальными трудностями. Поэтому при построении моделей ядра используются различные аналогии и полуэмпири- ческие схемы. Так, еще в 1936 г. известный датский ученый Н. Бор и советский физик Яков Френкель (1894—1952) выдвинули капельную модель атомного ядра. В ней ядро рассматривается по аналогии с каплей жидкости, которая, однако, состоит из интенсивно взаимодействующих между собой протонов и нейтронов. Поверхность такой капли может колебаться и при определенных условиях привести к разделению капли на части, т.е. к разрушению ядра.

Другая модель была предложена американским физиком Марией Гепперт-Майер (1906—1972) и немецким физиком Хансом Йенсеном (1907—1973) в 1950-е гг. Она была названа оболочечной моделью ядра. Согласно данной модели нуклоны, как и электроны в атоме, заполняют соответствующие оболочки в ядре, которые характеризуются разными значениями энергий. В противовес этой модели датские ученые Оге Бор (р. 1922), сын Н. Бора, и Бенжамин Моттелъсон (р. 1926) выдвинули обобщенную модель ядра, которая состоит из устойчивой внутренней части, вокруг которой движутся внешние нуклоны. Под воздействием этих нуклонов внутренняя часть ядра может изменять свою структуру, принимая форму вытянутого эллипсоида, напоминающую своего рода каплю. Поскольку указанная модель в определенной мере объединяет представления капельной и оболочечной моделей, ее и назвали обобщенной.

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

Из этой разницы как раз и образуется тот дефект массы, за счет которого возникает огромная термоядерная энергия в результате расщепления ядра:

Отсюда становится ясно, что масса ядра атома меньше массы составляющих его нуклонов, так как в процессе синтеза часть их массы превращается в энергию и выделяется в окружающую среду. Зная общую энергию связи нуклонов, можно найти удельную энергию, приходящуюся на отдельный нуклон. Для большинства ядер эта энергия в среднем оказывается одинаковой, но для легких и тяжелых ядер наблюдается отклонение от среднего значения. Следует также обратить внимание на то, что с увеличением числа протонов в тяжелых ядрах тех атомов, которые занимают места в последних клетках Периодической системы элементов Менделеева, заметное воздействие оказывают силы отталкивания между положительно заряженными протонами. Они стремятся разрушить ядро, и поэтому ядра таких атомов становятся нестабильными, а атомы химических элементов начиная с № 83 (висмут) оказываются неустойчивыми. Именно этим объясняется естественная радиоактивность элементов, наблюдаемая в природе.

Впервые радиоактивность обнаружил французский ученый Анри Беккерелъ (1852—1908) в 1896 г. Изучая соли урана, а затем и чистый уран, он заметил, что они непрерывно излучают энергию, которую Беккерель назвал радиоактивной. Дальнейшее исследование явления радиоактивности другими учеными, в особенности супругами Марией Кюри-Склодовской (1867—1934) и Пьером Кюри (1859—1906), открывшими новые радиоактивные элементы полоний и радий, позволило выявить ряд свойств и закономерностей радиоактивного излучения. Было установлено, что все радиоактивные вещества испускают три рода лучей, которые были названы а-, р- и у-лучами. При анализе а-лучи оказались ядрами гелия, р-лучи сначала связывали с испусканием электрона, но теперь известно, что они характерны для слабого взаимодействия вообще, у-лучи обладают большой проникающей способностью и во многом аналогичны жестким рентгеновским лучам.

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

В 1940 г. русские ученые Г.Н. Флеров (1913-1990) и К.А. Петржак открыли новый вид радиоактивного превращения, связанный со спонтанным, или самопроизвольным, делением атомных ядер. Но явление радиоактивности, наблюдаемое в естественных условиях, вряд ли по своему значению и роли в физико-химических исследованиях можно сравнить с искусственной радиоактивностью, которая вызывается и контролируется самим ученым. Преимущества такого исследования очевидны, во-первых, потому, что ученый получает при этом возможность экспериментировать с явлениями, во-вторых, и это главное, он создает искусственные элементы, которые не встречаются в природе.

Первыми такую искусственную радиоактивность наблюдали французские физики — супруги Ирен (1897-1956) и Фредерик (1900— 1958) Жолио-Кюри, получившие изотоп фосфора. В настоящее время наиболее эффективным средством, способным вызвать искусственную радиоактивность или позволить получить изотопы, служат нейтроны. В принципе искусственная радиоактивность не отличается от радиоактивности естественной, поскольку обе они основываются на разрушении ядер атомов и превращении одних атомов в другие.

Особого внимания заслуживает процесс деления тяжелых ядер, который может происходить как в естественных, так и в искусственных условиях. В последнем случае для этого следует бомбардировать ядро нейтронами. В 1939 г. немецкие ученые Отто Ган (1879—1968) и Ф. Штрассман, бомбардируя уран нейтронами, обнаружили, что при этом образуются ядра щелочноземельных элементов. В том же году австрийские физики Лизе Маитнер (1878—1968) и О. Фриш установили, что при бомбардировке ядра урана-235 нейтронами оно делится на два осколка и при этом испускается 2—3 свободных нейтрона. Эти нейтроны, попадая на другие ядра, могут вызвать их деление, запустив таким образом цепную реакцию. В результате этого выделяется огромное количество энергии в соответствии с принципом дефекта массы, рассмотренного выше. Для сравнения можно отметить, что энергия, получаемая в результате цепной реакции деления 1 кг урана, в несколько миллионов раз больше, чем, например, при сжигании того же количества угля.

Однако осуществить такую цепную реакцию весьма трудно, поскольку для этого требуется уран-235, которого в природном уране содержится всего 0,7%. Поэтому необходимо из урановой руды выделить достаточное количество урана-235, чтобы могла начаться цепная реакция. Эта критическая масса составляет несколько десятков килограммов. Такая реакция будет, однако, неуправляемой и может привести к большому взрыву, как и в водородной бомбе. Но реакция, которая в ней происходит, имеет принципиально иной характер, поскольку основана на термоядерном синтезе, т.е. на соединении легких ядер водорода при очень высоких температурах в сотни миллионов градусов, которая получается путем взрыва атомной бомбы, сконструированной вместе с водородной бомбой. Огромная температура, выделяемая при атомном взрыве, создает условия для термоядерного синтеза ядер водорода и выброса получаемой при этом гигантской энергии.

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

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL