ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»
С.Н. Мамойленко О.В. Молдованова
ОПЕРАЦИОННЫЕ
СИСТЕМЫ
Учебное пособие
Часть 1. Операционная система Linux
Новосибирск
2012
УДК 004.451 ББК 32.973-018.2
Мамойленко С.Н., Молдованова О.В. Операционные системы: Учебное пособие. Часть 1. Операционная система Linux. 2-е изд., доп. /СибГУТИ.– Новоси-
бирск, 2012. – 128с.
Учебное пособие предназначено для студентов, обучающихся по направлению 230100 «Информатика и вычислительная техника» и изучающих дисциплину «Операционные системы». В нём содержится материал, предназначенный для проведения практических или лабораторных занятий по указанному учебному курсу с целью изучения операционных систем семейства UNIX (на примере Linux).
Кафедра вычислительных систем
Ил. – 8, табл. – 15, список лит. – 10 наим.
Рецензент: доцент Кафедры телекоммуникационных сетей и вычислительных средств ФГОБУ ВПО «СибГУТИ» О.И.Моренкова.
Для студентов, обучающихся по направлению 230100 «Информатика и вычислительная техника».
Утверждено редакционно-издательским советом ФГОБУ ВПО «СибГУТИ» в качестве учебного пособия.
© С.Н. Мамойленко, О.В. Молдованова, 2012
© ФГОБУ ВПО «СибГУТИ», 2012
ОГЛАВЛЕНИЕ |
|
ОГЛАВЛЕНИЕ......................................................................................................... |
3 |
ВВЕДЕНИЕ.............................................................................................................. |
6 |
ГЛАВА 1. ИСТОРИЯ СОЗДАНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ LINUX ..... |
7 |
Контрольные вопросы......................................................................................... |
10 |
ГЛАВА 2. ПЕРВОЕ ЗНАКОМСТВО С LINUX ................................................... |
11 |
2.1. Интерфейс операционной системы.............................................................. |
11 |
2.2. Процедура регистрации пользователя в системе........................................ |
12 |
2.3. Процедура завершения сеанса работы с системой ..................................... |
13 |
Контрольные вопросы......................................................................................... |
14 |
ГЛАВА 3. СИСТЕМА ХРАНЕНИЯ ИНФОРМАЦИИ ........................................ |
15 |
3.1. Имена файлов. Маски файлов...................................................................... |
15 |
3.2. Система именования файлов. Каталоги. Путь файла. ................................ |
16 |
3.3. Типы файлов ................................................................................................. |
18 |
3.4. Атрибуты файлов. Контроль доступа к файлам и каталогам..................... |
19 |
Контрольные вопросы......................................................................................... |
20 |
ГЛАВА 4. КОМАНДНАЯ ОБОЛОЧКА BASH.................................................... |
21 |
4.1. Понятие команды. Ввод и редактирование команд.................................... |
21 |
4.2. Электронный справочник............................................................................. |
24 |
4.3. Команды работы с файлами и каталогами .................................................. |
25 |
4.3.1. Определение текущего каталога.............................................................. |
25 |
4.3.2. Изменение текущего каталога ................................................................. |
25 |
4.3.3. Вывод информации о содержимом каталога.......................................... |
25 |
4.3.4. Просмотр содержимого файла................................................................. |
26 |
4.3.5. Создание файлов ...................................................................................... |
27 |
4.3.6. Создание каталогов.................................................................................. |
27 |
4.3.7. Удаление файлов...................................................................................... |
27 |
4.3.8. Удаление каталогов.................................................................................. |
28 |
4.3.9. Копирование файлов и каталогов............................................................ |
28 |
4.3.10. Переименование (перемещение) файлов и каталогов.......................... |
28 |
4.3.11. Создание ссылок на файлы и каталоги ................................................. |
29 |
4.3.12. Определение прав доступа к файлам и каталогам................................ |
29 |
4.3.13. Изменение прав доступа к файлам и каталогам ................................... |
29 |
4.3.14. Изменение владельцев и групп.............................................................. |
30 |
4.4. Списки команд.............................................................................................. |
31 |
4.5. Каналы ввода-вывода. Перенаправление каналов. Конвейер .................... |
31 |
4.6. Изменение пароля пользователя.................................................................. |
34 |
4.7. Получение информации о пользователях системы..................................... |
35 |
4.8. Физическое размещение файлов на носителях информации ..................... |
36 |
4.9. Среда окружения........................................................................................... |
37 |
4.10. Переменные. Массивы................................................................................ |
38 |
4.11. Подстановка переменных, команд и арифметических выражений.......... |
39 |
4.12. Формат приглашения командной оболочки.............................................. |
42 |
4.13. Получение информации от пользователя.................................................. |
43 |
4.14. Управляющие структуры............................................................................ |
43 |
3
4.14.1. Условный оператор if-fi......................................................................... |
43 |
4.14.2. Оператор множественного выбора case-esac........................................ |
45 |
4.15. Циклические конструкции ......................................................................... |
46 |
4.15.1. Цикл for................................................................................................... |
46 |
4.15.2. Цикл while............................................................................................... |
47 |
4.15.3. Цикл until ................................................................................................ |
47 |
4.15.4. Цикл select............................................................................................... |
48 |
4.16. Группирование команд. Функции. Скрипты............................................. |
49 |
4.17. Анализ опций, передаваемых группе команд (функции и скрипту)........ |
50 |
4.18. Вход в систему и первоначальные настройки........................................... |
54 |
Контрольные вопросы......................................................................................... |
55 |
ГЛАВА 5. «ПРОЦЕСС» И «НИТЬ»...................................................................... |
57 |
5.1. Типы процессов............................................................................................. |
58 |
5.2. Состояние процесса...................................................................................... |
59 |
5.3. Атрибуты процесса....................................................................................... |
59 |
5.4. Получение информации о состоянии и атрибутах процессов.................... |
61 |
5.4.1. Из командной строки ............................................................................... |
61 |
5.4.2. При выполнении процессов..................................................................... |
63 |
5.5 Потоки одного процесса (нити) .................................................................... |
65 |
5.6. Порождение процессов и запуск программ................................................. |
65 |
5.6.1. Порождение процессов ............................................................................ |
65 |
5.6.2. Запуск новых программ ........................................................................... |
67 |
5.6.3. Создание потока (нити)............................................................................ |
70 |
5.7. Завершение процесса.................................................................................... |
71 |
5.8. Завершение потока (нити)............................................................................ |
74 |
5.9. Обработка ошибок........................................................................................ |
74 |
Контрольные вопросы......................................................................................... |
75 |
ГЛАВА 6. ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ И НИТЕЙ ............................... |
77 |
6.1 Получение информации о запуске................................................................ |
78 |
6.1.1. Взаимодействие с командной оболочкой (строкой запуска)................. |
78 |
6.1.2. Взаимодействие Си-программы со средой окружения.......................... |
83 |
6.2. Взаимодействие «родственных» процессов и нитей .................................. |
85 |
6.2.1. Ожидание завершения дочерних процессов........................................... |
85 |
6.2.2. Ожидание завершения нити. Синхронизация выполнения нитей......... |
87 |
6.2.3. Неименованные (программные) каналы................................................. |
89 |
6.3. Взаимодействие «неродственных» процессов ............................................ |
89 |
6.3.1. Идентификаторы ресурсов в межпроцессном взаимодействии ............ |
89 |
6.3.2. Именованные каналы. FIFO..................................................................... |
90 |
6.3.3. Сигналы..................................................................................................... |
93 |
6.3.4. Сообщения................................................................................................ |
96 |
6.3.5. Семафоры................................................................................................ |
101 |
6.3.6. Разделяемая память................................................................................ |
106 |
Контрольные вопросы....................................................................................... |
111 |
СПИСОК ЛИТЕРАТУРЫ.................................................................................... |
113 |
ПРИЛОЖЕНИЕ 1. КОДЫ ОШИБОК ................................................................. |
114 |
4
ПРИЛОЖЕНИЕ 2. ЗАДАНИЯ НА ЛАБОРАТОРНЫЕ РАБОТЫ..................... |
117 |
Лабораторная работа №1. Знакомство с операционной системой Linux. |
|
Способы хранения информации..................................................................... |
117 |
Лабораторная работа №2. Командная оболочка bash...................................... |
118 |
Лабораторная работа №3. Понятие процесса, группы процессов, сеансов. |
|
Фоновое и интерактивное выполнение задач................................................ |
120 |
Лабораторная работа №4. Программирование в ОС Linux. Основные |
|
этапы создания программ. Взаимодействие программ с командной |
|
оболочкой. Обработка исключительных ситуаций....................................... |
121 |
Лабораторная работа №5. Порождение, завершение, синхронизация |
|
процессов. Группы и сеансы........................................................................... |
122 |
Лабораторная работа №6. Взаимодействие процессов. Каналы. FIFO........... |
122 |
Лабораторная работа №7. Многонитиевые программы.................................. |
123 |
Лабораторная работа №8. Взаимодействие процессов. Идентификация. |
|
Сообщения....................................................................................................... |
124 |
Лабораторная работа №9. Взаимодействие процессов. Семафоры. |
|
Разделяемая память......................................................................................... |
125 |
5