
- •Лабораторна робота № 10 основи роботи з операційною системою unix
- •1 Мета роботи
- •2 Основні положення
- •2.1 Загальна характеристика ос сімейства unix
- •2.2 Архітектура unix
- •2.3 Функціонування системи unix
- •2.3.1 Ядро системи
- •2.3.2 Початок і завершення сеансу робіт
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •2.1 Основні характеристики FreeBsd
- •2.2 Історична довідка
- •2.3 Мета проекту FreeBsd
- •2.4 Вимоги до системи при інсталяції FreeBsd
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •2.1 Поняття процесу
- •2.2 Компоненти процесу
- •2.2.1 Ідентифікатор процесу
- •2.2.2 Ідентифікатор батьківського процесу
- •2.2.3 Ідентифікатор користувача і групи
- •2.3 Стан процесу, "заблукалі" процеси
- •2.4 Управління процесами, команди kill та nice
- •2.4.1 Дворівнева схема керування процесами
- •2.4.2 Команда kill
- •2.4.3 Команда nice
- •2.5 Поточний контроль процесів, команди ps та top
- •2.6 Захист фонових процесів, команда nohup
- •3 Ключові запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •7 Список рекомендованої літератури
- •Лабораторна робота № 13 права доступу в операційній системі unix
- •1 Мета роботи
- •2 Основні положення
- •2.1 Поняття прав доступу користувача
- •2.2 Основні біти доступу (читання/запис/виконання)
- •2.3 Додаткові біти доступу
- •2.4 Сполучення бітів доступу
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •2.1 Основні поняття клієнт-серверної архітектури
- •2.2 Основи мережного програмування
- •2.3 Компіляція
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •7 Список рекомендованої літератури
- •Основні комбінації клавіш і команди
- •Закінчення таблиці а2
- •Закінчення таблиці а4
- •Приклади програм для реалізації клієнт-серверної архітектури
- •Перевірка буфера
- •Зчитування запису
- •Лістинг 2 Server-сервер, котрий демонструє застосування функції readvrev
Державний комітет зв’язку та інформатизації України
—————————————————
ОДЕСЬКА НАЦІОНАЛЬНА АКАДЕМІЯ ЗВ’ЯЗКУ ім. О. С. Попова
Кафедра обчислювальної техніки та мікропроцесорів
Створення програмного забезпечення телекомунікацій
для роботи в ОС UNIX
Методичний посібник
до лабораторних робіт № 10...14
з дисциплін
“Системне програмне забезпечення”
та “Системне та прикладне програмне забезпечення у телекомунікаціях”
для спеціальностей: 8.092401, 8.092402, 8.0924
Одеса 2003
Державний комітет зв’язку та інформатизації України
—————————————————
ОДЕСЬКА НАЦІОНАЛЬНА АКАДЕМІЯ ЗВ’ЯЗКУ ім. О. С. Попова
Кафедра обчислювальної техніки та мікропроцесорів
Створення програмного забезпечення телекомунікацій
для роботи в ОС UNIX
Методичний посібник
до лабораторних робіт № 10...14
з дисциплін
“Системне програмне забезпечення”
та “Системне та прикладне програмне забезпечення у телекомунікаціях”
для спеціальностей: 8.092401, 8.092402, 8.0924
ЗАТВЕРДЖЕНО
методичною радою академії
Протокол № 10
від 11.03.03 р.
Одеса 2003
УДК 681.3.06 План НМВ 2003 р.
Укладачі — С. П. Главацький
І. В. Хіхловська
Рецензент — О. В. Онацький
Методичний посібник до п’яти лабораторних робіт: № 10 — Основи роботи з операційною системою UNIX; № 11 — Інсталяція FreeBSD; № 12 — Керування процесами; № 13 — Права доступу в операційній системі UNIX; №14 — Програмування клієнт-серверної архітектури — вміщує основні положення про архітектуру ОС UNIX, основи роботи в ній та програмування клієнт-серверної архітектури. Наведено домашні завдання та форма звітності з лабораторних робіт.
СХВАЛЕНО
на засіданні кафедри
обчислювальної техніки
та мікропроцесорів
і рекомендовано до друку
Протокол № 2
від 20.09.2002
ЗМІСТ
1 Лабораторна робота № 10 Основи роботи з операційною системою
UNIX 4
2 Лабораторна робота № 11 Інсталяція FreeBSD 12
3 Лабораторна робота № 12 Керування процесами 19
4 Лабораторна робота № 13 Права доступу в операційній системі UNIX 28
5 Лабораторна робота № 14 Програмування клієнт-серверної архітектури 38
Додаток А Основні комбінації клавіш і команди FreeBSD 44
Додаток Б Приклади програм для реалізації клієнт-серверної
архітектури 48
Лабораторна робота № 10 основи роботи з операційною системою unix
1 Мета роботи
Метою роботи є знайомство з операційними системами сімейства UNIX на прикладі OC FreeBSD. Набуття навичок роботи в ОС FreeBSD.
2 Основні положення
2.1 Загальна характеристика ос сімейства unix
Майже три десятиріччя існування UNIX — доволі великий термін для операційної системи. Сміливо можна вважати, що вона цілковито витримала перевірку часом. На кожному етапі свого розвитку ОС UNIX розв’язувала певні задачі, і сьогодні, незважаючи на з’явлення більш простих і зручних, з погляду адміністрування, систем, UNIX посідає тривке місце з-посеред лідерів. Найдивовижніше є те, що в багатьох випадках при цьому йдеться не про конкретну версію, наприклад Solaris або SCO, а саме про систему UNIX як таку.
Перелічимо основні риси UNIX, котрі дозволяють зрозуміти причини тривалої “живучості” цієї системи:
Системний код написано мовою високого рівня С, що зробило UNIX простішою для розуміння, змін і перенесення на інші платформи. За оцінками одного з її творців, Деніса Рітчі, система мовою С мала на 20...40 % більший розмір, а продуктивність її була на 20 % нижче за продуктивність аналогічної системи, код якої написано мовою асемблер. Більшість UNIX постачається сьогодні у вигляді не вихідних текстів, а бінарних файлів, але система залишається легко розширюваною.
UNIX — багатозадачна багатокористувацька система з широким спектром послуг. Один потужний сервер може обслуговувати запити великої кількості користувачів. UNIX-система може виконувати різноманітні функції: працювати як обчислювальний сервер, який обслуговує сотні користувачів; як сервер бази даних; як сервер мережі, що він підтримує найважливіші сервіси мережі (telnet, ftp, електронну пошту, службу імен DNS тощо), або навіть як мережний маршрутизатор.
Наявність стандартів. Незважаючи на різноманітність версій UNIX, основою всього сімейства є принципово однакова архітектура й низка стандартних інтерфейсів. Досвідчений адміністратор без великої напруги зможе обслуговувати іншу версію системи, для користувачів перехід на іншу версію може стати непомітним.
Простий, але потужний модульний користувацький інтерфейс. Маючи у своєму розпорядженні набір утиліт, кожна з яких розв’язує вузьку спеціалізовану задачу, можна конструювати з них складні комплекси.
Використання єдиної, легко обслуговуваної ієрархічної файлової системи. Файлова система — це не лише доступ до даних, які зберігаються на диску. Через уніфікований інтерфейс файлової системи здійснюється доступ до терміналів, принтерів, магнітних стрічок, мережі й навіть до пам'яті.
Надто велика кількість додатків, у тому числі вільно розповсюджуваних, розпочинаючи від найпростіших текстових редакторів і завершуючи потужними системами керування базами даних.
2.2 Архітектура unix
Побіжний погляд дозволяє побачити дворівневу модель системи, яка відображена на рисунку 2.1.
Рисунок 2.1 – Дворівнева модель UNIX-системи
У центрі розміщено ядро системи (kernel). Ядро безпосередньо взаємодіє з апаратною частиною комп’ютера, ізолюючи прикладні програми від особливостей її архітектури. Ядро має набір послуг, надаваних прикладним програмам. До послуг ядра належать операції введення/виведення (відкриття, читання, записи й керування файлами), створення й керування процесами, їхньої синхронізації й міжпроцесної взаємодії. Усі додатки запитують послуги ядра за допомогою системних викликів.
Другий рівень становлять додатки та задачі, як системні, які визначають функціональність системи, так і прикладні, які забезпечують користувацький інтерфейс UNIX. Однак, незважаючи на зовнішню різнорідність додатків, схеми їхньої взаємодії з ядром є однакові.