Что такое ядро


  Share  
|

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

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

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

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

  • Файловая система контроля. Ядро управляет всеми доступ к жесткому диску, изъятие сырьевых цилиндров и секторов диска в файловой системе.

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

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

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

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

Для Linux и Windows операционных систем, только кольца 0 и 3 используются; Других вариантов поддержку x86 процессоров (т.е., Кольца 1 и 2) не используются. Ядро сам, в Linux и Windows, запускается в Ring 0. По сути дела, запустить Ring 0 определяется той или иной задачи, как на уровне ядра. Если вы проводите в Ring 0, можно получить доступ ко всем ядра памяти структур, и поэтому на том же уровне, как код ядра. Пользователь режиме процессы запускаются в Ring 3, и, в большинстве условий, не в состоянии получить доступ к ядра пространства напрямую. Используя Ring 0 и Кольцо 3, все программное обеспечение на компьютере действительно высечены на две разных мирах: режим ядра (работает в Ring 0) и режим пользователя (работает в Ring 3). Для не- x86 процессоров, операционных систем использовать аналогичные концепции Ring 0 и Кольцо 3 осуществляться в CPU оборудования. Почти все процессоров поддержать некоторые понятия привилегированного режима, где ядро жизни, и nonprivileged режиме для пользователя процессов.

Итак, ваша операционная система действительно состоит из двух миров: пользовательском режиме и режиме ядра. В пользовательском режиме является то, что вы обычно видеть и взаимодействовать с на повседневной основе в вашей системе, так как она содержит программы запуска, например, командной оболочки, GUI, почтового сервера, или текстовый редактор. Другой мир, режиме ядра, молча лежит под всей операции управления доступа к аппаратным и в целом борьбы вещи. Когда система загружается, ядро загружено в память и начинает выполнение в Ring 0, создав таким образом первого мира (режим ядра). После ядро получает сама создана в памяти, он активизирует различные пользовательского режима процессов, которые позволят индивидуальным пользователям доступ к системе и запускать программы, что создает для пользователя режиме мира.

Важно отметить, что режим ядра является очень разные понятия из корневой администратора или разрешения. Когда администратор проходит команды, данной программы осуществляет в пользовательском режиме; , Что, в Ring 3. С точки зрения ядра, администратор это просто пользователь, хотя и важным, но все же кто-то, живущих в Ring 3.

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

Когда администраторы попросить список выполняющихся программ с использованием инструментов, таких, как UNIX пс, lsof, или верхней команды или Windows Task Manager, они выполняете команду от пользователя режиме, в котором просит ядро список всех запущенных процессах. Ядро захвата данных от ядра в режиме структуры данных, в соответствии с пользовательского режима команду с соответствующей информацией, а также активные процессы отображаются. Кроме того, администратор или пользователи могут запросить список файлов в каталоге. Ядро отвечает соответствующую информацию. Или вы можете взглянуть на котором TCP или UDP портам в использовании, или же сетевой интерфейс находится в режиме жизнь. Можно даже запустить файл проверки целостности видеть, если любой из ваших важнейших системных файлов были изменены с пользовательского режима RootKit. Все эти взаимодействия, и гораздо больше, полагаться на ядро для определения статуса машины. Вот как все это должно работать. Ядро берет бизнес, и все довольны.

в этой статье идет речь добавил Рафаэль Кван

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions