Файл: Моделирование работы подсистемы ос.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 98

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное бюджетное государственное образовательное учреждение высшего образования

«Восточно-Сибирский государственный университет технологий и управления»

Электротехнический факультет

Кафедра «Системы информатики»

Курсовая работа

по дисциплине «Операционные системы»

на тему

«Моделирование работы подсистемы ОС»

Вариант 4.5.1

Выполнил:

студент гр. Б660

__________

Султумов Б.Б-Д.

Руководитель:

ст. преп. кафедры СИ

__________

Глушкова И.И.

Оценка:

___________

Дата защиты:

___________

Улан-Удэ, 2021

ВОСТОЧНО - СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ
ЭЛЕКТРОТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ

Кафедра систем информатики
ЗАДАНИЕ

на курсовую работу

Дисциплина: Операционные системы

Тема: «Моделирование подсистемы ОС. Вариант 4.5.1»

Исполнитель(и): Султумов Б.Б-Д.

Руководитель: Глушкова И.И.

Краткое содержание работы: данная курсовая работа посвящена изучению механизмов

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

и файлами, и их программной реализации.

1. Теоретический раздел:

1.1 Словесная постановка задачи

1.2 Операционные системы и их функции

1.3 Подсистема управления процессами

1.4 Подсистема управления памятью

1.5 Подсистема управления файлами

2. Практический раздел:

2.1 Проектирование подсистемы управления файлами

2.2 Программная реализация подсистемы

2.3 Экспериментальная часть

Сроки выполнения проекта по графику:

  1. Теоретический раздел – 50% до 18.10.2021

  1. Практический раздел – 90% до 12.12.2021

3. Защита – 100% 18.12.2021

Требования к оформлению:

1. Расчетно-пояснительная записка курсового проекта должна быть

представлена в электронной и твердой копиях.


Руководитель работы _______________

Исполнитель работы _______________

Дата выдачи "20" _09_2021

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 4

1 ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ 5

1.1 Словесная постановка задачи 5

1.2 Операционные системы 5

1.3 Подсистема управления процессами 6

1.3.1 Приоритетное планирование с абсолютным приоритетом 8

1.4 Файловая подсистема 11

1.4.1 Подсистема управления памятью 12

1.4.2 Страничное распределение 13

1.4.3 Сегментное распределение 15

1.5 Подсистема управления файлами 17

1.5.1 Непрерывное размещение файлов (кластер – 256 байт) 19

2 ПРАКТИЧЕСКИЙ РАЗДЕЛ 23

2.1 Алгоритм приоритетного планирования 23

2.2 Алгоритм страничного распределения памяти 23

2.3 Непрерывное размещения файлов(кластер- 256 байт) 24

3 ЭКСПЕРИМЕНТАЛЬНЫЙ РАЗДЕЛ 26

3.1 Приоритетное планирование 26

3.2 Страничное распределение памяти 28

3.3 Непрерывное размещение файлов 29

ЗАКЛЮЧЕНИЕ 32

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33

ПРИЛОЖЕНИЕ А 34


ВВЕДЕНИЕ


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

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

Целью данного проекта, является закрепление теоретических знаний по дисциплине «операционные системы», моделирование приоритетного планирования, организации страничного распределения памяти и непрерывного размещения файлов.

Для достижения поставленной цели были решены следующие задачи:

  • углубленное изучение подсистем ОС;

  • разработка алгоритма;

  • анализ алгоритма;

  • разработка программы;

  • проверка программы.


1 ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ

1.1 Словесная постановка задачи


Необходимо изучить теоретический материал по подсистеме управления процессами, алгоритмам планирования и многоуровневым очередям, подсистему управления памятью, файловую подсистему. Помимо этого, нужно спроектировать и реализовать подсистему. Управление процессами должно выполняться с помощью алгоритма приоритетного планирования с абсолютным приоритетом. Подсистемой управления памятью должен быть алгоритм страничной организации памяти. В качестве файловой подсистемы должно использоваться непрерывное размещение файлов (Кластер – 256 байт).


1.2 Операционные системы


Операционная система, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Windows и системы класса UNIX (особенно Linux и Mac OS). С 2000-х большое распространение получили мобильные компьютеры (смартфоны и планшеты) и с ними ОС Android и iOS.

1.3 Подсистема управления процессами


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

На любой ЭВМ всегда имеется процесс соответствующий операционной системе (ОС) этой ЭВМ, а также один или несколько процессов отвечающих пользовательским программам. На однопроцессорных ЭВМ в любой момент времени может выполняться только один процесс. Любая ОС должна уметь производить запуск процессов, приостановку, их выполнение, завершение их выполнения и синхронизацию процессов между собой. Для каждого процесса ОС предоставляет собственное адресное пространство. Это адресное пространство начинается от нуля и продолжается непрерывно до предела соответствующего ЭВМ и ОС. С целью обеспечения переносимости адресное пространство всегда начинается с нуля. Ни один процесс кроме ОС не знает в какой именно части физической памяти и каким образом располагается его адресное пространство. Это прерогатива ОС, которая должна наиболее эффективным образом выполнять выполняющиеся процессы.

Операционная система контролирует следующую деятельность, связанную с процессами:

  • создание и удаление процессов

  • планирование процессов

  • синхронизация процессов

  • коммуникация процессов

  • разрешение тупиковых ситуаций

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

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

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

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

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

При выполнении основных функций подсистема управления процессами взаимодействует с другими подсистемами ОС, ответственными за управление ресурсами, такими как подсистема управления памятью, подсистема ввода-вывода, файловая система.

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

1.3.1 Приоритетное планирование с абсолютным приоритетом


Алгоритмы SJF и гарантированного планирования представляют собой частные случаи приоритетного планирования. При приоритетном планировании каждому процессу присваивается определенное числовое значение – приоритет, в соответствии с которым ему выделяется процессор. Приоритет — это число, характеризующее степень привилегированности потока при использовании ресурсов вычислительной машины, в частности процессорного времени: чем выше приоритет, тем выше привилегии, тем меньше времени будет проводить поток в очередях. Процессы с одинаковыми приоритетами планируются в порядке FCFS. Для алгоритма SJF в качестве такого приоритета выступает оценка продолжительности следующего CPU burst. Чем меньше значение этой оценки, тем более высокий приоритет имеет процесс.


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

Существуют две разновидности приоритетного планирования: обслуживание с относительными приоритетами и обслуживание с абсолютными приоритетами.

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

  • В системах с относительными приоритетами активный поток выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидания (или же произойдет ошибка, или поток завершится). На рисунке 1, а показан граф состояний потока в системе с относительными приоритетами.

  • В системах с абсолютными приоритетами выполнение активного потока прерывается кроме указанных выше причин, еще при одном условии: если в очереди готовых потоков появился поток, приоритет которого выше приоритета активного потока. В этом случае прерванный поток переходит в состояние готовности (рисунок 1, б).

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



Рисунок 1– Графы состояний потоков в системах с относительными и абсолютными приоритетами

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