Экзаменационный билет № 4




Сервисы предоставляемые типичными операционными системами.

Типичные операционные системы предоставляют следующие сервисы:

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

2) исполнение программ. Для запуска программы требуется выполнить ряд действий. Следует загрузить в основную память команды и данные, инициализировать устройства. Операционная система выполняет рутинную работу;

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

4) контролируем доступ к файлам. При работе с файлами, управление его стороны операционной системы предназначено не только понимание природы устройств ввода/вывода и знание структур данных записанные в файлах. Многопользовательские операционные системы, кроме того, обеспечивают работу механизмов защиты при обращении к файлам;

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

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

7) учёт использования ресурсов. Хорошая операционная система должна иметь средства учёта использования различных ресурсов и отображение параметров производителя. Эта информация крайне важна для дальнейшего улучшения и настройки система, для повышения производительности.

Алгоритмы основанные на приоритете. Процесс с относительными приоритетами.

Алгоритмы планирования, основанные на приоритетах

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

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

Относительный приоритет задач

Как мы уже говорили, в рамках одного процесса может быть запущено несколько задач. Точно также как невозможно задать явным образом уровень приоритета процессов (лежащий в диапазоне значений от 1 до 31), невозможно задать и уровень приоритета задач, запущенных процессом. Вместо этого процесс при необходимости устанавливает функцией SetThreadPriority относительный приоритет задач, который может быть несколько ниже или выше приоритета процесса.

Указанной выше функции можно передать одно из следующих значений, определяющих новый приоритет задачи относительно приоритета процесса:

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: