- •Введение
- •1 Тема 1. Назначение и функции ОС
- •1.1 ОС как базовая часть систем обработки данных (СОД)
- •1.2 Серверные ОС и рабочие станции
- •1.3 Многослойная структура ОС
- •1.4 ОС как базовая часть ПО ЭВМ
- •1.5 Режимы ядра и пользователя
- •1.6 Ядро и модули ОС
- •1.7 Три базовых концепции ОС: файл, пользователь, процесс
- •1.8 Системные вызовы fork(...) и exec*(…)
- •1.9 Дистрибутивы ОС
- •1.10 Лабораторная работа по теме №1
- •1.10.1 Рабочий стол УПК АСУ
- •1.10.2 Работа с личным архивом студента на flashUSB
- •1.10.3 Изучение рабочей среды пользователя upk
- •2 Тема 2. BIOS, UEFI и загрузка ОС
- •2.1 Архитектура х86
- •2.2 BIOS и его функции
- •2.3 Этапы и режимы POST
- •2.4 UEFI и его стандартизация
- •2.5 Блочные и символьные устройства компьютера
- •2.6 Винчестер и загрузочные устройства
- •2.7 Загрузочный сектор MBR, его назначение и архитектура
- •2.8 GRUB как универсальный загрузчик ОС
- •2.9 Меню и функции GRUB
- •2.10 Лабораторная работа по теме №2
- •2.10.1 Установка ПО GRUB на устройство flashUSB
- •2.10.2 Создание аварийного варианта ОС УПК АСУ
- •2.10.3 Практика настройки файла конфигурации grub.cfg
- •3 Тема 3. Языки управления ОС
- •3.1 Языки программирования и командные интерпретаторы
- •3.2 Базовый язык shell (sh)
- •3.3 Среда исполнения программ
- •3.4 Командная строка: опции и аргументы
- •3.5 Переменные shell
- •3.6 Специальные символы и имена файлов
- •3.7 Стандартный ввод/вывод и переадресация
- •3.8 Программные каналы
- •3.9 Сценарии
- •3.10 Фоновый и приоритетный режимы
- •3.11 Отмена заданий
- •3.12 Прерывания
- •3.13 Завершение работы ОС
- •3.14 Лабораторная работа по теме №3
- •3.14.1 Среда исполнения программ
- •3.14.2 Переменные, опции и аргументы командной строки
- •3.14.3 Стандартный ввод/вывод и переадресация
- •3.14.4 Программные каналы и сценарии
- •3.14.5 Работа с процессами и заданиями среды
- •3.14.6 Сценарии ПО GRUB
- •4 Тема 4. Управление файловыми системами ОС
- •4.1 Устройства компьютера
- •4.2 BOOT-сектор и разделы винчестера
- •4.3 Загрузочные сектора разделов
- •4.4 Структура файловой системы FAT32 (VFAT)
- •4.5 Структура файловой системы EXT2FS
- •4.6 Сравнение файловых систем
- •4.7 Стандартизация структуры ФС
- •4.8 Модули и драйверы ОС
- •4.9 Системные вызовы ОС по управлению устройствами и ФС
- •4.10 Три концепции работы с устройствами
- •4.11 Разделы дисков и работа с ними
- •4.12 Монтирование и демонтирование устройств
- •4.13 Файловые системы loopback, squashfs, overlayfs и fuse
- •4.14 Дисковые квоты
- •4.15 Лабораторная работа по теме №4
- •4.15.1 Типы, имена и узлы устройств
- •4.15.2 Структура винчестера и файловые системы
- •4.15.3 Стандартизация структуры ФС
- •4.15.4 Модули и драйверы ОС
- •5.15.5 Концепции работы с устройствами
- •4.15.6 FUSE и другие специальные ФС
- •4.15.7 Подключение рабочей области пользователя upk
- •5 Тема 5. Управление пользователями ОС
- •5.1 Пользовательские режимы работы ОС
- •5.2 Разграничение прав пользователей
- •5.3 Login и система доступа Linux-PAM
- •5.4 Команды управления пользователями
- •5.5 Лабораторная работа по теме №5
- •5.5.1 Инфраструктура управления пользователями
- •5.5.2 Реалные и эффективные права пользователя
- •5.5.3 Инфраструктура PAM
- •5.5.4 Команды управления пользователями
- •6 Тема 6. Теоретическая часть
- •6.1 Подсистема управления процессами
- •6.2 Главный родительский процесс init
- •6.3 Состояния процессов в ядре ОС
- •6.4 ОС реального времени
- •6.5 Алгоритм разделения времени
- •6.6 Четыре подхода к управлению процессами
- •6.7 Стандарты POSIX и сигналы
- •6.8 Работа пользователя с процессами
- •6.9 Системные вызовы ОС по управлению процессами
- •6.10 Подсистема управления оперативной памятью
- •6.11 Системные вызовы и разделяемая память
- •6.12 Передача сообщений
- •6.13 Лабораторная работа по теме №6
- •6.13.1 Сценарий загрузки ОС
- •6.13.2 Разные подходы к управлению процессами
- •6.13.3 Сигналы и средства IPC
- •Заключение
- •Список использованных источников
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»
Кафедра автоматизированных систем управления (АСУ)
УТВЕРЖДАЮ Зав. кафедрой АСУ, профессор
А.М. Кориков
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Учебно-методическое пособие
для студентов уровня основной образовательной программы: бакалавриат направление подготовки: 09.03.01 - Информатика и вычислительная техника направление подготовки: 09.03.03 - Прикладная информатика
Разработчик доцент кафедры АСУ
В.Г. Резник
2016
2
Резник В.Г.
Операционные системы. Учебно-методическое пособие. – Томск, ТУСУР, 2016. – 183 с.
Учебно-методическое пособие предназначено для изучения теоретических вопросов и выполнения лабораторных работ по дисциплине «Операционные системы» для студентов кафедры АСУ ТУСУР уровня основной образовательной программы бакалавриат направлений подготовки: «09.03.01 - Информатика и вычислительная техника» и «09.03.03 - Прикладная информатика».
3
Оглавление
Введение............................................................................................................. |
6 |
|
1 Тема 1. Назначение и функции ОС............................................................... |
7 |
|
1.1 |
ОС как базовая часть систем обработки данных (СОД)......................... |
7 |
1.2 |
Серверные ОС и рабочие станции......................................................... |
11 |
1.3 |
Многослойная структура ОС................................................................... |
12 |
1.4 |
ОС как базовая часть ПО ЭВМ............................................................... |
14 |
1.5 |
Режимы ядра и пользователя................................................................. |
15 |
1.6 |
Ядро и модули ОС................................................................................... |
19 |
1.7 |
Три базовых концепции ОС: файл, пользователь, процесс................. |
20 |
1.8 |
Системные вызовы fork(...) и exec*(…).................................................. |
23 |
1.9 |
Дистрибутивы ОС.................................................................................... |
24 |
1.10 Лабораторная работа по теме №1....................................................... |
25 |
|
|
1.10.1 Рабочий стол УПК АСУ............................................................... |
26 |
|
1.10.2 Работа с личным архивом студента на flashUSB..................... |
28 |
|
1.10.3 Изучение рабочей среды пользователя upk............................. |
30 |
2 Тема 2. BIOS, UEFI и загрузка ОС................................................................ |
33 |
|
2.1 |
Архитектура х86....................................................................................... |
33 |
2.2 |
BIOS и его функции................................................................................. |
39 |
2.3 |
Этапы и режимы POST........................................................................... |
40 |
2.4 |
UEFI и его стандартизация..................................................................... |
41 |
2.5 |
Блочные и символьные устройства компьютера.................................. |
44 |
2.6 |
Винчестер и загрузочные устройства.................................................... |
45 |
2.7 |
Загрузочный сектор MBR, его назначение и архитектура.................... |
47 |
2.8 |
GRUB как универсальный загрузчик ОС................................................ |
51 |
2.9 |
Меню и функции GRUB........................................................................... |
52 |
2.10 Лабораторная работа по теме №2....................................................... |
53 |
|
|
2.10.1 Установка ПО GRUB на устройство flashUSB.......................... |
53 |
|
2.10.2 Создание аварийного варианта ОС УПК АСУ.......................... |
54 |
|
2.10.3 Практика настройки файла конфигурации grub.cfg................. |
54 |
3 Тема 3. Языки управления ОС.................................................................... |
55 |
|
3.1 |
Языки программирования и командные интерпретаторы.................... |
55 |
3.2 |
Базовый язык shell (sh)........................................................................... |
56 |
3.3 |
Среда исполнения программ.................................................................. |
59 |
3.4 |
Командная строка: опции и аргументы.................................................. |
61 |
3.5 |
Переменные shell.................................................................................... |
63 |
3.6 |
Специальные символы и имена файлов............................................... |
66 |
3.7 |
Стандартный ввод/вывод и переадресация.......................................... |
67 |
3.8 |
Программные каналы.............................................................................. |
70 |
3.9 |
Сценарии.................................................................................................. |
72 |
3.10 Фоновый и приоритетный режимы....................................................... |
81 |
|
3.11 Отмена заданий..................................................................................... |
82 |
|
3.12 Прерывания........................................................................................... |
82 |
|
3.13 Завершение работы ОС........................................................................ |
83 |
|
4 |
|
3.14 Лабораторная работа по теме №3....................................................... |
83 |
|
|
3.14.1 Среда исполнения программ..................................................... |
84 |
|
3.14.2 Переменные, опции и аргументы командной строки............... |
84 |
|
3.14.3 Стандартный ввод/вывод и переадресация............................. |
84 |
|
3.14.4 Программные каналы и сценарии............................................. |
85 |
|
3.14.5 Работа с процессами и заданиями среды................................ |
85 |
|
3.14.6 Сценарии ПО GRUB................................................................... |
85 |
4 Тема 4. Управление файловыми системами ОС..................................... |
86 |
|
4.1 |
Устройства компьютера.......................................................................... |
86 |
4.2 |
BOOT-сектор и разделы винчестера...................................................... |
89 |
4.3 |
Загрузочные сектора разделов............................................................... |
91 |
4.4 |
Структура файловой системы FAT32 (VFAT)......................................... |
93 |
4.5 |
Структура файловой системы EXT2FS................................................. |
97 |
4.6 |
Сравнение файловых систем............................................................... |
106 |
4.7 |
Стандартизация структуры ФС............................................................. |
107 |
4.8 |
Модули и драйверы ОС......................................................................... |
113 |
4.9 |
Системные вызовы ОС по управлению устройствами и ФС.............. |
114 |
4.10 Три концепции работы с устройствами.............................................. |
116 |
|
4.11 Разделы дисков и работа с ними........................................................ |
118 |
|
4.12 Монтирование и демонтирование устройств.................................... |
119 |
|
4.13 Файловые системы loopback, squashfs, overlayfs и fuse................... |
121 |
|
4.14 Дисковые квоты................................................................................... |
124 |
|
4.15 Лабораторная работа по теме №4..................................................... |
126 |
|
|
4.15.1 Типы, имена и узлы устройств................................................. |
126 |
|
4.15.2 Структура винчестера и файловые системы......................... |
126 |
|
4.15.3 Стандартизация структуры ФС................................................ |
127 |
|
4.15.4 Модули и драйверы ОС........................................................... |
127 |
|
5.15.5 Концепции работы с устройствами......................................... |
127 |
|
4.15.6 FUSE и другие специальные ФС............................................. |
127 |
|
4.15.7 Подключение рабочей области пользователя upk................. |
127 |
5 Тема 5. Управление пользователями ОС................................................ |
128 |
|
5.1 |
Пользовательские режимы работы ОС................................................ |
128 |
5.2 |
Разграничение прав пользователей..................................................... |
131 |
5.3 |
Login и система доступа Linux-PAM..................................................... |
133 |
5.4 |
Команды управления пользователями................................................ |
136 |
5.5 |
Лабораторная работа по теме №5....................................................... |
139 |
|
5.5.1 Инфраструктура управления пользователями......................... |
139 |
|
5.5.2 Реалные и эффективные права пользователя........................ |
139 |
|
5.5.3 Инфраструктура PAM................................................................. |
140 |
|
5.5.4 Команды управления пользователями..................................... |
140 |
6 Тема 6. Теоретическая часть..................................................................... |
142 |
|
6.1 |
Подсистема управления процессами.................................................. |
142 |
6.2 |
Главный родительский процесс init...................................................... |
144 |
6.3 |
Состояния процессов в ядре ОС.......................................................... |
147 |
6.4 |
ОС реального времени......................................................................... |
150 |
6.5 |
Алгоритм разделения времени............................................................. |
151 |
|
|
5 |
|
6.6 |
Четыре подхода к управлению процессами........................................ |
154 |
|
6.7 |
Стандарты POSIX и сигналы................................................................ |
160 |
|
6.8 |
Работа пользователя с процессами..................................................... |
165 |
|
6.9 |
Системные вызовы ОС по управлению процессами.......................... |
167 |
|
6.10 |
Подсистема управления оперативной памятью............................... |
169 |
|
6.11 Системные вызовы и разделяемая память....................................... |
173 |
||
6.12 |
Передача сообщений.......................................................................... |
176 |
|
6.13 |
Лабораторная работа по теме №6..................................................... |
179 |
|
|
|
6.13.1 Сценарий загрузки ОС............................................................. |
179 |
|
|
6.13.2 Разные подходы к управлению процессами........................... |
180 |
|
|
6.13.3 Сигналы и средства IPC........................................................... |
180 |
Заключение..................................................................................................... |
181 |
||
Список использованных источников......................................................... |
182 |
6
Введение
Дисциплина «Операционные системы (ОС)» изучается студентами кафедры АСУ ТУСУР уровня основной образовательной программы бакалавриат на третьем курсе обучения.
Объем изложенного учебного материала соответствует:
•первой части обучения для направления подготовки: «09.03.01 - Информатика и вычислительная техника»;
•полному курсу обучения для напрвления подготовки: «09.03.03 - Прикладная информатика».
Целью дисциплины является обучение студентов основным понятиям и базовым концепциям, положенным в архитектуры современных операционных систем, а также приобретение студентами практических навыков, необходимых для упешного использования полученных знаний.
Указанная цель достигается комплексной методикой проведения учебных занятий, основанной на:
•модульном построении учебного материала данного пособия, согласованного
по изложению теоретической части отдельных разделов дисциплины и проведению соотвествующих лабораторных работ;
•учебным программным комплексом каферды АСУ, обеспечивающим учебный
материал данного пособия вычислительными и программыми ресурсами для проведения лабораторных занятий.
Формальной и базовой основой изложенного учебного материала являются:
•научное издание Таненбаума Э. [1];
•учебник для вузов Синицына С.В. [2];
•учебно-методическое пособие Резник В.Г. [3], доступное по электронному адресу: http://asu.tusur.ru/learning/books/b13.pdf.
Методика проведения процесса обучения по данному курсу предполагает использование учебных классов кафедры АСУ, которые:
•оборудованны проекторами для демонстрации теоретического материала;
•имеют персональную вычислительную технику с установленной ОС УПК АСУ для проведения лабораторных работ.