The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Для ядра Linux предложена реализация SMB-сервера, opennews (??), 30-Авг-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


20. "Для ядра Linux предложена реализация SMB-сервера"  +7 +/
Сообщение от Хан (?), 30-Авг-21, 20:14 
Защинененный режим процессора был создан как инструмент для изоляции кода ядра от пользовательского софта, другими словами когда приложение дергает ядро за системные вызовы, происходит переключение в режим ядра в котором выполняется только ядро, которое считывает номер системного вызова передаваемого пользовательским ПО и сопоставляет его со списком указателей на свои функции, после чего вызывает соответствующую функцию для обработки данного вызова и когда ядерная функция завершает свое выполнение снова происходит переключение режима процессора из превилигированного режима в неприлигированный

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

К чем это я? Да переключение режима процессора накладывает определенные расходы, но если все запихнуть в привилигированный режим ядра, в результате получится реальный режим, привет MS-DOS

Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

207. "Для ядра Linux предложена реализация SMB-сервера"  +/
Сообщение от Kusb (?), 31-Авг-21, 18:07 
Хорошо. А почему через заранее оговорённые регистры это "не напрямую"? Я воображал, что все функции вызываются как-то так, через параметры в регистрах.
Прошу прощения за ламерское видение, я не знаю где там переход на какой-то адрес, а где функция или ядро как-то вызывается (По прерываниям? В Колибри по моему так.)
Ответить | Правка | Наверх | Cообщить модератору

218. "Для ядра Linux предложена реализация SMB-сервера"  +/
Сообщение от n00by (ok), 01-Сен-21, 12:16 
Да всё верно Вы воображали. "Изоляция достигается" когда при исполнении команд int (или syscall) изменяется уровень привилегий. Эта операция занимает времени больше, чем обычный вызов подпрограммы. Остальное (про регистры) лишнее.

Из ядра не вытащить, поскольку прерывание от сетевой обрабатывает ядро. Но всё подряд тянуть в ядро опасно.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру