1   2   3   4   5   6
Ім'я файлу: OS-Labs-1-6_22.pdf
Розширення: pdf
Розмір: 1042кб.
Дата: 10.11.2022
скачати

Операційні системи – лабораторний практикум
Загальні вимоги до виконання лабораторних робіт
Обладнання
Для виконання лабораторних робіт Вам потрібен комп'ютер, на якому встановлена будь-яка операційна система із сімейства UNIX. Передбачається виконання робіт в комп’ютерній лабораторії ФТІ на системі Solaris 10. Для самостійної підготовки рекомендуються вільно (безкоштовно) розповсюджувані операційні системи: Solaris 10, FreeBSD, Debian або одна з версій Linux. Дистрибутив системи Solaris 10 можна вільно завантажити з Інтернету
(
www
. sun
. com
). Типовий дистрибутив розміщується, як правило, на одному
DVD, чина дисках. Зверніть увагу, що для виконання лабораторних робіт Вам не потрібна багатовіконна система Х (X Window System), як і інші графічні системи (Gnome, CDE), тому фактично дистрибутив містить 99,9% зайвого для цього курсу лабораторних робіт програмного забезпечення.
Інші дистрибутиви Linux можна також завантажити з Internet.
Матеріали по Solaris 10 в електронній формі запитуйте у викладача, або на сайті docs.sun.com
Що стосується FreeBSD, її добре знають і дуже поважають системні адміністратори. Повний дистрибутив разом з усім програмним забезпеченням займає 4 повних CD-ROM, але знайти її на ринку важко.
Зверніть увагу, що для FreeBSD також основний об’єм програмного забезпечення – це графічні багатовіконні системи і все, що працює під їх керуванням. Серйозних вимог до апаратного забезпечення немає. Якщо не використовувати графічних систем, не буде проблем навіть із дуже застарілим комп’ютером (486).
Вимоги до виконання робіт
Методичні вказівки до кожної роботи складаються з завдання для самостійної підготовки й завдання для виконання. Завдання для самостійної підготовки може виконуватись без комп’ютера (якщо є роздруковані матеріали довідкової системи). Воно передбачає ознайомлення з теоретичним матеріалом і завданням до виконання, а також підготовку до виконання практичної частини роботи.
Деякі теоретичні відомості містяться безпосередньо в методичних вказівках. Алене слід обмежуватись цією далеко не повною інформацією.
Зверніться до рекомендованої літератури, багато додаткових відомостей можна знайти в Internet, зокрема на сайті docs.sun.com, www
. citforum
. ru та www
. google
. com
Докладні довідкові дані по кожній (майже кожній) команді
4

Операційні системи – лабораторний практикум можна одержати, набравши на клавіатурі
man
<необхідна_команда>.
Роботи виконуються в комп’ютерній лабораторії в присутності викладача. Допускається виконання лабораторних робіт в ході самостійної роботи в будь-якому іншому місці за умови дотримання правил оформлення звітів і графіку здачі робіт.
Деякі завдання виконуються відповідно до номера варіанта, який визначається за останньою цифрою номера залікової книжки студента (1 = варіант №1, 2 = варіант №2, …, 9 = варіант №9, 0 = варіант №10). При виконанні роботи студент повинен фіксувати все, що відбувається на екрані монітора комп’ютера.
Зверніть увагу нате, що в індивідуальних завданнях часто зустрічаються певні слова, рядки, вирази в кутових дужках. Це означає, що
Ви повинні підставити замість цього виразу разом із дужками значення цього виразу. Наприклад, Вас звуть Сергій, тоді замість студент_<ваше ім’я>
Ви повинні написати (набрати на клавіатурі) студент_Сергій.
Файли та каталоги, створені Вами в ході виконання лабораторних робіт, зберігайте до завершення всього циклу лабораторних робіт, бо вони можуть використовуватись в наступних роботах.
Для здачі лабораторної роботи студент повинен подати викладачу оформлений звіт з цієї роботи, що відповідає викладеним нижче вимогам.
Варіант завдань, що виконані студентом, повинен відповідати номеру його залікової книжки. Студент повинен дати правильні відповіді на додаткові запитання за матеріалами цієї лабораторної роботи. Зверніть увагу нате, що студент повинен володіти всім теоретичним і практичним матеріалом, а не тільки тією його частиною, яка безпосередньо входила до індивідуального завдання.
Вимоги до оформлення звіту
Звіт повинен містити:
1. назву лабораторної роботи, тему і мету лабораторної роботи;
2. номер варіанту і зміст індивідуального завдання;
3. дату і місце виконання роботи, коротку характеристику системи, на якій було виконано роботу (клас комп’ютера, версію ОС і т.і.);
4. протокол виконання роботи, де чітко позначено, що вводить користувач з клавіатури, і що в результаті з’являється на екрані
(необхідно показати всі результати; якщо іде запис даних в файл, вміст файлу також слід роздрукувати);
5

