НОУ ІНТУІТ, Лекція, Введення в операційну систему Unix

Хід заняття

1. Сьогодні ми з вами починаємо вивчати Linux як одну зі складових частин світу інформаційних технологій під назвою Unix. Всі ви, ну або практично все раніше стикалися з ОС сімейства Windows. Я хочу зробити невелику примітку - Unix не Windows, він не схожий на нього (не рахуючи зовнішньої подібності) і прийоми роботи в unix відрізняються від прийомів роботи в Windows. Unix - це не тільки операційна система, це ще й ідеологія роботи з комп'ютером. Ті правила, про які ми з вами говоритимемо зараз, лежать в основі вивчення Linux, та й Unix взагалі. Загальний термін для них – Unix Way:

  • одне завдання – одна програма. У Unix не прийнято робити комбайни для виконання "відразу". Програма робиться таким чином, щоб вона могла виконувати одну просту дію, але виконувала її добре.
  • є безліч шляхів вирішення.Для рішень тієї чи іншої комплексної задачі кожен може вибирати свій набір простих компонентів для її вирішення.
  • все є файл. Найпрекрасніша концепція в Unix. Справді, в Unix все представлено як файлів – програми, налаштування, системні дані і навіть пристрої. І з пристроями можна працювати як із простими файлами.

Решту Unix way ми з Вами вивчатимемо протягом цього курсу. Будьте готові до вивчення не просто нових програм, а нових методів роботи на комп'ютері.

2. У 1969 році Кен Томпсон і Денис Рітчі, працівники корпорації AT&T, створили невелику операційну систему для комп'ютера PDP-7. Ця операційна система одержала назву Unix. Однак у плани компанії AT&T не входило поширення цієї операційної системи, і вона надала її за символічну плату навчальнимзакладам США, не організувавши при цьому служби технічного супроводу, виправлення помилок і взагалі не давши жодних гарантій.

Внаслідок цього користувачі, які майже всі були представниками університетських обчислювальних центрів, були змушені співпрацювати один з одним. Вони самі усували помилки, створювали корисні програми та утиліти та спільно їх використовували. Результатом їхньої роботи стала ціла серія версій Unix, що розповсюджуються під егідою компанії Bell Labs аж до 1990 року (Остання версія була Unix System V Release 4 – SVR4 ).

Одна з груп користувачів Unix була в Каліфорнійському університеті в Берклі. У 1977 році фахівці цього навчального закладу зробили наступний крок в історії Unix і почали поширення магнітних стрічок з операційною системою 2BSD (Berkeley Software Distribution). З того часу було продано 75 копій.

На основі Unix SVR4 та BSD були створені всі сучасні різновиди Unix.

3. Існує безліч різновидів Unix та Unix-подібних систем. До найбільш відомих з них відносяться Solaris (раніше SunOS) корпорації SUN Microsystems, AIX компанії IBM, DEC Unix фірми DEC, SCO UnixWare та інші. Усі вищеназвані системи є комерційними, і з них мають високу ціну. Вони працюють на різних архітектурах (Intel, Sparc, Alpha, PowerPC тощо). Однак найбільшого інтересу сьогодні у світі Unix придбали операційні системи, побудовані на моделі відкритого коду, такі як Linux.

4. Linux є вільнорозповсюджуваною багатозадачною розрахованою на багато користувачів операційною системою , схожою на Unix. Linux була розроблена спеціально для платформи ПК (з процесором Intel) і завдяки перевагам архітектури дозволяє досягти продуктивності, порівнянної з потужними робітникамистанціями Unix. Linux також переносилася і на інші платформи, але всі ці версії подібні до версії для ПК.

Розгляньмо операційну систему як єдиний комплекс. Нижче наведено список того, що ми отримаємо, встановивши її:

Ядро – це основна частина операційної системи. Воно відповідає за розподіл пам'яті, управління процесами та периферійними пристроями. Для підтримки більшого обсягу оперативної пам'яті в порівнянні з фізично встановленою на комп'ютері, ядро ​​дозволяє використовувати область підкачки, розміщуючи сторінки оперативної пам'яті на жорсткому диску.

Ядро Linux підтримує безліч файлових систем, включаючи FAT, FAT32. Власні файлові системи Linux (ext2fs та ext3fs) розроблені для оптимального використання дискового простору.

