Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену ОС полные.doc
Скачиваний:
17
Добавлен:
24.09.2019
Размер:
542.72 Кб
Скачать

16. Планировщик задач.

Есть планировщики задач различных видов:

  • Высокого уровня

  • Среднего уровня

  • Низкого уровня (Ctrl+Alt+Delete)

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

Например, пользователь щелкнул по документу Microsoft Word , следовательно, появляется заявка на выполнение. Привлекаются ресурсы, определяется, сколько надо оперативной памяти. В результате задача становится готовой к выполнению, т.е. становится процессом, который стоит в очереди на выполнение.

Если же пользователь хочет удалить документ Microsoft Word, то привлекаются следующие ресурсы: файловая система, например, FAT; диалоговая задача, которая спросит, уничтожить документ или нет.

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

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

После того, как заявка приобретает статус задачи и становится процессом, формируется заголовок этого процесса в PCB (program ctrl block), который отражает, в каком состоянии находится процесс в данный момент.

Характеристика процессов:

Новый процесс. Как только процесс становится новым, он помещается сразу в оперативную память со сформированным заголовком.

Если процессом является задача со спецификацией .com, то идет простое копирование с диска в оперативную память. Конкуренция при таком процессе идет за доступ к ОС и оперативной памяти. Особенность адресации – 64 кб.

Если процесс – это задача со спецификацией .exe – сжатый файл, в процессе загрузки он сам формирует область данных, кодов, следовательно, он конкурирует еще и за ресурсы процессора.

2. Готовый процесс конкурирует за процессорное время.

3. Выполняемый процесс конкурирует за ресурсы ОС. Конкурирует за дополнительную оперативную память, доступ к внешним устройствам. Каждый из доступов преобразуется в некоторую последовательность вызовов, обращений к внешним устройствам.

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

5. Завершенный процесс - это процесс, обратный тому, как процесс становится готовым: из операционной памяти должна быть выгружена задача, освобождена сама оперативная память. Если использовались файлы, то должны быть сброшены буфера ввода-вывода, и если требуется, то произведены какие – либо действия по очистке оперативной памяти.

Пример.

ASSIGN (FL, A: \ABC.TXT). Эта операция обозначает, что где-то в нашей задаче есть переменная FL, которая является областью, где пишется информация в файл или извлекается из файла.

A SSIGN (FL ‘A:\ABC.txt);

RESET(FL); //для чтения

REWRITE(FL); //для записи

If IOResult=0 //если все корректно

then

// работаем с файлом

else

// нет файла

В данном случае устанавливается связь файла и буфера A: \ABC.TXT, и этот буфер при обращении направляет нас к той переменной, в которой перекачивается информация. Происходит операция ввода-вывода и ОС готова среагировать.

Буфер файла имеет ограниченный объем (256 кб).

Если процесс завершается правильно, то освобождаются все буфера ввода-вывода.