Операційні системи – лабораторний практикум. (обов’язково!!!) висновки по роботі, які повинні містити саме висновки, які студент може зробити в результаті виконання цієї роботи, а не констатацію факту "в результаті виконання роботи я навчився…"; у висновках може бути зроблена оцінка наявності певних функцій операційної системи, якості або гнучкості їх реалізації, зручності інтерфейсу і т.і.;
6. на кожній сторінці (в верхньому або нижньому колонтитулі) прізвище студента і номер групи або залікової книжки.
Звіт з кожної лабораторної роботи повинен мати титульний лист, оформлений згідно стандартних вимог, яку наведеному прикладі.
6

Операційні системи – лабораторний практикум
Загальні відомості про систему UNIX
Системи, які узагальнюються під назвою UNIX, є багатозадачними багатокористувацькими системами з розділенням часу. Насправді, це досить різні системи, які зберегли подібний інтерфейс користувача і програмний
інтерфейс (інтерфейс системних викликів), а також схожі принципи побудови файлових систем.
Всі ці системи є нащадками однієї системи, яку було розроблено на початку х років ХХ століття. Шляхи розвитку цієї системи спочатку розійшлися, потім було проведено велику роботу по відновленню сумісності систем. Тепер розрізняють дві гілки розвитку систем UNIX: System V (V – римська цифра “5”) розробки підрозділів AT&T (її скорочено називають
SVRx, де х – номер версії, тепер поширена SVR4) і BSD UNIX компанії
Berkeley Software Distribution. Ще одна гілка розвитку – OSF/1 (Open
Software Foundation), що розробляється як конкурент System V, фактично наближена до BSD UNIX, хоча містить ряд особливостей, характерних для
System V. Також проміжне положення займає популярна система Linux. Правом на торгову марку “UNIX” володіла AT&T, потім ці права (разом з патентами і правами на вихідні коди системи) були продані Novell, а далі –
SCO (Santa Cruz Operation). Інші системи мають власну назву, що, як правило, дещо співзвучна UNIX. Коли бажають підкреслити, що мають на увазі різні операційні системи, що мають спільні риси, часто називають їх системи *IX (UNIX, Linux, AIX, Minix, Xenix, Irix і т.д.). Найбільш помітні для користувача відмінності систем
 традиційні командні інтерпретатори – sh, ksh для SVR4 і csh для BSD;
 файлова система – S5 для SVR4, UFS для BSD, EXT2 для Linux.
