Безопасность открытых операционных систем, включая Linux, является важным аспектом для обеспечения безопасности данных и защиты от кибератак


Уровни абстракции в системе Linux


Download 40.1 Kb.
bet3/3
Sana09.06.2023
Hajmi40.1 Kb.
#1468179
1   2   3
Bog'liq
Untitled 2

1.1 Уровни абстракции в системе Linux
Использование абстракции для разделения вычислительных систем на компоненты облегчает понимание, но это не работает без организации. Мы распределяем компоненты по слоям или уровням, классифицируем (или группируем) компоненты в соответствии с тем, где компоненты находятся между пользователем и оборудованием. Веб—браузеры, игры и тому подобное находятся на верхнем уровне; на нижнем уровне у нас есть память в компьютерном оборудовании - 0s и 1s. Операционная система занимает множество промежуточных уровней.
Система Linux имеет три основных уровня. На рисунке 1 показаны эти уровни и некоторые компоненты внутри каждого уровня. Оборудование находится в основании. Аппаратное обеспечение включает в себя память, а также один или несколько центральных процессоров (CPU) для выполнения вычислений и чтения из памяти и записи в нее. Такие устройства, как диски и сетевые интерфейсы, также являются частью аппаратного обеспечения.
Следующий уровень - это ядро, которое является ядром операционной системы. Ядро - это программное обеспечение, находящееся в памяти, которое сообщает процессору, где искать его следующую задачу. Действуя как посредник, ядро управляет аппаратным обеспечением (особенно основной памятью) и является основным интерфейсом между аппаратным обеспечением и любой запущенной программой.
Процессы — запущенные программы, которыми управляет ядро, — в совокупности составляют верхний уровень системы, называемый пользовательским пространством. (Более конкретный термин для процесса - пользовательский процесс, независимо от того, взаимодействует ли пользователь непосредственно с процессом. Например, все веб-серверы выполняются как пользовательские процессы.)

Рисунок 1: Общая организация системы Linux

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


Пользовательский режим, для сравнения, ограничивает доступ к (обычно довольно небольшому) подмножеству памяти и безопасным операциям процессора. Пользовательское пространство относится к частям основной памяти, к которым могут получить доступ пользовательские процессы. Если процесс допускает ошибку и выходит из строя, последствия ограничены и могут быть устранены ядром. Это означает, что если ваш веб-браузер выйдет из строя, он, вероятно, не остановит научные вычисления, которые выполнялись в фоновом режиме в течение нескольких дней.
Теоретически, сбой пользовательского процесса не может нанести серьезного ущерба остальной части системы. На самом деле это зависит от того, что вы считаете “серьезным ущербом”, а также от конкретных привилегий процесса, потому что некоторым процессам разрешено делать больше, чем другим. Например, может ли пользовательский процесс полностью уничтожить данные на диске? При правильных разрешениях — да, и вы можете счесть это довольно опасным. Однако существуют меры предосторожности, позволяющие предотвратить это, и большинству процессов просто не позволено сеять хаос таким образом.
Download 40.1 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling