Я смотрел на различные отношения, которые могут существовать между операционной системой и пользовательским процессом. Я наткнулся на рисунок ниже. Он показывает архитектуру, в которой функции ОС выполняются с пользовательскими процессами.
1) Я хотел получить разъяснения по части диаграммы, обозначенной как функция ОС. Является ли эта часть абсолютно одинаковой для всех пользовательских процессов? Другими словами, является ли этот общий код доступным для каждого процесса?
2) Единственная разница между функциями переключения процессов (серая основа на диаграмме) и функциями ОС заключается в том, что функции ОС выполняются как пользовательские процессы, тогда как функции переключения процессов работают как процессы ОС? Почему должна быть такая разница?
Сопровождающий текст для обеспечения контекста диаграммы:
«Альтернатива, которая характерна для операционных систем на небольших компьютерах (ПК, рабочих станциях), - запуск практически всего программного обеспечения ОС в контексте пользовательского процесса.Представление состоит в том, что ОС - это прежде всего набор подпрограмм, которые пользователь вызывает для выполнения различных функций, выполняемых в среде пользовательского процесса .... В любой момент ОС управляет n образами процессов ......... Когда происходит прерывание, прерывание или вызов супервизора, процессор переводится в режим ядра и управление передается ОС. Чтобы передать управление от пользовательской программы к ОС, контекст режима сохраняется, и переключение режима происходит в рутину операционной системы. Однако выполнение продолжается в текущем пользовательском процессе. Таким образом, переключение процессов не выполняется, просто переключение режимов в одном и том же процессе ».
(Стр.136 Операционные системы от Stallings)