Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6262.pdf
Скачиваний:
33
Добавлен:
13.02.2021
Размер:
6.54 Mб
Скачать

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

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

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»

Кафедра автоматизированных систем управления (АСУ)

УТВЕРЖДАЮ Зав. кафедрой АСУ, профессор

А.М. Кориков

ОПЕРАЦИОННЫЕ СИСТЕМЫ. ЧАСТЬ 2

Учебно-методическое пособие

для студентов уровня основной образовательной программы: бакалавриат направление подготовки: 09.03.01 - Информатика и вычислительная техника

Разработчик доцент кафедры АСУ

В.Г. Резник

2016

2

Резник В.Г.

Операционные системы. Часть 2. Учебно-методическое пособие. – Томск, ТУСУР, 2016. – 216 с.

Учебно-методическое пособие предназначено для изучения теоретических вопросов и выполнения лабораторных работ по второй части дисциплины «Операционные системы» для студентов кафедры АСУ ТУСУР уровня основной образовательной программы бакалавриат направления подготовки: «09.03.01 - Информатика и вычислительная техника».

3

Оглавление

Введение.............................................................................................................

5

1 Тема 7. Подсистема управления вводом-выводом..................................

6

1.1

Язык С как стандарт взаимодействия с ОС.............................................

8

1.2

Системные операции для работы с файловой системой.....................

17

 

1.2.1 Системные вызовы open() и close()...............................................

18

 

1.2.2 Системные вызовы read() и write()................................................

20

 

1.2.3 Системный вызов lseek()................................................................

27

1.3

Создание специальных файлов..............................................................

31

1.4

Запрос информации о статусе файлов..................................................

34

1.5

Каналы......................................................................................................

39

 

1.5.1 Полудуплексные каналы UNIX......................................................

39

 

1.5.2 Именованные каналы FIFO...........................................................

42

1.6

Дублирование дескрипторов файлов.....................................................

46

1.7

Монтирование и демонтирование ФС....................................................

47

1.8

Ссылки на имена файлов........................................................................

48

1.9

Лабораторная работа по теме №7..........................................................

54

 

1.9.1 Интегрированная среда разработки Eclipse.................................

55

 

1.9.2 Список заданий выполняемых работ............................................

61

 

1.9.3 Проблема типов в языке С.............................................................

63

 

1.9.4 Анализ структуры MBR блочных устройств..................................

64

 

1.9.5 Запрос информации о статусе файлов........................................

65

 

1.9.6 Неименованные каналы ядра ОС.................................................

66

 

1.9.7 Именованные каналы FIFO...........................................................

66

 

1.9.8 Монтирование flashUSB.................................................................

67

 

1.9.9 Работа с именами файлов.............................................................

68

2 Тема 8. Подсистема управления памятью...............................................

70

2.1

Классификация способов управления ОЗУ...........................................

73

2.2

Программный и аппаратный способы адресации памяти....................

77

2.3

Страничная и сегментная адресации памяти........................................

79

2.4

Комбинированный способ адресации памяти.......................................

83

2.5

Лабораторная работа по теме №8..........................................................

86

 

2.5.1 Структура поцесса..........................................................................

86

 

2.5.2 Определяемые сегменты процесса..............................................

88

 

2.5.3 Создание и удаление процессов из памяти.................................

91

 

2.5.4 Динамическое выделение и освобождение памяти процесса....

95

3 Тема 9. Базовое взаимодействие процессов........................................

100

3.1

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

101

3.2

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

102

3.3

Стандарты POSIX...................................................................................

104

3.4

Системные вызовы ОС по управлению процессами...........................

107

3.5

Системный вызов fork() и каналы процесса.........................................

112

 

1.5.1 Пример использования каналов процессов...............................

117

 

1.5.2 Имитация конвейеров языка shell...............................................

120

 

4

 

3.6

Нити (Threads)........................................................................................

125

3.7

Сигналы POSIX......................................................................................

131

