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

2. Решение задачи

Главное окно приложения (рис. 1) делится на 3 основные части:

  1. Таблица клиентов - данная таблица имеет следующие колонки:

  • клиент - задается демонстрационное имя клиента;

  • начальный счет - количество денег на счету данного клиента до выполнения операций снятия со счета;

  • счет после снятия без синхронизации - та сумма, которая осталась бы на счету у клиента при снятии денег без синхронизации потоков;

  • счет после снятия с синхронизацией - сумма, которая останется на счете клиен­та при снятии денег с синхронизацией потока;

  • кнопка «Добавить» позволяет добавить нового клиента в таблицу.

  1. Параметры снятия денег:

  • снимаемая сумма - сумма, снимаемая каждым потоком за одну итерацию;

  • число снятий - определяет число потоков, которые будут снимать деньги со счетов;

  • продолжительность операции снятия (мс) - задержка между операцией получения текущего баланса клиента и операцией обновления этого баланса;

  • интервал между потоками (мс) - задержка перед запуском последующего потока.

  1. Журнал операций - показывает статус выполняемой операции.

3. Контрольный пример

Рис. 1

В качестве контрольного примера были использованы данные, приведенные на рис. 1. Выполнение операции снятия без синхронизации не заняло много времени, но и результаты получились неверные: отклонение от ожидаемого результата составило 15-20 руб. с каждого клиента. Снятие денег с синхронизацией заняло значительно больше времени (это обусловлено вынужденным ожиданием одним потоком другого при синхронизации), но результаты получились абсолютно верные. Чтобы убедиться в этом, достаточно из второй колонки (начальный счет) вычесть 50 и сравнить с колонкой «счет после снятия с синхронизацией». Результат совпадает. Тем самым была показана необходимость синхронизации потоков.

3 Вопросы для подготовки к экзамену Вопросы к экзамену по курсу «Операционные системы»

  1. Определение ОС

  2. Классификация ОС по областям использования

  3. Особенности методов построения ОС

  4. Структура сетевой ОС

  5. Состояние процессов

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

  7. Понятие виртуальной памяти. Страничное распределение памяти

  8. Понятие виртуальной памяти. Сегментное распределение памяти

  9. Понятие виртуальной памяти. Странично-сегментное распределение памяти

  10. Иерархия запоминающих устройств. Принцип кэширования данных