Функционирование операционной системы.



В современных компьютерах часть функций операционной системы реализована программами, хранящимися в постоянной памяти компьютера. Комплекс этих программ называется базовой системой ввода-вывода (англ. Base Input Output System – BIOS). За счет этого происходит увеличение скорости выполнения некоторых операций. Операционная система при необходимости выполнения таких функций обращается не к своим загружаемым подпрограммам, а к соответствующим программам BIOS. Кроме того, в постоянной памяти содержатся программа начальной загрузки компьютера и программы тестирования основных устройств компьютера. При включении компьютера первой выполняется программа начальной загрузки. Она вызывает программы тестирования и диагностики устройств компьютера. После тестирования программа начальной загрузки просматривает скрытые корневые секторы внешних носителей и пытается найти в них специальную программу загрузки операционной системы. В случае успеха программа начальной загрузки запускает программу загрузки операционной системы. Какую систему обнаружит программа начальной загрузки в корневом секторе, такая операционная система и будет функционировать на Вашем компьютере. После загрузки операционной системы управление передается главной управляющей программе операционной системы – ее ядру.

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

Диспетчер операционной системы получает команды из внешней среды. Это могут быть текстовые команды, набранные на клавиатуре (как в случае системы MS DOS), или щелчки мышью, как в Windows, или сообщения, полученные от работающих программ. В каждом из этих случаев диспетчер анализирует команду (или сообщение), находит субъекта этой команды или сообщения (а именно: соответствующую программу операционной системы или какую-либо пользовательскую программу) и определяет характеристики команды, отражающие особенности ее выполнения.

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

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

В операционной системе MS DOS диспетчером является программа с именем command.com. На самом деле действия собственно диспетчера не слишком разнообразны, и сама программа-диспетчер очень невелика. То же относится к диспетчеру системы Windows (программа с названием win.com).


Дата добавления: 2018-10-26; просмотров: 272; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!