3.8

Лабораторная работа по теме №9........................................................

141

 

3.8.1 Системные вызовы общей группы..............................................

142

 

3.8.2 Управление потоками процессов................................................

142

 

3.8.3 Обработка сигналов ОС...............................................................

144

4 Тема 10. Асинхронное взаиодействие процессов................................

145

4.1

Проблемы распределения ресурсов ОС..............................................

145

4.2

Системный пакет IPC.............................................................................

148

4.3

Утилиты управления средствами пакета IPC.......................................

150

 

Утилита ipcmk........................................................................................

150

 

Утилита ipcs...........................................................................................

150

 

Утлита ipcrm...........................................................................................

152

4.4

Семафоры..............................................................................................

152

4.5

Задача об обедающих философах.......................................................

160

 

4.5.1 Описание задачи..........................................................................

161

 

4.5.2 Выбор стратегии решения...........................................................

162

 

4.5.3 Модель философа........................................................................

162

 

4.5.4 Программа-монитор.....................................................................

164

4.6

Лабораторная работа по теме №10......................................................

166

 

4.6.1 Синхронизация двух процессов..................................................

168

 

4.6.2 Задача «Обедающие философы»..............................................

168

5 Тема 11. Эффективное взаиодействие процессов...............................

169

5.1

Прикладные средства пакета IPC.........................................................

169

5.2

Разделяемые сегменты памяти............................................................

170

5.3

Задача о читателях и писателях...........................................................

179

5.4

Передача сообщений.............................................................................

184

5.5

Лабораторная работа по теме №11......................................................

193

 

5.5.1 Задачи с разделяемыми сегментами памяти.............................

193

 

5.5.2 Программы передачи сообщений...............................................

194

6 Тема 12. Системная шина D-Bus...............................................................

195

6.1

Графические среды ОС.........................................................................

196

6.2

Рабочий стол пользователя...................................................................

198

6.3

Различия графических сред ОС............................................................

199

6.4

X-сервер UNIX........................................................................................

200

6.5

Архитектура шины D-Bus.......................................................................

203

 

6.5.1 Основные понятия шины D-Bus:.................................................

204

 

6.5.2 Бибиотека libdbus.........................................................................

206

 

6.5.3 Проекции ПО D-Bus на языки программирования.....................

208

6.6

Лабораторная работа по теме №12......................................................

210

 

6.6.1 Утилита qdbus...............................................................................

211

 

6.6.2 Взаимодействие через шину с приложением evince..................

211

Заключение.....................................................................................................

214

Список использованных источников.........................................................

215

5

Введение

Дисциплина «Операционные системы (ОС)» изучается студентами кафедры АСУ ТУСУР уровня основной образовательной программы бакалавриат на третьем курсе обучения.

Объем изложенного учебного материала соответствует второй части программы обучения для направления подготовки: «09.03.01 - Информатика и вычислительная техника».

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

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

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

модульном построении учебного материала данного пособия, согласованного

по изложению теоретической части отдельных разделов дисциплины и проведению соотвествующих лабораторных работ;

учебным программным комплексом каферды АСУ, обеспечивающим учебный

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

Формальной и базовой основой изложенного учебного материала являются:

научное издание Таненбаума Э. [1];

учебник для вузов Синицына С.В. [2];

учебно-методическое пособие Резник В.Г. [3], доступное по электронному

адресу: http://asu.tusur.ru/learning/books/b13.pdf.

Дополнительно учитывается учебный материал, представленный в методическом пособии Резника В.Г. [4], доступный по электронному адресу кафедры АСУ ТУСУР: http://asu.tusur.ru/learning/090301/d30/090301-d30-lect.pdf.

Методика проведения процесса обучения по данному курсу предполагает использование учебных классов кафедры АСУ, которые:

оборудованны проекторами для демонстрации теоретического материала;

имеют персональную вычислительную технику с установленной ОС УПК АСУ для проведения лабораторных работ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]