Другое

Ядро операционной системы: что собой представляет и что входит в состав

Lorem ipsum dolor

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

  • времени работы процессора;

  • оперативной памяти;

  • внешним аппаратным устройствам, подключенным к компьютеру;

  • устройствам ввода и вывода информации;

  • и др.

Когда мы произносим слово «ядро», у большинства людей возникает ассоциация с чем-то круглым. Однако ядро операционной системы представляет собой основной программный код. Его можно представить, ассоциируя с ядром Земли. Каждый пользователь еще из курса школьной географии знает, что внутри Земли расположено ядро, а поверх ядра располагаются:

  • внешнее ядро,

  • нижняя мантия,

  • верхняя мантия,

  • земная кора, на поверхности которой живут люди.

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

  • процессор,

  • оперативную память,

  • hard-диски,

  • программное обеспечение,

  • периферийное оборудование,

  • и др.

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

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

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

  2. Модульное ядро операционной системы. По сути, представляет собой более «продвинутое» монолитное ядро. Подобное ядро располагает все такой же монолитной архитектурой, однако его отдельные компоненты представляют собой отдельные модули. К примеру, когда необходимо обновить какой-либо компонент монолитного ядра, происходит обновление всего ядра, так как невозможно обновить компонент отдельно. Если необходимо обновить компонент в модульном ядре, тогда происходит обновление только модуля, в котором содержится компонент. Таким образом, обновление компонентов ядра может происходит без перезагрузки операционной системы, а непосредственно во время работы устройства.

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

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

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

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

Каждый вид архитектуры имеет собственные достоинства и недостатки. Большинство современных операционных систем не используют какую-то архитектуру в единственном «чистом» виде. Например, большинство Linux-дистрибутивов используют монолитные ядра с элементами модульного подхода, то есть в монолитной структуре ядра лишь часть компонентов заняла модули. Ядро операционной системы Windows также имеет гибридную архитектуру, однако здесь «смешиваются» монолитные ядра с микроядрами, но в более высоких пропорциях, чем в Linux-системах. То есть Линукс больше придерживается монолитной архитектуры, а Windows гибридной.

«Смешивание» разных ядер дает возможность воспользоваться достоинствами разных архитектур, однако их недостатки тоже присутствуют и никуда не исчезают.

Ядро операционной системы: функции

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

  1. Управляет процессами. За этим выражением кроется огромная работа операционной системы. Как только пользователь запускает устройство, система начинает выполнять большое количество видимых и не видимых пользователю задач. Каждая отдельная задача представляет собой процесс, которым управляет ядро операционной системы. В этом контексте можно представить ядро регулировщиком дорожного движения на перекрестке с большим потоком автомобилей, движущихся в разных направлениях. Если «регулировщик» оплошает, тогда может наступить коллапс.

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

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

  4. Управляет прерыванием. Запущенных процессов в системе может быть очень много. Их обработка происходит в определенной последовательности, но бывают такие процессы, которые нужно выполнить в приоритетном порядке. В этом случае необходимо прервать запущенный процесс, чтобы обработать приоритетный, а потом закончить «прерванный». Если вспомнить «регулировщика», тогда это напоминает процесс, когда движется автомобиль со специальными сигналами. «Регулировщик» вынужден остановить поток, пропустить спецавтомобиль, а потом возобновить движение потока автомобилей.

Заключение

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

Схожие статьи

Другое

Свёрточные нейросети: как они работают, где применяются и какие бывают

Все возможности Facebook для разработчиков
Другое

Все возможности Facebook для разработчиков

Другое

Как запустить планировщик заданий из командной строки? Планировщик задач cmd

Ранги программистов: юниор, миддл, сеньор, что они означают?
Другое

Ранги программистов: юниор, миддл, сеньор, что они означают?

×