Операційна
система UNIX h2>
Історія
створення та підставу операційної системи UNIX. h2>
Історія ОС UNIX
нерозривно пов'язані з американською компанією AT & T Bell Laboratories і
уславленими іменами співробітників цієї фірми Кена Томпсона, Денніса Річі та
Брайана Керніган. p>
З 1965 по 1969
р. фірма Bell Labs спільно з компанією General Electric і групою
дослідників з Массачусетського технологічного інституту брала участь в
проект ОС Multics. Ця операційна система, хоча і не була повністю доведена
до стадії комерційного продукту, збагатила світове співтовариство системних
програмістів масою цінних ідей, багато з яких зберігають свою актуальність
до цього дня і використовуються стосовно не тільки до операційних систем.
Основним недоліком ОС Multics, який, як видно, і перешкодив довести
систему до рівня програмного продукту, була її надмірна складність. p>
Залишивши проект
Multics, нечисленна група співробітників Bell Labs вирішила розробити свою
просту власну операційну систему, придатну для їх власних потреб. З
цього і почалася ОС UNIX. Назва UNIX було придумано Брайаном Керніганом для
найпростішої операційної системи, яка працювала на PDP 7 (1970 р.). Ця система
була написана на мові асемблера і була мало схожа на сучасний UNIX:
збереглися лише загальні підходи до логічної організації файлової системи і
управління процесами, а також деякі утиліти для роботи з файлами. p>
У 1971 р.
система була переписана (все ще на мові асемблера) для більш потужної ЕОМ PDP
11/20. У першій версії ОС UNIX для PDP 11 були втілені вже майже всі ідеї,
визнані тепер як основа UNIX. Не проводився тільки механізм
взаємодії процесів через програмні канали (pipe), але і цей механізм
з'явився в другій версії системи. Паралельно з цим велась розробка мови
програмування, придатного для написання операційних систем. На основі
що існував до цього часу мови BCPL був створений популярнійшій тепер мова
Сі. p>
І, нарешті, в
1973 ОС UNIX була переписана на мові Сі. Основними розробниками цього
варіанту системи були Томпсон та Рітчі. Широке поширення одержала шоста
версія UNIX (1975 р.), але справжню революцію справила розробка сьомий
версією, яка стала першим по-справжньому мобільного версією системи. Це було
продемонстровано насамперед самими розробниками, здійснили успішний
перенесення системи з 16 - розрядної PDP 11 на 32-розрядну ЕОМ
Interdata 8/32 (1977 р.). C 1979 UNIX Version 7 почала активно
поширюватися і була перенесена на безліч різноманітних ЕОМ. p>
Важливим етапом у
історії OC UNIX є розробка версії системи для ЕОМ VAX 11/780 (UNIX
32V). Ця робота була виконана співробітниками Bell Labs Джоном Рейзер і Томом
Лондоном і отримала подальший розвиток в Каліфорнійському університеті (м.
Берклі) у серії BSD UNIX. Надалі історія ОС UNIX розвивалася досить
бурхливо, так що простежити всі деталі важко. В даний час з
тематикою ОС UNIX пов'язано безліч комерційних фірм і дослідних
організацій. Серед них є й організації, які розробляють нові варіанти
системи, і фірми, що займаються виключно перенесенням існуючих варіантів
на нові ЕОМ p>
Основні
поняття операційної системи UNIX. h2>
Одним з достоїнств
ОС UNIX є те, що система базується на невеликому числі інтуїтивно ясних
понять. Однак, незважаючи на простоту цих понять, до них треба звикнути. Без
цього неможливо зрозуміти суть ОС UNIX. p>
2.1
Користувач. H2>
З самого початку
ОС UNIX замишлялася як інтерактивна система. Іншими словами, UNIX
призначений для термінальної роботи. Щоб почати працювати, людина повинна
"увійти" в систему, ввівши з вільного терміналу своє облікове ім'я
(account name) і, можливо, пароль (password). Чоловік, зареєстрований в
облікових файлах системи, і, отже, має облікове ім'я, називається
зареєстрованим користувачем системи. Реєстрацію нових користувачів
зазвичай виконує адміністратор системи. Користувач не може змінити своє
облікове ім'я, але може встановити та/або змінити свій пароль. Паролі зберігаються в
окремому файлі у закодованому вигляді. Не забувайте свій пароль, знову дізнатися
його не допоможе навіть адміністратор! p>
Всі
користувачі ОС UNIX явно чи неявно працюють з файлами. Файлова система ОС
UNIX має деревовидну структуру. Проміжними вузлами дерева є
каталоги з посиланнями на інші каталоги або файли, а листя дерева
відповідають файлам або порожнім каталогам. Кожному зареєстрованому
користувачеві відповідає деякий каталог файлової системи, який
називається "домашнім" (home) каталогом користувача. При вході в
систему користувач одержує необмежений доступ до свого домашнього каталогу
і всім каталогів і файлів, що містяться в ньому. Користувач може створювати, видаляти
і модифікувати каталоги і файли, що містяться в домашньому каталозі.
Потенційно можливий доступ і до всіх інших файлів, однак він може бути
обмежений, якщо користувач не має достатніх привілеїв. p>
2.2.
Інтерфейс користувача. H2>
Традиційний спосіб
взаємодії користувача з системою UNIX грунтується на використанні
командних мов (щоправда, в даний час все більшого поширення
отримують графічні інтерфейси). Після входу користувача в систему для нього
запускається один з командних інтерпретаторів (залежно від параметрів,
що зберігаються у файлі/etc/passwd). Зазвичай в системі підтримується кілька
командних інтерпретаторів з схожими, але які відрізняються своїми можливостями
командними мовами. Загальна назва для будь-якого командного інтерпретатора ОС UNIX
- Shell (оболонка), оскільки будь-який інтерпретатор представляє зовнішнє
оточення ядра системи. p>
Викликаний
командний інтерпретатор видає запрошення на введення користувачем командного
рядка, який може містити просту команду, конвеєр команд або
послідовність команд. Після виконання черговий командного рядка і видачі
на екран терміналу або у файл відповідних результатів, shell знову видає
запрошення на введення командного рядка, і так до тих пір, поки користувач не завершить
свій сеанс роботи шляхом введення команди logout або натисканням комбінації клавіш
Ctrl-d. p>
Командні
мови, що використовуються в ОС UNIX, достатньо прості, щоб нові користувачі
могли швидко почати працювати, і досить потужні, щоб можна було використовувати
їх для написання складних програм. Остання можливість спирається на механізм
командних файлів (shell scripts), які можуть містити довільні
послідовності командних рядків. У назві командного файлу замість
чергової команди інтерпретатор читає файл рядок за рядком і послідовно
інтерпретує команди. p>
2.3.
Привілейований користувач h2>
Ядро ОС UNIX
ідентифікує кожного користувача за його ідентифікатором (UID - User
Identifier), унікальному цілого значень, що присвоюються користувачеві при
реєстрації в системі. Крім того, кожен користувач відноситься до деякої
групі користувачів, яка також ідентифікується деяким цілим значенням
(GID - Group IDentifier). Значення UID і GID для кожного зареєстрованого
користувача зберігаються в облікових файлах системи і приписуються процесу, у
якому виконується командний інтерпретатор, запущений при вході користувача
в систему. Ці значення успадковуються кожним новим процесом, запущеним від імені
даного користувача, і використовуються ядром системи для контролю правомощності
доступу до файлів, виконання програм і т.д. p>
Зрозуміло, що
адміністратор системи, який, природно, теж є зареєстрованим
користувачем, повинен володіти великими можливостями, ніж звичайні
користувачі. В ОС UNIX це завдання вирішується шляхом виділення одного значення UID
(нульового). Користувач з таким UID називається суперкористувача (superuser)
або root. Він має необмежені права на доступ до будь-якого файлу і на
виконання будь-якої програми. Крім того, такий користувач має можливість
повного контролю над системою. Він може зупинити її і навіть зруйнувати. p>
У світі UNIX
вважається, що людина, яка отримала статус root, повинен розуміти,
що робить. Суперкористувач повинен добре знати базові процедури
адміністрування ОС UNIX. Він відповідає за безпеку системи, її правильне
конфігурування, додавання і виключення користувачів, регулярне копіювання
файлів і т.д. p>
Ще одним
відзнакою суперкористувача від звичайного користувача ОС UNIX є те, що на
суперкористувача не поширюються обмеження на використовувані ресурси. Для
звичайних користувачів встановлюються такі обмеження як максимальний розмір
файлу, максимальне число сегментів розділяється пам'яті, максимально допустимий
простір на диску і т.д. Суперкористувач може змінювати ці обмеження
для інших користувачів, але на нього вони не діють. p>
2.4.
Програми h2>
ОС UNIX
одночасно є операційної середовищем використання існуючих прикладних
програм і середовищем розробки нових програм. Нові програми можуть писатися
на різних мовах (Фортран, Паскаль, Модула, Ада та ін.) Однак стандартним
мовою програмування в середовищі ОС UNIX є мова Сі (який останнім
часом все більше замінюється на Сі + +). Це пояснюється тим, що по-перше, сама
система UNIX написана на мові Сі, а, по-друге, мова Сі є одним з
найбільш якісно стандартизованих мов. p>
2.5.
"Процес" і "файл". H2>
Процеси являють
собою динамічну сторону системи, це Суб'єкти; а файли - статичну, це
об'єкти дії процесів. Майже весь інтерфейс взаємодії процесів з
ядром і один з одним виглядає як запис/читання файлів./* Хоча треба додати
такі речі, як сигнали, Колективна пам'ять і семафори. */ P>
Процеси не можна
плутати з програмами - одна програма (як правило з різними даними) може
виконуватися в різних процесах. Процеси можна вельми умовно розділити на два
типу - завдання і демони. Задача - це процес, який виконує свою роботу,
прагнучи швидше закінчити її і завершитися. Демон чекає подій, які він
повинен обробити, обробляє події, що відбулися і знову чекає; завершується
він як правило за наказом іншого процесу, найчастіше його вбиває
користувач, давши команду "kill номер_процесса". p>
2.6.
Комадний інтерпретатор h2>
В Unix
практично завжди входять два командних інтерпретатора - sh (shell) і csh
(C-подібний shell). Крім них ще бувають bash (Bourne), ksh (Korn), та інші. p>
Усі команди,
крім зміни поточної директорії, установки змінних оточення
(environment) та операторів структурного програмування - зовнішні програми.
Програми ці як правило розташовуються в каталогах/bin та/usr/bin. Програми
системного адміністрування - в каталогах/sbin та/usr/sbin. p>
Команда складається
з імені яка завантажується програми і аргументів. Аргументи відокремлюються від імені
команди і один від одного пробелаім і табуляції. Деякі спецсимволи
інтерпретуються самим shell'ом. Спецсимволів є " '`! $ ^ *?
<> | &;. p>
В одній
командному рядку можна дати декілька команд. Команди можуть бути розділені:;
(послідовне виконання команд), & (асинхронне виконання команд), |
(синхронне виконання, стандартний висновок stdout першої команди буде поданий на
стандартний ввід stdin друга). p>
Керівництва --
man: p>
Якщо треба
отримати інформацію по будь-якій команді, дайте команду "man
імя_команди ". На екран це буде видаватися через програму
"more" - подивіться, як з нею вправлятися на вашому Unix'е командою
`man more`. p>
Основні
функції та компоненти системи UNIX p>
3.1.Функціі. h2>
Операційна
система UNIX - це набір програм, який керує комп'ютером, здійснює
зв'язок між вами і комп'ютером та забезпечує вас інструментальними засобами,
щоб допомогти вам виконати вашу роботу. Розроблена, щоб забезпечити
легкість, ефективність і гнучкість програмного забезпечення, система UNIX має
кілька корисних функцій: p>
основна мета
системи - це виконувати широкий спектр завдань і програм; p>
інтерактивне
оточення, яке дозволяє вам зв'язуватися безпосередньо з комп'ютером і отримувати
негайно відповіді на запити та повідомлення; p>
багатокористувацької
оточення, яке дозволяє вам поділяти ресурси комп'ютера з іншими
користувачами без зменшення продуктивності. Цей метод називається
поділом часі. Система UNIX взаємодіє з користувачами по черзі,
але так швидко, що здається, що взаємодіє з усіма користувачами
одночасно; p>
многозадачное
оточення, яке дозволяє вам виконувати більш одного завдання в одне і теж
час. p>
3.2
. Компоненти. H2>
Система UNIX
має 4 основних компоненти: p>
ядро-це
програма, яка утворює ядро операційної системи; вона координує
внутрішні функції комп'ютера (такі як розміщення системних ресурсів). Ядро
працює невидимо для вас; p>
shell-це
програма, яка здійснює зв'язок між вами і ядром, інтерпретуючи і
виконуючи ваші команди. Так як вона читає ваш введення і посилає вам повідомлення, то
описується як інтерактивна; p>
commands-це
імена програм, які комп'ютер повинен виконати. Пакети програм називаються
інструментальними засобами. Система UNIX забезпечує інструментальними
засобами для таких завдань як створення і редагування тексту, написання
програм, розвиток інструментарію програмного забезпечення, обмін інформацією з
іншими за допомогою комп'ютера; p>
file system
-файлова система - це набір усіх файлів, можливих для вашого комп'ютера. Вона
допомагає вам легко зберігати і відшукувати інформацію. p>
3.2.1. Ядро h2>
Ядро
контролює доступ до комп'ютера, управляє пам'яттю комп'ютера, обслуговує
файлову систему і розподіляє ресурси комп'ютера серед користувачів. На рис.
1 наведено функціональне подання ядра. p>
Ядро p>
Розподіл
/ p>
ресурсів/ p>
системи/ p>
/ p>
Управління /
Прибирання p>
пам'яттю /
файлової p>
/системи p>
/ p>
/Контроль p>
/доступу p>
/до комп'ютера
p>
рис 1. p>
3.2.2.Shell h2>
Shell - це
програма, яка дозволяє вам зв'язуватися з операційною системою. Shell
зчитує команди, які ви вводите, і інтерпретує їх як запити на
Shell
також є потужним мовою програмування, не схожим на мову
програмування Сі, який опеспечівает умовне виконання і керування
потоками даних. p>
3.2.3.
Commands. H2>
Зовнішній коло
системи UNIX утворюють програми та інструментальні засоби системи,
розділені на категорії функціонально. Ці функції включають: p>
програмне
оточення - кілька програм системи UNIX, що встановлюють дружнє
програмне оточення, що забезпечує інтерфейси між системою і мовами
програмування і використання обслуговуючих програм; p>
обробка
текстів - система забезпечує програми, такі як рядковий та екранний
редактори, для створення та редагування текстів, орфографічну програму перевірки
для виявлення помилок орфографії, і необов'язковий форматер тексту для
створення високоякісних копій, які підходять для публікацій; p>
організація
інформації - система надає багато програм, які дозволяють вам
створювати, організовувати і видаляти файли і каталоги; p>
обслуговують
програми - інструментальні засоби, що створюють графіку і виконують
обчислення; p>
електронна
зв'язок - декілька програм (наприклад, mail) надають вам можливість
передавати інформацію іншим користувачам і в інші системи UNIX. p>
3.2.4. File
system. h2>
Файлова
система є наріжним каменем операційної системи UNIX. Вона
забезпечує логічний метод організації, відновлення та управління
інформацією. Файлова система має ієрархічну структуру.Файл, який
є основною одиницею системи UNIX, може бути: звичайним файлом,
довідником, спеціальним файлом або символічним каналом зв'язку. p>
3.2.4.1.
Звичайні файли. H2>
Звичайні
файли є набором символів. Звичайні файли використовуються для зберігання
будь-якої інформації. Вони можуть містити тексти для листів або звітів, коди
програм, які ви написали, або команди для запуску ваших програм. Одного разу
створивши звичайний файл ви можете додати потрібний матеріал у нього, видалити
матеріал з нього, або видалити файл цілком. p>
3.2.4.2.
Довідники h2>
Довідники
є супер-файлами, які можуть містити файли або інші довідники.
Зазвичай файли, що містяться в них, встановлюють відносини яких-небудь спосібму.
Наприклад, довідник, названий sales може зберігати файли, що містять цифри
щомісячних продажів, названі jan, feb, mar, і т.д. Ви можете створити каталоги,
додати або видалити файли з них або видалити каталоги. p>
Всі
довідники, які ви створюєте, будуть розміщені у вашому власному
довіднику. Цей довідник призначається вам системою під час входу в систему.
Ніхто крім привілейованих користувачів не може читати або записувати
файли в цей довідник без вашого дозволу і ви визначаєте структуру цього
довідника. p>
3.2.4.3
Спеціальні файли. H2>
Спеціальні
файли, призначені для роботи з пристроями як правило зосереджені в
директорії "/ dev". p>
3.2.4.4.Файловая
система. h2>
У старих
Unix'ах відводилося 14 букв на ім'я, в нових це обмеження знято. У директорії
крім імені файлу знаходиться його ідентефікатор inode - ціле число, що визначає
номер блоку, в якому записані атрибути файлу. Серед них: номер користувача --
господаря файлу; номер групи, кількість посилань на файл (см.далее) дати і час
створення, останньої модифікації і останнього звернення до файлу; атрибути
доступу. Атрибути доступу містять тип файлу (см.далее), атрибути зміни прав
при запуску (см.далее) та права доступу до нього для господаря, одногрупника і
інших на читання, запис та виконання. Право на стирання файла визначається
правом запису в вищерозміщених директорію. p>
Кожен файл (але
не директор) може бути відомий під декількома іменами, але обов'язково
що лежать на одному розділі. Всі посилання на файл рівноправні; файл стирається,
коли видаляється остання посилання на файл. Якщо файл відкритий (для читання та/або
запису), то число посилань на нього збільшується ще на одиницю; так багато
програми, які відкривають тимчасовий файл, відразу видаляють його, щоб при аварійному
Наостанок, коли операційна система закриває відкриті процесом файли, цей
тимчасовий файл був видалений операційною системою. p>
Є ще одна
цікава особливість файлової системи: якщо після створення файлу запис у
нього йшла не підряд, а з великими інтервалами, то для цих інтервалів місце на
диску не виділяється. Таким чином сумарний об'єм файлів у розділі може бути
більше обсягу розділу, а при видаленні такого файлу звільняється менше місця,
ніж його розмір. p>
На відміну від
DOS, в якому повне ім'я файлу виглядає як "диск: путьімя", і
RISC-OS, в якій воно виглядає "-файловая_сістема-диск: $. Путь.імя"
(що взагалі кажучи має свої переваги), Unix використовує прозору нотацію
у вигляді "/ шлях/ім'я". Корінь відраховується від розділу, з якого було
додано ядро Unix. Якщо ми збираємося використовувати інший розділ (а на
завантажувальному розділі як правило знаходиться тільки саме необхідне для
завантаження), використовується команда `mount/dev/файл_раздела директорія`. При цьому
файли і піддиректорії, що раніше знаходилися в цій директорії, стають
недоступними, поки не розділ не буде демонтувати (природно, все
нормальні люди використовують для монтування розділів порожні директорії).
Виробляти монтування та Демонтується має право тільки
суперкористувач. p>
При запуску
кожен процес може розраховувати, що для нього вже відкриті три файли, які
йому відомі як стандартний ввід stdin по дескриптор 0; стандартний висновок
stdout по дескриптор 1; і стандартний висновок stderr по дескриптор 2. При
реєстрації в системі, коли користувач вводить ім'я та пароль, а йому
запускається shell, всі троє направлені на/dev/tty; пізніше будь-який з них може
бути перенаправлено в будь-який файл. p>
3.3.
Підключення до UNIX. H2>
Щоб
встановити контакт з системою UNIX вам необхідно мати: p>
термінал
Термінал є пристроєм введення/виводу: ви використовуєте його для введення
запитів системі UNIX, а система - для видачі відповідей вам. Існує два
основні види терміналів: відеотермінал і друкує термінал. p>
відеотермінала
відображає введення і виведення на екрані дисплея; p>
Друкуючий
термінал постійно подає на папір. У багатьох випадках ці відмінності ніяк не
впливають на дії користувача або на відповіді системи. У цій документації все,
що виводиться на екран терміналу, як же відображається і друкуючим терміналом,
якщо не зроблені будь-які зауваження; p>
реєстраційне
ім'я, що ідентифікує вас як повноважного користувача; p>
пароль, який
перевіряє вас на ідентичність; p>
інструкції для
діалогу і доступу до системи UNIX, якщо ваш термінал прямо не пов'язаний з
комп'ютером. p>
Відмінності
операційної системи UNIX від інших операційних систем. p>
Unix складається з
ядра з включеними до нього драйверами і з утиліт (зовнішніх по відношенню до ядра
програм). Якщо треба змінити конфігурацію (додати пристрій, змінити порт
або переривання), то ядро пересобірают (перелінковивают) з об'єктно модулів. p>
В
протилежність Unix'у Windows (якщо не уточнюється, яка, то маються на увазі
3.11, 95 і NT) і OS/2 при завантаженні фактично на ходу прілінковивают драйвери.
При цьому компактність зібраного ядра і повторне використання загального коду на
порядок нижче, ніж у Unix. Крім того, при незмінній конфігурації системи ядро
Unix без переробки (буде потрібно змінити тільки стартову частину BIOS) може
бути записаний в ПЗП і виконуватися _не_загружаясь_ в ОЗУ. Компактність коду
особливо важлива, тому що ядро і драйвери ніколи не покидають фізичну оперативну
пам'ять, не зводяться на диск. p>
Unix - сама
багатоплатформенна OS. WindowsNT намагається наслідувати його, але поки що це погано
вдається - після відмови від MIPS і POWER-PC, W'NT залишилися всього на двох
платформи - традиційна i * 86 і DEC Alpha. Зрозуміло, переносимість програм з
однієї версії Unix на іншу обмежена. Неакуратно написана програма, не
враховує відмінностей в реалізаціях Unix, може вимагати серйозної переробки.
Але все одно це на багато порядків легше, ніж наприклад перенести з OS/2 на NT. p>
Чому Unix? h2>
Unix
використовується як в якості як сервера, так і робочої станції. У номінації
серверів з ним конкурують MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect,
DEC VMS та операційні системи мейнфреймів. Кожна система має свою область
застосування, в якій вона краще за інших. p>
WindowsNT - для
адміністраторів, які віддають перевагу звичний інтерфейс економного
витрачання ресурсів і високої продуктивності. p>
Netware - для
мереж, де потрібна висока продуктивність файлового і принтера сервісу і
не такі важливі інші сервіси. Головний недолік - на сервер Netware
важко запускати програми. p>
OS/2 хороша
там, де потрібен "легкий" сервер додатків. Ресурсів потребує менше
ніж NT, в управлінні гнучкіше (хоча в налагодженні може і складніше), а
багатозадачність дуже хороша. Авторизація і розмежування прав доступу не
реалізовані на рівні ОС, що з лишком окупається реалізацією на рівні
програм-серверів. (Втім, часто інші OS роблять те ж саме).
Багато станції FIDOnet і BBS зроблені на базі OS/2. p>
VMS - могутній,
нічим не поступається Unix'ам (а багато в чому і перевершує його) сервер
додатків, але тільки для платформ VAX і Alpha фірми DEC. p>
мейнфрейми --
для обслуговування дуже великої кількості користувачів (порядку декількох
тисяч). Але робота цих користувачів як правило організована у вигляді не
клієнт-серверного взаємодії, а у вигляді хост-термінального. Термінал ж у
цій парі скоріше не клієнт, а сервер (Світ Internet, N3 за 1996-й рік). До переваг
мейнфреймів треба віднести більш високу захищеність та стійкість до збоїв, а до
недоліків - відповідну цим якостям ціну. p>
Unix хороший для
кваліфікованого (або бажає стати таким) адміністратора, тому що вимагає
знання принципів функціонування що відбуваються в ньому. Реальна
багатозадачність і жорстке розділення пам'яті забезпечують високу надійність
функціонування системи, хоча в продуктивності фото-і принт-сервісів
Unix'и поступаються Netware. p>
Недостатня
гнучкість надання прав доступу користувачів до файлів у порівнянні з
WindowsNT ускладнює організацію _на_уровне_файловой_сістеми_ групового
доступу до даних (точніше, до файлів), що компенсується простотою реалізації, а
значить меншими вимогами до апаратури. Втім, такі програми, як
SQL-сервер вирішують проблему групового доступу до даних своїми силами. p>
Практично всі
протоколи (правила обміну інформацією в мережі), на яких заснований Internet, були
розроблені під Unix, зокрема стек протоколів TCP/IP придуманий в
університеті Berkeley. p>
Захищеність
Unix при правильному адмініструванні ні в чому не поступається ні Novell, ні
WindowsNT. p>
Важливим
властивістю Unix, що наближає його до мейнфреймів, є його
багатотермінальних, багато користувачів можуть одночасно запускати програми
на одній Unix-машині. Якщо не потрібно використовувати графіку, можна обійтися
дешевими текстовими терміналами (спеціалізованими або на базі дешевих PC),
підключеними по повільних лініях. У цьому з ним конкурує тільки VMS. Можна
використовувати і графічні X-термінали, коли на одному екрані присутні вікна
процесів, що виконуються на різних машинах. p>
У номінації
робочих станцій з Unix конкурують MS Windows *, IBM OS/2, Macintosh і Acorn
RISC-OS. p>
Windows - для
тих, хто цінує сумісність більше ефективності; для тих, хто готовий купити
велика кількість пам'яті, дискового простору і мегагерц; для тих, хто
любить не вникаючи в суть, клацати мишкою по кнопках у віконці. Правда, рано чи
пізно все одно доведеться вивчити принципи роботи системи і протоколів, але
тоді вже буде пізно - вибір зроблено. Важливою перевагою Windows треба
визнати також можливість вкрасти купу програмного забезпечення. p>
OS/2 - для
любителів OS/2. Хоча за деякими відомостями OS/2 краще за інших взаємодіє з
мэйнфреймами та мережами IBM. p>
Macintosh - для
графічних, видавничих і музичних робіт, а також для тих, хто любить
зрозумілий, красивий інтерфейс і не хоче розбиратися в подробицях
функціонування системи. p>
RISC-OS,
прошита в ПЗП, дозволяє не витрачати час на інсталяцію операційної системи
і відновлення її після збоїв. Крім того, практично всі програми під нею
дуже економно витрачають ресурси, завдяки чому не мають потреби в свопінг і
працюють дуже швидко. p>
Unix функціонує
як на PC, так і на потужних робочих станціях з RISC-процесорами, під Unix
написані дійсно потужні САПР та геоінформаційні системи. Своєю
будь-яку іншу операційну систему. p>
Екранний
редактор VI і редактор текстів ED. h2>
5.1.
Редактор VI. H2>
Редактор vi
є потужним засобом для створення і редагування файлів. Він призначений
для роботи на відеотерміналів і використовує вікна, за допомогою яких ви можете
переглядати текст файлу. Кілька простих команд дозволяють вам зробити
зміни в тексті, які дуже швидко відображаються на екрані. Редактор може
відобразити один або кілька рядків тексту. Він дозволяє вам пересувати курсор
в будь-яку точку на екрані або у файлі, створювати, змінювати або видаляти текст. Ви
можете також використовувати деякі команди рядковому редактора, такі як
глобальні команди, які дозволяють вам змінювати безліч появ
деякої рядка символів, використовуючи одну команду. Щоб рухатися по файлу, ви
можете прокручувати текст вперед або назад. p>
Примітка. Чи не
всі термінали мають здатність прокрутки тексту і тому засіб
прокручування тексту редактором vi залежить від типу використовуваного терміналу. p>
Редактор vi
має більше 100 команд дозволяють: p>
змінити
оточення shell, щоб встановити конфігурацію вашого терміналу; p>
зробити
доступним автоматичне повернення каретки; p>
почати роботу з
редактором vi, створити текст, виправити помилки, записати текст у файл і
завершити роботу; p>
перемістити
текст всередині файлу; p>
розбити і злити
текст; p>
використовувати
спеціальні команди і скорочення; p>
використовувати
команди рядковому редактора, доступні усередині vi; p>
тимчасово
повернутися в shell, щоб виконати команди shell; p>
відновити
файл, втрачений через переривання сесії редагування; p>
редагувати
кілька файлів в одній сесії. p>
5.2.
Редактор ED. H2>
Редактор
текстів ed є діалогової (інтерактивної) програмою, яка дозволяє
додавати, переміщати, видаляти текст і витягувати його з інших файлів. Є
можливість заміни слова або частини слова в тексті як для однієї зазначеної
рядки, так і для частини файлу або всього файлу. Крім того, можна переглянути
текстового файлу, надрукувати його частково чи цілком, надрукувати рядки,
містять певне слово і т.д. p>
ED працює з
копією оброблюваного файлу, який створюється в буфері редактора і зберігається
там протягом всієї обробки. Це охороняє вихідний файл від можливих
руйнувань під час здійснення грубих помилок. Зроблені в копії зміни не впливають
на вихідний файл до тих пір, поки не буде видана команда запису. p>
Редактор
запам'ятовує ім'я оброблюваного файла (спочатку - ім'я початкового
завантаженого файлу). За бажанням користувача це ім'я можна замінювати для
отримання нових варіантів файлу. p>
Якщо розмір
файлу перевищує розмір буфера редактора, файл доводиться ділити на частини з
допомогою команди split, редагувати його по частинах, а потім знову поєднувати з
допомогою команди cat. p>
Користувач
повідомляє редактору, що робити з її текстом, за допомогою певних
інструкцій, які називаються "командами". Команди редактора мають просту
структуру, і в більшості випадків складаються з однієї букви. Кожна команда
друкується на окремому рядку. Іноді перед командою вказується інформація про
те, яка рядок або рядки повинні піддаватися дії команди. ed НЕ
відповідає на більшість команд, не друкує підказки або повідомлення типу
"готове". p>
Все що вводяться
командні рядки повинні закінчуватися символом. p>
Список
літератури h2>
Для підготовки
даної роботи були використані матеріали з сайту http://referat2000.bizforum.ru/
p>