Сравнение эффективности 16- и 32-разрядных Windows-программ — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

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

Сравнение эффективности 16- и 32-разрядных Windows-программ

2017-07-25 91
Сравнение эффективности 16- и 32-разрядных Windows-программ 0.00 из 5.00 0 оценок
Заказать работу

1. В папке лабораторной работы дважды щелкните файл SPIND16. Будет запущена программа SPIND16.

2. Щелкните Open.

3. На экране появится диалоговое окно Open.

4. Выберите файл Billg4.bmp и щелкните кнопку ОК. В окне появится изображение Билла Гейтса.

5. Щелкните кнопку Spin или Flip. Изображение должно повернуться или перевернуться, а затем вернуться в нормальное положение. Время, затраченное на выполнение операции, будет указано в правой части панели инструментов.

6. Повторите пункты 1-4 с программой SPIND32. Объясните результаты.

7. Оставьте обе программы активными.

 

Команда spin в SPIND16 (0.877 sec) и SPIND32 (0.445 sec).

 


 

Команда flip в SPIND16 (0.750 sec) и SPIND32 (0.364 sec).

 

32-разрядная программа выполняет действия примерно в два раза быстрее.

 

Создание 16-разрядной общей ошибки защиты

1. Запустите файл Badappl6.exe из папки лабораторной работы.

2. Расположите окна программ на рабочем столе так, чтобы видеть их все.

3. Переключитесь в окно программы Bad App.

4. В меню Action выберите команду Options и отключите звук.

5. В меню Action выберите GP-Fault. Когда фитиль на экране догорит, бомба взорвется. В этот момент возникнет общая ошибка защиты. Windows 95 откроет диалоговое окно с предложением завершить приложение или проигнорировать ошибку.

 

6. Щелкните кнопку Close. Windows 95 откроет диалоговое окно Application Error с детальным описанием ошибки и кнопкой Close. Оставьте это диалоговое окно открытым.

7. Переключитесь в окно SPIND32. Активна ли программа?

8. Переключитесь в окно SPIND16. Активна ли программа?

9. Щелкните кнопку Close в диалоговом окне Bad App. Активно ли приложение SPIND16?

При переключении в окна SPIND16 и SPIND32 программы не активны.

После нажатия кнопки Close в диалоговом окне Bad App приложение SPIND16 активно.

10. Проделайте то же самое с программой Bad App 32.

 

При переключении в окна SPIND16 и SPIND32 программы активны.

Пример зависания 16-разрядного Windows-приложения

1. Запустите файл Badappl6.exe

2. Расположите окна программ на рабочем столе так, чтобы видеть их все.

3. В меню Action окна Bad App выберите команду Hang. Когда фитиль на экране догорит, бомба взорвется В этот момент приложение остановится.

4. Убедитесь, что ни одна из программ (ни 32-разрядная, ни 16-разрядная) не откликается. – Программы зависли!

5. Откройте диалоговое окно Close Programs, нажав CTRL+ALT+DEL.

6. В списке приложений выберите Bad App [Not responding] и щелкните кнопку End Task. Появится диалоговое окно с запросом и кнопками End Task и Cancel.

7. Второй раз нажмите кнопку End Task. Остальные программы останутся активными.

8. Проделайте то же самое с BadApp32.

 

 

 

 


 

Ответы на вопросы лабораторной работы:

 

1. Приоритеты в Windows

 

В Windows существует 32 уровня приоритета, от 0 до 31.

Они группируются так: 31

· 31 - 16 уровни реального времени;

· 15 - 1 динамические уровни;

· 0 - системный уровень, зарезервированный для потока обнуления страниц.

 

При создании процесса, ему назначается один из шести классов приоритетов:

· Real time class (значение 24),

· High class (значение 13),

· Above normal class (значение 10),

· Normal class (значение 8),

· Below normal class (значение 6),

· Idle class (значение 4).

 

Приоритет каждого потока (базовый приоритет потока) складывается из приоритета его процесса и относительного приоритета самого потока. Есть семь относительных приоритетов потоков:

 

· Normal: такой же как и у процесса;

· Above normal: +1 к приоритету процесса;

· Below normal: -1;

· Highest: +2;

· Lowest: -2;

· Time critical: устанавливает базовый приоритет потока для Real time класса в 31, для остальных классов в 15.

· Idle: устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1.

 

2. Алгоритм планирования потоков

 

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

Планирование требуется в самых разных ситуациях. Оно, безусловно, необходимо в двух случаях.

1. При завершении процесса.

2. При блокировании процесса семафором или вводом-выводом.

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

 

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

1. При создании нового процесса.

2. При прерывании ввода-вывода.

3. При прерывании от таймера.

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

Иногда родительский процесс может запросить другой уровень приоритета для дочернего процесса.

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

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

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

· При невытесняющем алгоритме планирования процесс выбирается и выполняется до блокирования (вызванного вводом-выводом либо ожиданием другого процесса) или добровольного завершения.

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

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

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

1. Системы пакетной обработки.

2. Интерактивные системы.

3. Системы реального времени.

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

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

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

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

 

Планирование в системах пакетной обработки:

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

· Самое короткое задание - первое.

· Задание с наименьшим временем завершения — следующее. Если новое задание можно выполнить быстрее, чем закончить текущее, текущее задание приостанавливается, а новое задание принимается к обработке.

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

Планирование в интерактивных системах

· Циклическое (карусельное) планирование. Каждому процессу предоставляется некоторый интервал времени процессора, так называемый

квантом. Если к концу кванта процесс все еще работает, он прерывается, а управление передается другому процессу. Разумеется, если процесс блокируется или прекращает работу раньше, переход управления происходит в этот момент.

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

· Планирование с несколькими очередями.

· Самый короткий процесс — следующий

· Гарантированное планирование

· Лотерейное планирование

· Справедливое планирование

 


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

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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

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



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

0.033 с.