русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подсистемы ядра ОС

Интерфейс ядра операционной системы

Функции ядра операционной системы могут быть выполнены в следствие выполнения в приложениях специальных функций - системных вызовов. Назначение системного вызова состоит в том, что приложения не в состоянии самостоятельно определить, по каким адресам находятся функции ядра.

Системный вызов в один из машинно-зависимых способов реализует механизм получения адресов функций ядра и передачу в эти функции необходимых параметров системного вызова, а также получения результата системного вызова. Зачастую системные вызовы обеспечиваются через систему прерываний, благодаря чему адрес функции ядра не только рассчитывается аппаратно (в процессе обработки прерывания), но и обеспечивается защита информационных ресурсов ядра.

Системные вызовы чаще всего имеют синтаксис функции языка программирования, на котором написано ядро ОС.

Подсистема управления вводом-выводом

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

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

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

В отдельных операционных системах подсистема управления вводом-выводом также может внедрять механизмы, которые призваны повысить скорость обмена данными между задачами и файлами. Чаще используется механизм буферизации (кэширования) данных, который заключается в том, что при чтении данных из файла подсистема пытается за одну операцию ввода читать данные блоками удобного (обычно достаточно крупного) размера, а не порциями, которые запрашивает задача. Благодаря этому за одну операцию ввода в оперативную память попадают также дополнительные данные, которые хранятся в кэше и в дальнейшем передаются в программу без дополнительных обращений к устройству. Подобным образом этот механизм работает и при выполнении операций записи.

Подсистема управления оперативной памятью

Любая программа может выполняться только тогда, когда она загружена в оперативную память, так же, любые данные из файлов могут обрабатываться только тогда, когда они загружены в оперативную память. Загрузка программы и данных в оперативную память приводит к тому, что в оперативной памяти одновременно находятся сразу несколько компонентов: ядро операционной системы, командный интерпретатор, программа, которая выполняется, и данные, которые обрабатываются. Кроме того, программа в процессе своего выполнения может обращаться к подсистеме управления оперативной памятью с запросами на выделение дополнительной - динамической - оперативной памяти.

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

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

В отдельных многозадачных операционных системах подсистема управления оперативной памятью также обеспечивает виртуализацию оперативной памяти, благодаря чему каждая задача (процесс) получает собственную виртуальную память, причем таким образом, что недостаток реальной (физической) памяти покрывается за счет перераспределения данных между оперативной памятью и внешним накопителем и перемещения данных между физической оперативной памятью и внешним накопителем защищен от задач. Это перемещение называется пейджинговые ( англ. paging ) или свопинг ( англ. swapping - обмен) - в зависимости от терминологии конкретной ОС.

Введение механизма виртуализации оперативной памяти позволяет получить два полезных следствия:

  • каждая задача фактически выполняется в собственном адресов пространстве, то есть так, если бы она выполнялась в одно-задачного операционной системе, благодаря чему значительно уменьшается влияние отдельных задач одной на одну и на ядро системы, а благодаря этому - и надежность системы;
  • каждая задача получает столько виртуальной оперативной памяти, сколько нужно, а не столько, сколько есть имеющейся физической оперативной памяти.

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

Подсистема управления задачами (процессами)

Подсистема управления задачами (процессами) обеспечивает создание задачи (процесса), загрузка программного кода и его выполнения и завершения задачи (процесса).

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

Средства мижпроцеснои взаимодействия

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

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

Просмотров: 4094

Вернуться в оглавление:Компьютер




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.