Також є численні відмінності в іменах і розміщенні важливих конфігураційних файлів. Найбільш відомі й розповсюджені операційні системи, що їх можна віднести до SVR4: Solaris (Sun Microsystems), IRIX
(Silicon Graphics), SCO UNIX. За зовнішніми ознаками до SVR4 також близька система Linux. До BSD UNIX відносяться в першу чергу системи розробки власне BSD, в тому числі відкриті проекти OpenBSD і FreeBSD
(остання система є основною, що рекомендована для виконання цих лабораторних робіт). До системи BSD також дуже близька система Digital
UNIX розробки DEC (фактично вона є системою OSF/1). Описи лабораторних робіт базуються на системі Solaris Для того, щоби користувач міг розпочати роботу в системі, він повинен проідентифікувати себе і підтвердити ідентифікацію паролем. Для цього адміністратор повинен заздалегідь створити в системі обліковий запис (іноді кажуть – бюджет, англ. – account) цього користувача. Інформацією, що
ідентифікує користувача є login або userid (login – це ім'я-ідентифікатор з
7

Операційні системи – лабораторний практикум
одного слова, який використовується при взаємодії користувача з системою,
userid – числовий ідентифікатор користувача, яким користується система.
Інформацією, що автентифікує (підтверджує тотожність) користувача є пароль (рядок символів, на який у залежності від конфігурації накладаються деякі обмеження).
Після входу в систему користувач опиняється в графічному середовищі
Gnome чи CDE. Щоб потрапити до командної оболонки, в якій безпосередньо будуть виконуватися всі лабораторні роботи, слід запустити термінальне вікно - Terminal. В залежності від типу командної оболонки (shell), яка дозволяє йому вводити команди й інтерпретує їх. Оболонка може запускати на виконання файли, що містять програмний код. Також вона може виконувати послідовність команд, що міститься в текстових файлах – так званих пакетних файлах, файлах сценаріїв, або, як їх ще називають, скріптах
(від англ. – script). До складу операційної системи, крім ядра, входить велика кількість окремих програмних файлів – системних утиліт. Переважна більшість команд системи UNIX є так званими зовнішніми командами, тобто фактично вони означають запуск тієї чи іншої утиліти. Утиліти використовують програмний інтерфейс системи UNIX (так званий інтерфейс системних викликів) і звертаються до внутрішніх структур ядра системи. Вони забезпечують гнучкі можливості керування файловими системами, процесами, контролю стану системи.
Докладну довідку щодо кожної команди UNIX ви можете отримати використовуючи довідкову систему man, давши команду <команда>
Довідковий матеріал розбито на розділи. В описах (яку довідковій системі, так і в літературі) прийнято супроводжувати посилання на певну команду, системний виклик, функцію, номером відповідного розділу довідкової системи. Наприклад, man(1), passwd(1), passwd(4).
Нумерація розділів трохи різна в SVR4 і BSD:
Розділ
BSD SVR4
Команди загального призначення (довідник користувача)
1 1
Системні виклики (довідник програміста)
2 2
Бібліотечні функції (довідник програміста)
3 3
Інтерфейси ядра (довідник програміста)
4 7
Формати конфігураційних і системних файлів
5 4
Різнобічна інформація
7 5
Системні утиліти (довідник системного
8 М

Операційні системи – лабораторний практикум
адміністратора)
9

Операційні системи – лабораторний практикум
Лабораторна робота №1. Структура файлової
системи UNIX, основні команди, команди роботи з файлами.
Мета
Оволодіння практичними навичками роботи в системі UNIX.
Знайомство із структурою файлової системи, основними командами роботи з файлами.
Завдання для самостійної підготовки
1. Вивчити:
♦ команди входу в систему, зміни пароля, одержання системної підказки, виводу календаря і зміни дати;
♦ організацію і структуру файлової системи UNIX, обмеження на імена файлів;
♦ типи файлів, каталоги і посилання;
♦ системні каталоги створення, видалення, копіювання і перегляд умісту файлів.
2. Ознайомитись з такими командами UNIX:
man, passwd, date, cat, more, wc, who, ls, cd, cal, cp, mv, mkdir, rm, rmdir
3. Відповідно до завдання підготувати послідовність команд для його виконання.
Довідковий матеріал
Якщо ОС UNIX встановлена на персональному комп’ютері, тона ньому підтримується певна кількість так званих віртуальних терміналів, між якими можна переключатись комбінаціями клавіш Alt+F#, де F# – одна з функціональних клавіш. Користувач може працювати в системі, використовуючи одночасно кілька терміналів. Для здійснення входу в систему, користувач повинен спочатку ввести свій ідентифікатор (login). Як правило, він вводиться у відповідь на запрошення системи такого вигляду:
Login:
Якщо цього запрошення не екрані немає (і не діє екранна заставка –
screensaver), то це означає, що даний термінал не очікує входу користувача. Три найтиповіші причини

Операційні системи – лабораторний практикум
1.
Термінал апаратно заблоковано клавішею “Scroll Lock” (це легко визначити за відповідним світлодіодом на клавіатурі) – розблокуйте термінал.
2.
Термінал зайнятий, тобто з ним повязана деяка програма – слід вийти з цієї програми і з командної оболонки, для чого потрібен певний досвід (можуть спрацювати клавіша q, комбінації клавіш Ctrl+C, Ctrl+D, але іноді цене допоможе – див. Лабораторну роботу № 5).
3.
Термінал використовується виключно для виведення на екран важливих системних подій, при цьому на ньому можна вводити команди і будь-які символи, але реакції на цене буде
– слід перейти на іншу консоль комбінацією клавіш Alt+F#, де
F# – одна з функціональних клавіш, крім F1.
Після введення ідентифікатора система запитує в користувача пароль
Password:
Під час введення пароля символи на екрані не відображаються. Якщо
ідентифікатор і пароль користувача були введені правильно, система здійснює авторизацію користувача, тобто, надає йому певні повноваження, необхідні для роботи в системі. Як правило, після цього користувач опиняється в середовищі командної оболонки (англ. – shell). При цьому на екрані з’являється так зване запрошення командної оболонки (найчастіше – символ ‘$’ або ‘>’, також можна довільно змінити запрошення). Командна оболонка приймає команди, що вводяться з клавіатури, інтерпретує їх і виконує відповідні дії. Ці дії можуть полягати у запуску певних утиліт із заданими у командному рядку параметрами. Крім того, командна оболонка надає користувачу певний додатковий сервіс, наприклад, дозволяє виконувати редагування команди (курсор можна переміщати вправо чи вліво, додавати або знищувати символи під курсором, в деяких оболонках можна легко відтворити попередні команди (клавіші переміщення курсору вгору та вниз, а також користуватись підказками щодо імен наявних файлів (клавіша
Tab). Докладніше про ці та інші сервісні можливості можна дізнатись в довідковій системі man, а також в будь-якій доступній книзі про системи
UNIX чи Linux. В кожній системі
UNIX є в наявності кілька різних командних оболонок. Не будемо наводити історію їхнього розвитку і причини існування кількох оболонок одночасно (див. відповідну літературу). Просто слід зазначити, що практично в кожній системі можна знайти звичну оболонку, або подібну до неї. Найбільш стандартною, що присутня в усіх системах, є оболонка Bourne (Bourne shell), яка стала основою стандарту POSIX shell. Ця оболонка пропонує мінімальний сервіс для користувача, і для інтерактивної
14

Операційні системи – лабораторний практикум
роботи незручна. Її файл – /bin/sh. Існують альтернативні оболонки. Одна з них – Korn shell ( /bin/ksh або /usr/bin/ksh), яку рекомендують як основну для роботи користувача в багатьох системах, здебільшого у версіях
System V Release 4 (SVR4). Інша – C shell ( /bin/csh), вона досить сильно відрізняється синтаксисом багатьох команд, але дуже зручна для користувача і програміста, особливо для тих, хто добре знайомий з мовою програмування С. Як правило, нею користуються адміністратори систем BSD Unix. Також
існують, але не у всіх системах є доступними, більш сучасні оболонки: TC shell (/bin/tcsh) – розвиток C shell, і Bourne again shell ( /bin/bashабо
/usr/bin/bash) – розвиток Bourne shell. “Bourne again shell” зберігає програмну сумісність зале включає в себе всі можливості ksh, ця оболонка використовується як стандартна в Linux. В подальшому ми будемо використовувати синтаксис оболонки sh
(запрошення має вигляд ‘ $’), а в деяких випадках порівнювати її з csh
(запрошення має вигляд ‘>’).
Командна оболонка, в якій розпочинає роботу користувач після входу в систему, визначається з файлу /etc/passwd. Це один з найголовніших конфігураційних файлів системи, який містить параметри облікових записів користувачів. Кожний рядок файлу відповідає певному користувачу, точніше, обліковому запису користувача, що розрізняється за
ідентифікатором login або userid. Користувач в процесі роботи може запустити іншу командну оболонку, просто набравши її ім’я.
Усі команди, які можна ввести у рядку запрошення оболонки, належать до одної з таких категорій:
– вбудовані функції,
– функції, що визначені користувачем,
– зовнішні програми й утиліти.
Вбудовані функції реалізуються фрагментами програмного коду оболонки і виконуються найшвидше. Користувач може визначити свої функції (хоча таку можливість використовують нечасто. Якщо команда не є вбудованою функцією і не визначена як функція користувачем, тоді оболонка буде шукати файл з відповідним ім’ям і намагатись запустити його на виконання. Якщо ім’я файлу задано із шляхом до нього, то система намагається знайти його саме у тому каталозі, який явно задано у команді, але якщо ім’я файлу задано без шляху, то пошук файла здійснюється лише утих каталогах, які задані системною змінною PATH. Для перегляду значення змінних їх слід набрати зі знаком $ попереду. Зокрема, якщо у цій змінній не задано пошук у поточному каталозі, і поточний каталог не є одним із тих, що
15

Операційні системи – лабораторний практикум
задано у цій змінній, то оболонка не побачить виконуваних файлів з поточного каталогу.
Розглянемо деякі основні команди. Слід зазначити, що немає штатного засобу, який надавав би користувачеві перелік доступних йому команд, тому основні команди необхідно пам’ятати.
Команда man форматує і відображає на терміналі сторінки довідкової системи. Відповідно до номерів розділів даються посилання на тучи іншу сторінку довідника. Якщо є необхідність, можна вказати, в якому розділі треба шукати потрібну сторінку Приклад 2). Приклади використання
(системні запрошення не показані):
man passwd
man 7 Команда passwd, що викликає однойменну утиліту, дозволяє користувачеві змінювати свій пароль входу в систему. Спочатку необхідно підтвердити свою автентичність, набравши свій пароль, а далі можна ввести новий пароль (це здійснюється двічі для уникнення випадкових помилок).
Команда who дозволяє визначити, хто ще працює в поточний момент в системі. Команда who am i нагадає вам, який ваш login.
Існують зручні команди визначення поточної дати й часу (
date), а також виводу на екран календаря на будь-який місяць будь-якого року (cal). Для того, щоби переглянути вміст текстового файлу, можна скористатись командою cat <ім’я файлу, або more <ім’я файлу (остання команда призначена для виводу інформації на екран посторінково, вона надає можливість “перегортати сторінки” вперед і назад. Існує команда wc <ім’я файлу count – підрахувати слова, яка дозволяє підрахувати кількість рядків ( wc -l ), слів ( wc -w ) і символів ( wc -c ) у файлі. Створити текстовий файл можна командою touch <ім’я файлу.
Розглянемо особливості файлової системи UNIX. Вся файлова система поєднується в єдине дерево каталогів, які починаються з кореневого каталогу, що має позначення ‘ /’. Всі зовнішні файлові системи (змінні носії
інформації, мережеві диски і таке інше) монтуються у визначенні місця
єдиного дерева файлової системи (див. Лабораторну роботу №7). Як і в інших ієрархічних файлових системах, у файловій системі UNIX
ім’я файлу повинно бути унікальним лише в межах одного каталогу (на відміну від MS-DOS/Windows, UNIX розрізняє великі і малі літери в назвах файлів). Для однозначної ідентифікації файлу в дереві каталогів слід указувати повний путь до файлу. Якщо путь починається з символу ‘
/’
(наприклад, /usr/local/bin/cal), то він відраховується від кореневого

  1   2   3   4   5   6

скачати

© Усі права захищені
написати до нас