Отчет о выполнении заданий лабораторной работы — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

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

Отчет о выполнении заданий лабораторной работы

2017-07-25 337
Отчет о выполнении заданий лабораторной работы 0.00 из 5.00 0 оценок
Заказать работу

Кафедра МПСС

 

 

ОТЧЕТ О ВЫПОЛНЕНИИ ЗАДАНИЙ ЛАБОРАТОРНОЙ РАБОТЫ

 

По дисциплине «Архитектура операционных систем»

Тема: «Основы работы Windows 95/98»

 

 

Выполнил

Слушатель гр. 60325-2

(номер группы)

Владыкина Т.В.

(Фамилия И.О.)

(Дата сдачи работы)

 

Проверил

 

Горбачев Д.В.

(Фамилия И.О.)

(Дата, подпись)

 

 

Минск 2017

1.1 Задание:

Изучить реализацию многозадачности и многопоточности в Windows 95/98

Изучить управление памятью в Windows 95/98

Изучить организацию выполнения приложений в Windows 95/98.

 

 


1.2 Выполнение:

Изучение работы потоков

1. Завершить все работающие программы.

2. В меню Start выберите пункты Programs (Программы), Accessories (Стандартные), System Tools (Служебные), System Monitor (Системный монитор). Запустился System Monitor.

3. В меню Edit (Правка) щелкните команду Remove Item (Удалить показатель).

4. Выделите все ранее добавленные элементы и щелкните OK. График очистился.

 

5. В меню View щелкните Numeric Charts (Числовое представление).

6. В меню Edit щелкните Add Item (Добавить показатель).

7. Из списка Category (Категории) выберите пункт Kernel (Ядро), из списка Item (Показатели) выберите пункт Threads (Потоки), а затем щелкните кнопку ОК.

 

 

Активно 27 потоков.

8. В меню Start выберите пункты Programs (Программы), Accessories (Стандартные), WordPad.

9. Переключитесь на Системный монитор (System Monitor).

 

 

Активно 28 потоков.

10. На панели инструментов WordPad щелкните кнопку Открыть (Open).

11. Переключитесь в окно Системный монитор (System Monitor) и несколько секунд понаблюдайте за окном Ядро: Потоки (Kernel: Threads). Сколько потоков активно?

 

Активно 29 потоков.

12. Закройте диалоговое окно Открыть (Open) приложения WordPad и завершите работу с ним.

13. Переключитесь в окно Системный монитор (System Monitor).

14. Число потоков стало равным первоначальному значению, т.е.27.

 

15. В меню Start выберите Программы -> Сеанс MS-DOS (Programs, MS-DOS Prompt).

16. Переключитесь в окно Системный монитор (System Monitor).

Активно 29 потоков.

MS-DOS породило два потока, т.к. один рисует окно на экране, а второй взаимодействует с пользователем.

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

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-разрядного 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. Системы реального времени.

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

 

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

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

 


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

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

 

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

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

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

 

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

 

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

 

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

 

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

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

 


Кафедра МПСС

 

 

ОТЧЕТ О ВЫПОЛНЕНИИ ЗАДАНИЙ ЛАБОРАТОРНОЙ РАБОТЫ

 

По дисциплине «Архитектура операционных систем»

Тема: «Основы работы Windows 95/98»

 

 

Выполнил

Слушатель гр. 60325-2

(номер группы)

Владыкина Т.В.

(Фамилия И.О.)

(Дата сдачи работы)

 

Проверил

 

Горбачев Д.В.

(Фамилия И.О.)

(Дата, подпись)

 

 

Минск 2017

1.1 Задание:


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

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

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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



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

0.1 с.