Материал: 396_OS_uchebnoe_posobie_part1_2012

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»

С.Н. Мамойленко О.В. Молдованова

ОПЕРАЦИОННЫЕ

СИСТЕМЫ

Учебное пособие

Часть 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

Источник: https://studfile.net/preview/16708918/