Тип многозадачности для приложения DOS — КиберПедия 

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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Тип многозадачности для приложения DOS

2017-07-25 203
Тип многозадачности для приложения DOS 0.00 из 5.00 0 оценок
Заказать работу

 

DOS является однозадачной операционной системой. Тем не менее, программисты нашли путь преодоления этих препятствий, преимущественно при использовании резидентных (terminate-and-stay-resident, TSR) программ. Некоторые TSR-программы, такие как спулер печати, использовали прерывание аппаратного таймера для выполнения процесса в фоновом режиме. Другие, подобно всплывающим (popup) утилитам, таким как SideKick, могли выполнять одну из задач переключения – приостановку выполнения приложения на время работы утилиты. DOS также была усовершенствована для обеспечения поддержки резидентных программ.

Некоторые производители программного обеспечения пытались создать многозадачные оболочки или оболочки, использующие переключение между задачами, как надстройки над DOS (например, Quarterdeck's DeskView).

 

Гарантии обслуживания

 

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

Более жестким требованием к системе, чем просто гарантированное завершение процесса, является его гарантированное завершение к указанному моменту времени или за указанный интервал времени.

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

Гарантировать обслуживание можно, например, следующими тремя способами.

1. Выделять минимальную долю процессорного времени некоторому классу процессов, если по крайней мере один из них готов к исполнению. Например, можно отводить 20 % от каждых 10 мс процессам реального времени, 40 % от каждых 2 с - интерактивным процессам и 10 % от каждых 5 мин - пакетным (фоновым) процессам.

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

3. Выделять столько процессорного времени некоторому процессу, чтобы он мог выполнить свои вычисления к сроку.

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

· Загрузка центрального процессора. В большинстве персональных систем средняя загрузка процессора не превышает 2-3 %, доходя в моменты выполнения сложных вычислений и до 100 %. В реальных системах, где компьютеры (например, серверы) выполняют очень много работы, загрузка процессора колеблется в пределах от 15-40 % (для легко загруженного процессора) до 90-100 % (для тяжело загруженного процессора).

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

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

· Время ожидания. Под временем ожидания понимается суммарное время нахождения процесса в очереди готовых процессов.

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

 

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

Правильное планирование процессов в значительной степени влияет на производительность всей системы.

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

 

5. Планирование процессов переднего плана

Когда пользователь работает с окнами какого-то процесса, последний считается активным, а остальные процессы – фоновыми. Естественно, пользователь заинтересован в повышении отзывчивости активного процесса по сравнению с фоновыми. В Windows, когда процесс становится активным, система выделяет его потокам больший приоритет и более длительные кванты времени.

 


Назначение файла подкачки

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

 

Существует два основных подхода к управлению памятью.

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

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

 

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

 

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

 

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

 

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

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

 



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

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.