Добавлен: 10.11.2023
Просмотров: 503
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1.1 Словесная постановка задачи
1.3 Подсистема управления процессами
1.3.1 Приоритетное планирование с абсолютным приоритетом
1.4.1 Подсистема управления памятью
1.4.2 Страничное распределение
1.4.3 Сегментное распределение
1.5 Подсистема управления файлами
1.5.1 Непрерывное размещение файлов (кластер – 256 байт)
2.1 Алгоритм приоритетного планирования
2.2 Алгоритм страничного распределения памяти
2.3 Непрерывное размещения файлов(кластер- 256 байт)
3.2 Страничное распределение памяти
3.3 Непрерывное размещение файлов
Рисунок 6 – Состояние диска после удаления файлов и приведение дискового пространства к фрагментации Рисунок 7 – Блок-схема организации работы с непрерывным размещением файлов
Если количество страниц оперативной памяти недостаточно, а количество страниц виртуальной памяти больше или равен количеству страниц процесса, то программа выводит на экран «файл занимает место в виртуальной памяти» и вычисляет остаток страниц виртуальной памяти после размещения файла Если количества страниц оперативной и виртуальной памяти недостаточно, то программа выводит на экран соответствующее сообщениеПосле программа выводит на экран для каждого файла:
После того как цикл закончился программа выводит на экран:«размер памяти memorySize»(остаток).
Рисунок 11.2 – Результат работы непрерывного размещения файлов с примером сообщения нехватки памяти
2 ПРАКТИЧЕСКИЙ РАЗДЕЛ
2.1 Алгоритм приоритетного планирования
Программа начинается с объявления переменных. Пользователь вводит количество процессов. Далее в цикле вводятся данные о каждом процессе (Номер процесса, время прибытия, время выполнения, а также приоритет). Затем процессы сортируются по времени прибытия, если время прибытия двух процессов одинаковое, то сортируются по приоритету процесса, если два приоритета процесса одинаковы, то идет сортировка по номеру процесса.В цикле вычисляется время ожидания и затраченное время на выполнение процесса. Для вычисления времени ожидания(wt) отнимается из затраченного времени прошлого процесса (для первого процесса принимается время прибытия)(st) время прибытия(at) этого процесса. Для вычисления затраченного времени процесса из суммы времени выполнения и прибытия отнимается время прибытия. Затем просто программы выполняет алгоритм FCFS. После программа выводит на экран таблицу с данными, а также среднее время ожидания и среднее время выполнения.2.2 Алгоритм страничного распределения памяти
Пользователем вводятся количество процессов, размер оперативной и виртуальной памяти. Затем вычисляется, сколько страниц может поместить оперативная и виртуальная память. Дальше с помощью цикла для каждого процесса вычисляется:-
количество страниц занимаемых процессом, при условии, что размер процесса кратен размеру страницы оно будет равно делению разницы размера процесса на остаток от деления размера процесса на размер страницы. Иначе оно будет равно делению разницы размера процесса на остаток от деления размера процесса на размер страницы плюс 1; -
свободное место в последней странице; -
остаток страниц в виртуальной памяти после размещения файлов; -
остаток страниц в оперативной памяти после размещения файлов.
Если количество страниц оперативной памяти недостаточно, а количество страниц виртуальной памяти больше или равен количеству страниц процесса, то программа выводит на экран «файл занимает место в виртуальной памяти» и вычисляет остаток страниц виртуальной памяти после размещения файла Если количества страниц оперативной и виртуальной памяти недостаточно, то программа выводит на экран соответствующее сообщениеПосле программа выводит на экран для каждого файла:
-
размер страницы; -
количество страниц занято; -
свободно в последнем кластере;
-
страницы в виртуальной и оперативной памяти после размещения файлов; -
остаток страниц в виртуальной и оперативной памяти после размещения файлов;
2.3 Непрерывное размещения файлов(кластер- 256 байт)
Программа начинается с объявления переменных: clusterSize (размер кластера), N (количество процессов), memorySize(размер опер. памяти), freeClusters(количество свободных кластеров), occupiedClusters (количество занятых кластеров), spaceInLastCluster(свободное пространство в последнем кластере), (leftClusters[100], rightClusters[100] (диапазон занимаемого процессом кластеров));В начале программы переменная имеет следующее значение: clusterSize =256;Пользователем вводится количество файлов, размер оперативной и виртуальной памяти. Дальше с помощью цикла для каждого файла вычисляется:-
количество кластеров занимаемых файлом, при условии, что размер файла кратен размеру кластера оно будет равно делению разницы размера файла на остаток от деления размера файла на размер кластера. Иначе оно будет равно делению разницы размера файла на остаток от деления размера файла на размер кластера плюс 1; -
номер первого кластера; -
номер последнего кластера; -
свободное место в последнем кластере, -
остаток виртуальной памяти после размещения файлов.
После того как цикл закончился программа выводит на экран:«размер памяти memorySize»(остаток).
3 ЭКСПЕРИМЕНТАЛЬНЫЙ РАЗДЕЛ
3.1 Приоритетное планирование
С начала программы пользователь должен выбрать меню 1, для выполнения программы приоритетного планирования. В качестве примера входных данных пользователь может ввести:-
Количество процессов – 5; -
Номер процесса – 1 2 3 4 5; -
Время прибытия – 0 1 3 2 4; -
Время выполнения – 3 6 1 2 4; -
Приоритет – 1 4 9 7 8.
-
Количество процессов – 5; -
Номер процесса – 1 2 3 4 5; -
Время прибытия – 0 0 1 1 1; -
Время выполнения – 3 2 1 1 1; -
Приоритет – 4 1 5 5 2.
3.2 Страничное распределение памяти
Для выполнения программы страничного распределения памяти, пользователь должен выбрать пункт меню 2. Затем, например, в качестве входных данных он может указать следующие значения:-
Количество процессов-3; -
Размер оперативной памяти 512; -
Размер виртуальной памяти 1024; -
Размер процесса 1 – 256; -
Размер процесса 2 – 512; -
Размер процесса 3 – 256.
-
Количество занятых страниц; -
Информация об удаленных страницах; -
Информация о количестве страниц оперативной и виртуальной памяти до и после распределения.
3.3 Непрерывное размещение файлов
Для выполнения программы страничного распределения памяти, пользователь должен выбрать пункт меню 3. Затем, например, в качестве входных данных он может указать следующие значения:-
Количество файлов – 4; -
Размер оперативной памяти – 2048; -
Размер кластера – 256; -
Размер файла 1 – 512; -
Размер файла 2 – 1024; -
Размер файла 3 –512; -
Размер файла 4 – 256; -
Номер удаляемого файла – 1.
-
Количество занятых кластеров; -
Количество свободных кластеров; -
Информация об удаленных файлах; -
Информация об остатках памяти в последнем кластере, оперативной памяти после размещения.
Рисунок 11.2 – Результат работы непрерывного размещения файлов с примером сообщения нехватки памяти
ЗАКЛЮЧЕНИЕ
В ходе выполнения данной курсовой работы были закреплены теоретические знания по алгоритмам работ подсистем управления процессами алгоритма приоритетного планирования, страничной организации памяти и непрерывного размещения файлов и получены практические знания в области физической организации файловой системы. Для этого были созданы программные модели, демонстрирующие работу подсистем операционной системы. Все задачи решены, цель достигнута.СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
-
Тихомиров, В.П. Операционная система ДЕМОС [Текст]: инструментальные средства программирования / В.П. Тихомиров, М.И. Давидов. - М.: Финансы и статистика, 1988. - 206 c. -
Грибанов, В.П. Операционные системы / В.П. Грибанов, С.В. Дробин, В.Д. Медведев. [Текст]: Финансы и статистика, 1990. - 239 c. -
Данилочкин Справочник системного программиста по операционной системе ОС ЕС / Данилочкин, В.П. [Текст]: Финансы и статистика, 1982. - 288 c. -
Операционная система // FoxFord URL[Электронный ресурс]:
-
Самая короткая работа сначала (SJF) // coderlessons URL [Электронный ресурс]:
-
Operating Systems: Three Easy Pieces. Part 4 // habr URL [Электронный ресурс]: