1.5 ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА
1.5 ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА
Выполнение пользовательских процессов в системе UNIX осуществляется на двух уровнях: уровне пользователя и уровне ядра. Когда процесс производит обращение к операционной системе, режим выполнения процесса переключается с режима задачи (пользовательского) на режим ядра: операционная система пытается обслужить запрос пользователя, возвращая код ошибки в случае неудачного завершения операции. Даже если пользователь не нуждается в каких-либо определенных услугах операционной системы и не обращается к ней с запросами, система еще выполняет учетные операции, связанные с пользовательским процессом, обрабатывает прерывания, планирует процессы, управляет распределением памяти и т. д. Большинство вычислительных систем разнообразной архитектуры (и соответствующие им операционные системы) поддерживают большее число уровней, чем указано здесь, однако уже двух режимов, режима задачи и режима ядра, вполне достаточно для системы UNIX.
Основные различия между этими двумя режимами:
В режиме задачи процессы имеют доступ только к своим собственным инструкциям и данным, но не к инструкциям и данным ядра (либо других процессов). Однако в режиме ядра процессам уже доступны адресные пространства ядра и пользователей. Например, виртуальное адресное пространство процесса может быть поделено на адреса, доступные только в режиме ядра, и на адреса, доступные в любом режиме.
Некоторые машинные команды являются привилегированными и вызывают возникновение ошибок при попытке их использования в режиме задачи. Например, в машинном языке может быть команда, управляющая регистром состояния процессора; процессам, выполняющимся в режиме задачи, она недоступна.
Процессы A B C D Режим ядра Я . . Я Режим задачи . З З .
Рисунок 1.5. Процессы и режимы их выполнения
Проще говоря, любое взаимодействие с аппаратурой описывается в терминах режима ядра и режима задачи и протекает одинаково для всех пользовательских программ, выполняющихся в этих режимах. Операционная система хранит внутренние записи о каждом процессе, выполняющемся в системе. На Рисунке 1.5 показано это разделение: ядро делит процессы A, B, C и D, расположенные вдоль горизонтальной оси, аппаратные средства вводят различия между режимами выполнения, расположенными по вертикали.
Несмотря на то, что система функционирует в одном из двух режимов, ядро действует от имени пользовательского процесса. Ядро не является какой-то особой совокупностью процессов, выполняющихся параллельно с пользовательскими, оно само выступает составной частью любого пользовательского процесса. Сделанный вывод будет скорее относиться к «ядру», распределяющему ресурсы, или к «ядру», производящему различные операции, и это будет означать, что процесс, выполняемый в режиме ядра, распределяет ресурсы и производит соответствующие операции. Например, командный процессор shell считывает вводной поток с терминала с помощью запроса к операционной системе. Ядро операционной системы, выступая от имени процессора shell, управляет функционированием терминала и передает вводимые символы процессору shell. Shell переходит в режим задачи, анализирует поток символов, введенных пользователем и выполняет заданную последовательность действий, которые могут потребовать выполнения и других системных операций.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Аппаратная защита указателей
Аппаратная защита указателей Мы понимали, что необходима некоторая форма аппаратной защиты памяти для указателей. Многие из больших систем того времени, такие как System/370, использовали для защиты памяти специальные аппаратные разряды, разрешавшие или запрещавшие
Аппаратная комната
Аппаратная комната Внешние условия эксплуатации могут иметь очень негативное влияние на устройства, но по-прежнему очень часто можно увидеть, что критически важные системы эксплуатируются с недостаточным учетом внешних факторов или совершенно без него. Сразу после
Среда KDE
Среда KDE Среда рабочего стола KDE (K Desktop Environment, http://www.kde.org/) построена на основе кроссплатформенных библиотек Qt от Trolltech. Обилие программ, практически не отличающихся функционально, но зато сильно отличающихся внешним видом и поведением, только отпугивало пользователей от
Среда GNOME
Среда GNOME Среда GNOME (GNU Network Object Model Environment – сетевая объектная среда GNU, http://www.gnome.org/) возникла как ответ общества GNU на разработку KDE, когда библиотеки Qt еще не были свободны. Новая рабочая среда создавалась на основе инструментария GTK+, созданного ранее для графического
2.1.6. Среда выполнения
2.1.6. Среда выполнения Операционная система Linux предоставляет каждой запущенной программе среду выполнения. Под средой подразумевается совокупность пар переменная-значение. Имена переменных среды и их значения являются строками. По существующему соглашению переменные
7.3. Аппаратная информация
7.3. Аппаратная информация В файловой системе /proc есть ряд других элементов, позволяющих получить доступ к информации о системных аппаратных средствах. Обычно это интересно лишь системным администраторам, но иногда такая информация используется и в приложениях. Ниже
45 Новая среда
45 Новая среда Конечные пользователи, сидящие перед 19-дюймовыми мониторами, могут даже и не знать о том, является приобретенное программное обеспечение объектно-ориентированным "или нет. Можно даже утверждать, что если пользователи не прочитают об этом на коробке, в
Часть I Аппаратная часть компьютера
Часть I Аппаратная часть компьютера Каким должен быть компьютерКомпьютерные комплектующиеСборка
Глава 8 Аппаратная обработка звука
Глава 8 Аппаратная обработка звука В этой главе мы лишь обозначим проблематику, необходимые сведения по указанной