Linux містить безліч утиліт GNU, без яких була б неможлива робота з операційною системою.

Графічний інтерфейс користувача представлений Linux середовищем X Window. Різні віконні менеджери (IceWM, WindowMaker, Fluxbox та інші) та графічні середовища такі як KDE та GNOME забезпечують зручний інтерфейс та роботу із засобами мультимедіа .

Інтерфейси DOS та Windows:

Оскільки Linux була створена для комп'ютерів класу ПК, розробники вважали за необхідне забезпечити сумісність із програмами MS-DOS. У Linux пропонується емулятор DOS як частина дистрибутива. Він дозволяє виконувати DOS-додатки безпосередньо з-під Linux. Для запуску програм Microsoft Windows було розроблено декілька засобів. Найбільш відоме з них – WINE – вільна реалізація Windows API. Wine також входить до більшості дистрибутивів Linux.

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

TCP/IP – основна мережева система, що використовується Unix і Linux. TCP/IP – це набір протоколів, розроблених для Internet . Однак для об'єднання в локальні мережі машин Unix також використовується TCP/IP. Також Linux підтримує інші протоколи, такі як IPX/SPX, AppleTalk тощо.

5. Постає питання - як дізнатися тип операційної системи, встановленої у вас на комп'ютері. Для отримання такої інформації існує утиліта uname (Unix NAME).

uname, запущена без параметрів, покаже базове ім'я системи:

Також вона може приймати такі параметри:

-s – показує назву ядра системи

-r – ім'я релізу ядра системи

-v – ім'я версії та дату компіляції ядра

-o – операційну систему

-p – тип процесора

-m - тип обладнання (i386, i686, Alpha)

-a - всю інформацію відразу

Це не всі параметри uname. Про довідку Linux ми поговоримо з вами на "лекції 5".

Команда free показує обсяг пам'яті та обсяг її використання, а також використання swap:

Зверніть увагу, що практично вся вільна пам'ять резервується системою під дискові буфери та дисковий кеш, що дозволяє Linux ефективніше працювати з дисками.

Стан системи в даний момент, ступінь її завантаженості та час без перезавантажень показує команда uptime :

Першим йде поточний час, потім, після слова up – час, що минув з моменту включення комп'ютера, потім показано скільки користувачів зареєстровано зараз у системі (це може бути кілька реєстрацій одного й того користувача) і завантаження системи. Завантаження системи показується в кількості процесів, що одночасно працюють в системі, середнязначення за 1-ну, 5 та 15 хвилин. Система вважається навантаженою, якщо це значення перевищує 1 для 1 процесор .

Іншим засобом моніторингу продуктивності є команда vmstat:

Ця команда видає за раз досить великий обсяг інформації.

r — кількість процесів, що очікують

b - кількість сплячих процесів

swpd - обсяг використовуваної віртуальної пам'яті

free - обсяг вільної віртуальної пам'яті

buff - обсяг пам'яті, зайнятий під дискові буфери

cache – обсяг пам'яті, зайнятий під дисковий кеш

si - обсяг пам'яті, підкачаної з диска

so - обсяг пам'яті, вивантаженої на диск

bi - кількість блоків, відправлених на блоковий пристрій

in — кількість переривань за секунду

cs — кількість перемикань контексту за секунду

us - час виконання коду рівня користувача (у відсотках від загального часу)

sy - час виконання коду рівня системи (у відсотках від загального часу)

id - час простою процесора (у відсотках від загального часу)

wa — час очікування на введення/виведення

st - час роботи віртуальної машини рівня ядра

vmstat показує при простому запуску усереднені показники весь час з моменту запуску системи. Але можна попросити vmstat вивести показники за задану кількість часу:

У прикладі виведено інформацію за кожну секунду протягом 5 секунд. Якщо другий параметр ( 5 ) не вказувати, vmstat буде виводити інформацію кожну секунду до натисканняCtrl+C:

Без параметрів команда виводить дані як кількості блоків по 1 кілобайту. Для людини це не дуже зручне подання інформації. У df існує ключ - h (або - human ), що дозволяє побачити обсяги у звичних нам одиницяхвимірювання: