как код операционной системы и код пользовательских приложений работают на одном процессоре - PullRequest
0 голосов
/ 27 января 2019

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

работает ли ОС на выделенном процессоре и контролирует пользовательскую программу на каком-то другом процессоре?

какОС фактически обрабатывает пользовательские приложения?

Ответы [ 2 ]

0 голосов
/ 27 января 2019

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

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

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

0 голосов
/ 27 января 2019

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

Чтение Операционная система: три простых компонента (свободно загружаемая книга).

работает ли ОС на выделенном процессоре и контролирует пользовательскую программу на каком-либо другом процессоре?

Как правило, нет.Тот же процессор (или ядро) находится либо в пользовательском режиме (для пользовательских программ; читайте о пространстве пользователя и изоляции процесса и защитных кольцах ) или в режиме супервизора (для операционной системы ядро ​​)

как ОС фактически обрабатывает пользовательские приложения?

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

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

Читайте также о микроядрах , unikernels и др.

...