Управление процессами. Системная область занимает следующие 384 Кбайт адресного пространства

Область ПЗУ

Системная область занимает следующие 384 Кбайт адресного пространства. Распределение адресов в этой области в наибольшей степени зависит от фирмы-производителя и модели компьютера. Эта область впервые выделилась в компьютерах на основе процессора 8088. В них эта область содержала видеопамять, BIOS, дополнительный BIOS и, кроме того, содержала внутренний интерпретатор с языка Бейсик. В начале видеопамять 000С:0000 – 000С:FFFFh (размером 64 Кбайт). Затем видеопамять возросла до 128 Кбайт (EGA- VGA режимы высокого разрешения), и стала занимать пространства адресов с 000А:00000h до 000B:FFFFh. Соответственно область BIOS сдвинулась в пространстве адресов 000E:0000h – 000F:FFFFh. В настоящее время и SVGA-видеокарты в режиме высокого разрешения видеопамять в RAM (системной области оперативной памяти) занимает те же 128 Кбайт, а доступ к остальной части видеопамяти (размер которой может превышать 4 мегабайта), осуществляется постранично. Управление постраничным выделением памяти (по 128 Кбайт каждая страница) осуществляется с помощью ПЗУ на самой видеоплате.

Область памяти с адресами 000С:0000h – 000D:FFFFh занимает либо страница дополнительной (expanded) LIM-памяти, либо дополнительное ПЗУ (BIOS) пользователя. Это ПЗУ позволяет превратить обычный офисныйый компьютер в специализированную ЭВМ. В современных компьютерах эта область содержит ПЗУ USB (Universal Serial Bus), поэтому для дополнительной памяти надо выделять другие адреса.

Уже у компьютеров серии PC/AT системное ПЗУ было расширено до 64 Кбайт, и в частности, за счет исключения интерпретатора с языка Бейсик. Важно отметить, что в последних 16 байтах области системной памяти (которая занимает пространство адресов с 000Е:0000h по 000F:FFFFh) находится стартовый адрес микропроцессора при включении питания и который не должен быть переопределен ни в коем случае.

Конечно, для современных компьютеров размеры системного ПЗУ в 64 Кбайта (и даже в 128 Кбайт!) уже недостаточно, поскольку число различных подключаемых к компьютеру устройств велико. Поэтому большинство устройств содержат собственные ПЗУ (BIOS) прямо на самой плате-контроллере, а доступ к нему осуществляется с помощью устройств прямого доступа к памяти (DMA). Задача системного BIOS – переправлять сигналы операционной системы в ПЗУ периферийного устройства на обработку, и корректно возвратить обратно полученный ответ. Именно поэтому разделение системного адресного пространства на области весьма условно.

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

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

Процесс представляет собой программу, которая исполняется последовательно. При этом ее исполнение может быть прервано передачей управления другому процессу, но после этого оно должно быть возобновлено с той точки, где прервалось. В операционных системах OS/2 и Windows NT определенному таким образом процессу соответствует понятие нити (thread).

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

Задача представляет собой сочетание программы и данных. При этом задачи изолированы друг от друга. Если позволяет аппаратура процессора, то задачи обычно имеют отдельные виртуальные адресные пространства.

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

Понятно, что в рамках одной задачи может исполняться несколько процессов. С другой стороны, можно привести пример многозадачной однопроцессной операционной системы - MS Windows 3.x.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: