Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПОС.doc
Скачиваний:
4
Добавлен:
02.05.2019
Размер:
555.52 Кб
Скачать

Міністерство освіти і науки України

ОДЕСЬКА ДЕРЖАВНА АКАДЕМІЯ ХОЛОДУ

інститут заочного (дистанційного) навчання

Швець Н.В.

Системне програмування і операційні системи

Посібник до самостійної роботи

Для студентів, що навчаються за фахом:

6.080401 «Інформаційні управляючи системи і технології» 6.080402 «Інформаційні технології проектування»

Одеса 2009

Укладач: Швець Наталія Василівна, старший викладач кафедри Інформаційних технологій

Посібник розглянуто і затверджено на засіданні кафедри Інформаційних технологій

Протокол №__ від “____” ___________2009 р.

Завідувач кафедри ІТ, д.т.н., професор. В.М. Плотніков

Затверджено методичною комісією напряму підготовки

0804 Комп’ютерні науки науково-методичної ради академії

Протокол №__ від “____”_____________2009 р.

Голова методичної комісії ФІТ, к.т.н., доц. Ю.К.Корнієнко

Зміст

Вступ 5

1. Структура та обсяг дисципліни 7

2. Основи програмування на мові С 8

2.1 Найпростіші конструкції мови 8

2.2 Типи даних 10

2.3 Змінні 10

2.4 Операції мови С 13

2.5 Структура простої С програми 14

2.6 Організація введення-виведення 15

2.7 Компіляція в системі Linux 17

2.8 Організація розгалужень в програмі 19

2.9 Організація циклів 21

2.10 Оператор break 24

2.11 Оператор continue 24

2.11 Масиви 25

2.12 Функції 27

2.13 Рекурсивні функції 29

2.15 Структури даних 33

3. Операційні системи 39

3.1. Поняття операційної системи 39

3.2 Класифікація сучасних операційних систем 42

4 Архітектура операційних систем 44

4.1 Базові поняття архітектури операційних систем 44

4.2 Реалізація архітектури операційних систем 45

4.3 Системи з мікроядром 47

4.4 Концепція віртуальних машин 48

5. Підтримка програмування в OC UNIX. 49

5.1. Вивчення передачі інформації 49

5.2. Змінні оточення 56

5.3. Обробка помилок 58

5.4. Правила формування і засоби розбору командних рядків 60

6. Логічна організація файлових систем 66

6. 1. Поняття файла і файлової системи 66

6. 2. Організація інформації у файловій системі 69

6. 3. Зв’язки 76

6. 4. Атрибути файлів 79

6. 5. Операції над файлами і каталогами 79

7. Файлові операції POSIX 82

7.1. Відкриття і створення файлів 82

7.2. Закриття файла 83

7.3. Читання і записування даних 83

7.4. Збирання інформації про атрибути файла 86

7.5 Операції над каталогами 87

Література 90

Вступ

Дисципліна «Системне програмування і операційні системи» орієнтована на вивчення основ системного програмування і надання загального уявлення про систему Linux,необхідного кожному програмісту. Викладання даного курсу студентам, які навчаються за фахом 6.080402 «Інформаційні технології проектування», фокусується на програмуванні системного рівня в призначеному для користувача просторі, тобто на всьому, що лежить вище за ядро. Що таке інтерфейс системного рівня, і як писати додатки системного рівня в Linux? Що саме надають ядро і бібліотека C? Як створювати програмне забезпечення під Linux, ефективно використовуючи можливості системи - функції ядра і базові бібліотеки?

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

Результатом вивчення курсу повинне бути вміння користування стандартними системними засобами введення/виведення, працювати з дисковими файлами, каталогами, здійснювати захист інформації від несанкціонованого доступу. Студенти зможуть поліпшити свої програми, зробивши їх швидше, надійніше і безпечніше.

Системні виклики є основними будівельними блоками для операцій вищого рівня і тому вони низькорівневі за своєю природою. Це визначає використання мови програмування С: функції API були спроектовані для використання із С, і код, що пов'язує їх з мовами вищого рівня, також повинен бути написаний мовою С.

Системне програмування тримається на трьох наріжних каменях: системні виклики, бібліотека С компілятор С, тому у рамках даного курсу даються базові знання за найвідомішими стандартами POSIX, стандартами мови C, а також інтерфейсом прикладного програмування (API) UNIX-подібних операційних систем.

Для наведення прикладів стосовно генерації коду використовується мова програмування С.