- •Лабораторная работа № 1 работа с датой и временем системы
- •Процедуры работы с датой и временем системы
- •Процедуры работы с датой и временем создания/модификации файла
- •Задания
- •Лабораторная работа № 2 проверка состояния диска
- •Задания
- •Лабораторная работа № 3 работа с файлами: поиск
- •Примеры:
- •Задания
- •Лабораторная работа № 4 работа с файлами: просмотр и изменение атрибутов
- •Задания
- •Лабораторная работа № 5 управление операционной средой в ос windows 2000. Переменные Окружения
- •Задания
- •Лабораторная работа № 6
- •Прерывания и исключения. Физическая структура
- •Диска. Программное обслуживание прерываний
- •Типы прерываний и исключений
- •Физическая структура диска
- •Программный вызов диспетчера функций
- •Многие функции устанавливают текущий флаг процессора и возвращают код ошибки в регистре ax, если в процессе обращения к функции произошла ошибка. Из специальных таблиц можно узнать причину ошибки.
- •Функции dos для получения информации о системе
- •Задания
- •Лабораторная работа № 7 планирование исполнения процессов с помощью алгоритма sjf
- •Задания
- •Лабораторная работа № 8 Шифрование сообщений методом rsa
- •Задание
- •Лабораторная работа № 9 Работа с системным реестром в ос Windows nt/2000
- •Структура реестра
- •Хранение данных реестра
- •Редакторы реестра
- •Задания
- •Лабораторная работа № 10 работа с программой «Диспетчер задач»
- •Запуск диспетчера задач
- •Мониторинг процессов
- •Ошибки страницы - число прерываний, которые возникают, когда приложение пытается прочитать или записать данные в несуществующую виртуальную память.
- •Выбор процессора
- •Скорость обновления
- •Мониторинг производительности системы
- •Задания
- •Запустите на выполнение приложение ms Excel.
- •Измените приоритет запущенного приложения.
- •Литература
- •Содержание
Задания
1. Запустить на выполнение примеры 1, 2. Объяснить результаты.
2. Написать программу на языке Паскаль, которая выполняет следующие действия:
Вывод текущего номера версии DOS;
Просмотр и изменение текущей системной даты;
Просмотр и изменение текущего дисковода;
Вывод на экран информации FAT для текущего диска;
Вывод информации FAT для произвольного диска;
Вывод информации о свободной памяти произвольного диска;
Расчет общего объема произвольного диска в байтах (Кб, Мб);
Расчет размера свободного пространства диска в байтах (Кб, Мб);
Расчет числа байт в одном кластере;
Расчет свободного пространства произвольного диска в процентах;
По размеру заданного произвольного файла в байтах определяет число занимаемых им секторов;
По размеру заданного произвольного файла в байтах определяет число занимаемых им кластеров.
Лабораторная работа № 7 планирование исполнения процессов с помощью алгоритма sjf
Если короткие задачи расположены в очереди ближе к началу, общая производительность этих алгоритмов значительно возрастает. Если бы мы знали время следующих CPU burst для процессов, находящихся в состоянии готовность, то могли бы выбрать для исполнения не процесс из начала очереди, а процесс с минимальной длительностью CPU burst. Если таких процессов два или больше, то для выбора одного из них можно использовать алгоритм FCFS. Квантование времени при этом не применяется.
Описанный алгоритм получил название “кратчайшая работа первой” или Shortest Job First (SJF). Данный алгоритм реализуется двумя способами: вытесняющим и невытесняющим.
При невытесняющем SJF-планировании процессор предоставляется избранному процессу на все требующееся ему время, независимо от событий происходящих в системе.
Пример: Пусть в состоянии готовность находятся четыре процесса p0, p1, p2 и p3, для которых известны времена их очередных CPU burst (табл. 2).
Таблица 2
Процесс |
p0 |
p1 |
p2 |
p3 |
Продолжительность очередного CPU burst |
5 |
3 |
7 |
1 |
Первым для исполнения будет выбран процесс p3, имеющий наименьшее значение очередного CPU burst. После его завершения для исполнения выбирается процесс p1, затем p0 и, наконец, p2 (см. табл. 3).
Таблица 3
время |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
p0 |
г |
г |
г |
г |
и |
и |
и |
и |
и |
|
|
|
|
|
|
|
p1 |
г |
и |
и |
и |
|
|
|
|
|
|
|
|
|
|
|
|
p2 |
г |
г |
г |
г |
г |
г |
г |
г |
г |
и |
и |
и |
и |
и |
и |
и |
p3 |
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При вытесняющем SJF-планировании учитывается появление новых процессов в очереди готовых к исполнению (из числа вновь родившихся или разблокированных) во время работы выбранного процесса. Если CPU burst нового процесса меньше, чем остаток CPU burst исполняющегося, то исполняющийся процесс вытесняется новым.
Пример. Имеются процессы p0, p1, p2 и p3 с различными временами CPU burst и различными моментами их появления в очереди процессов готовых к исполнению (см. табл. 4).
Таблица 4
Процесс |
Время появления в очереди |
Длительность CPU burst |
p0 |
0 |
6 |
p1 |
2 |
2 |
p2 |
6 |
7 |
p3 |
0 |
5 |
В начальный момент времени в состоянии готовность находятся только два процесса p0 и p3. Меньшее время очередного CPU burst оказывается у процесса p3, поэтому он и выбирается для исполнения (табл. 5). По прошествии двух единиц времени в систему поступает процесс p1. Время его CPU burst меньше, чем остаток CPU burst у процесса p3, который вытесняется из состояния исполнение и переводится в состояние готовность. По прошествии еще двух единиц времени процесс p1 завершается, и для исполнения вновь выбирается процесс p3. В момент времени t = 6 в очереди процессов готовых к исполнению появляется процесс p2, но поскольку ему для работы нужно 7 единиц времени, а процессу p3 осталось работать всего 2 единицы времени, то процесс p3 остается в состоянии исполнение. После его завершения в момент времени t = 7 в очереди находятся процессы p0 и p2, из которых выбирается процесс p0. Последним получит возможность выполняться процесс p2.
Таблица 5
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
p0 |
г |
г |
г |
г |
г |
г |
г |
и |
и |
и |
и |
и |
и |
|
|
|
|
|
|
|
p1 |
|
|
и |
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p2 |
|
|
|
|
|
|
г |
г |
г |
г |
г |
г |
г |
и |
и |
и |
и |
и |
и |
и |
p3 |
и |
и |
г |
г |
и |
и |
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
