Операційна система Unix 2

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ЗМІСТ
ВСТУП. 3
1. РІЗНІ СКЛАДОВІ ОПЕРАЦІЙНОЇ СИСТЕМИ .. 5
2. ОСНОВНІ ФУНКЦІЇ UNIX СИСТЕМИ .. 8
2.1. init 8
2.2. Підключення до системи з терміналів. 8
2.3. Syslog. 9
2.4. Періодичне виконання команд: cron та at 9
2.5. Графічний інтерфейс користувача. 10
2.7. Підключення до системи через мережу. 10
2.8.Сетевие файлові системи .. 11
2.9. Пошта. 11
2.10. Друк. 12
3. Файлової системи .. 13
4. ЗАПУСК СИСТЕМИ І ПЕРЕЗАВАНТАЖЕННЯ .. 17
4.1. Огляд. 17
4.2 Процес запуску при близькому розгляді. 18
4.3. Завершення роботи та вимкнення системи .. 21
4.4. Перезавантаження системи .. 23
4.5. Однокористувацький режим роботи .. 24
4.6. Дискети для екстреної завантаження. 24
ВИСНОВОК. 26
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ .. 27
ДОДАТОК. 28

ВСТУП
У цій роботі дається огляд операційної системи Linux. Перш за все, розглядаються основні функції системи. Потім йде опис програм, що реалізують ці функції.
Linux є Unix-подібної операційної системою, яка використовується на різних комп'ютерах PC-386. Вперше вона була представлена ​​як pасшиpению до операційної системи Minix і її перші версії включали підтримку тільки файлової системи Minix.
Безперервне зниження цін, зростання продуктивності в наш час і очікувана поява нових мікро-та супер-мікрокомп'ютерів роблять міць системи UNIX доступної для все більшого кола користувачів. Системи UNIX або типу UNIX працюють на будь-яких машинах, від рівня PC-XT до AT і вище. Доступність великих обсягів оперативної пам'яті і потужних мікропроцесорів призвела до зростання інтересу до багатозадачності, системам мультипроцессирования - сфері, в якій UNIX має солідну репутацію.
Однак застосування UNIX з максимальною віддачею - справа нелегка. Люди роками висловлювали незадоволення тим, що вона не є "дружньою" по відношенню до користувача - і це розумна критика, хоча насправді UNIX містить засоби для побудови інтерфейсів будь-якого необхідного рівня складності. Найбільш важлива причина трудомісткості ефективного використання UNIX полягає в тому, що в системі використовуються дуже цікаві та ефективні ідеї, не знайомі багатьом людям, які працювали з більш простими операційними системами. UNIX надає також набагато більше інструментальних засобів, більш гнучких і з істотно більшими можливостями, ніж, наприклад, популярна MS-DOS (в чому можна переконатися швидким порівнянням відповідних руководств).
Мета курсової роботи - дати розуміння системи в цілому, тобто розглянути, виділити головне і описати операційну систему Linux. Для досягнення поставленої мети необхідно вирішити такі завдання:
- Розглянути складові операційної системи;
- Розглянути основні функції системи;
- Розглянути файлову систему;
- Розглянути і описати запуск системи та перезавантаження;
- Зробити відповідні висновки, викласти матеріал.
Актуальність роботи пояснюється тим, що сьогодні навички користувача - це одне з найважливіших вимог до сучасних співробітникам практично будь-якого підприємства, вивчити і розібратися в операційних системах - це одна з найважливіших завдань у придбанні даних навичок.
1. РІЗНІ СКЛАДОВІ ОПЕРАЦІЙНОЇ СИСТЕМИ
Будь-яка UNIX-подібна операційна система складається з ядра та деяких системних програм. Також існують деякі прикладні програми для виконання якої-небудь задачі. Ядро є серцем операційної системи. Воно розміщує файли на диску, запускає програми і перемикає процесор та інше обладнання між ними для забезпечення мультизадачності, розподіляє пам'ять та інші ресурси між процесами, забезпечує обмін пакетами в мережі і т.п. Ядро саме по собі виконує тільки маленьку частину загальної роботи, але воно надає кошти, щоб забезпечити виконання основних функцій. Воно також запобігає використання прямого доступу до апаратних засобів надаючи спеціальні засоби для звернення до периферії. Таким чином ядро ​​дозволяє контролювати використання апаратних засобів різними процесами і забезпечувати певний захист користувачів один від одного.
Кошти, що надаються ядром, використовуються через системні виклики.
Системні програми використовують кошти, що надаються ядром для забезпечення виконання різних функцій операційної системи. Системні та всі інші програми виконуються «на поверхні ядра», в так званому режимі користувача.
Існує деяка різниця між системними та прикладними програмами. Прикладні програми призначені для виконання будь-якої певної задачі, у той час як системні програми використовуються для підтримки роботи системи. Текстовий процесор є прикладною програмою, а програма telnet - системної, хоча найчастіше межа між ними досить смутна.
Досить часто операційна система містить компілятори та відповідні їм бібліотеки (GCC і C бібліотеки для Linux), хоча не обов'язково всі мови програмування мають бути частиною операційної системи. Документація, а іноді навіть ігри, можуть бути її частиною. Зазвичай склад операційної системи визначається вмістом настановного диска або стрічки, хоча справа йде трохи складніше, тому що різні частини операційної системи розкидані по різних FTP серверів у всьому світі.
Важливі складові ядра.
Ядро системи Linux складається з декількох основних частин:
- Блок управління пам'яттю,
- Драйвери
- Пристроїв,
- Драйвери файлових систем,
- Блок управління мережею а також інші невеликі процедури.
Найбільш важливі складові ядра (що забезпечують життєздатність системи) - це блок управління пам'яттю і процесами. Блок управління пам'яттю забезпечує розподіл областей пам'яті і swap-областей між процесами, складовими ядра і для кеш-буфера. Блок управління процесами створює нові процеси і забезпечує багатозадачність шляхом перемикання завдань.
На самому нижньому рівні ядро ​​містить драйвери пристроїв для кожного типу обладнання, що підтримується. Існує досить великий набір різних драйверів, так як постійно розробляються нові типи пристроїв. Існує досить багато однакових пристроїв, які розрізняються тільки тим, як відбувається взаємодія між самим пристроєм і драйвером.
Така подібність дозволяє використовувати класи драйверів, що підтримують однакові операції. У кожному члені такого класу використовується однотипний інтерфейс для ядра, але різні схеми взаємодії із пристроєм. Наприклад, всі драйвери жорсткого диска подаються для ядра абсолютно однаково, тобто у них у всіх є такі операції як «ініціалізація жорсткого диска» читання сектора N, «запис сектора N».
Деякі функції, надані ядром, мають однакові властивості. Наприклад, різні мережні протоколи об'єднані в один програмний інтерфейс - BSD socket бібліотеку. Ось інший приклад - різні файлові системи, підтримувані системою Linux. Ядро містить віртуальну файлову систему (Virtual File System - VFS) яка включає в себе всі функції, які використовуються для роботи системи, а також драйвер для кожної підтримуваної файлової системи. При спробі доступу до якої-небудь файлової системі запит проходить через VFS, звідки перенаправляється до відповідного драйверу файлової системи.

2. ОСНОВНІ ФУНКЦІЇ UNIX СИСТЕМИ
У цьому розділі досить поверхово розглядаються деякі найбільш важливі функції UNIX системи. Більш докладно вони розглянуті в наступних розділах.

2.1. init

Єдину і найважливішу функцію в UNIX системі надає процес init. Він запускається в будь-якій UNIX системі як найперший процес, а також завершує процедуру завантаження системи. При запуску init, триває процес завантаження (перевіряються і встановлюються файлові системи, запускаються різні програми-демони і т.д.).
Точний список того, що виконується при запуску init, залежить від версії програми. Зазвичай init надає однокористувацький режим, за якого ніхто не може підключитися до системи. Звичайний режим - це багатокористувацький.
Деякі версії використовують поняття «рівень запуску». Наприклад, однокористувацький і розрахований на багато режими - це різні рівні запуску. Також існують додаткові рівні, наприклад для запуску X-windows.
При працюючій системі, дві найважливіші завдання програми init - це упевниться, що всі програми-демони getty працюють (тобто є можливість підключення до системи) і адаптування orphan-процесів (тобто процесів, чий батьківський процес був знищений; в системі UNIX всі процеси повинні належати одному дереву процесів, тому orphan-процеси повинні бути адаптовані).
При завершенні роботи системи і перезапуск, init знищує все, що залишилися процеси, демонтує файлові системи та зупиняє процесор.

2.2. Підключення до системи з терміналів

Підключення до системи з терміналів (через послідовні лінії) і з головної консолі (якщо не запущені X) забезпечується програмою getty. init запускає окремий процес getty для кожного терміналу. getty зчитує ім'я користувача і запускає програму login, яка зчитує пароль. Якщо ім'я і пароль відповідають одному користувачеві, то login запускає оболонку.
При виході з оболонки, тобто при виході з системи, або при завершенні програми login у разі якщо ім'я користувача і пароль не підходять, init запускає новий процес getty. Ядро не контролює підключення до системи, а лише виконує системні програми.

2.3. Syslog

Іноді при роботі ядра або різних системних програм виникають помилки, попередження та інші повідомлення. Програма syslog записує всі повідомлення в файл так, що він може бути згодом переглянутий. Syslog можна сконфігурувати так, що повідомлення сортуватимуться і записуватися в різні файли за пріоритетом. Наприклад, повідомлення ядра часто направляються в окремий файл, так як ці повідомлення найбільш важливі і повинні регулярно переглядатися, щоб уникнути серйозних проблем.

2.4. Періодичне виконання команд: cron та at

Як окремим користувачам, так і системного адміністратора іноді потрібно періодично запускати певні команди.
Наприклад, системному адміністратору може знадобитися періодично запускати команду для очищення каталогів від тимчасових файлів (/ tmp та / var / tmp), для запобігання переповнюють диск.
Для цього використовується функція cron. У кожного користувача є файл crontab, в якому міститься список команд, представлених до виконання і кількість разів, що вони повинні бути виконані. Програма-демон crond забезпечує своєчасне виконання зазначених команд.
Функція at ідентична функції cron, тільки команда запускається один раз у вказаний час та запуск більше не повторюється.

2.5. Графічний інтерфейс користувача

Як у системі UNIX так і в Linux, призначений для користувача інтерфейс не вбудовується в ядро ​​системи. Замість цього він представляється програмами користувацького рівня. Це застосовується як до текстових, так і до графічних оболонок.
Такий стандарт робить систему більш гнучкою, хоча і має свої недоліки. Наприклад, це легко дозволяє створювати нові інтерфейси для програм, що ускладнює вивчення системи.
Спочатку використовується спільно з системою Linux графічної оболонкою була система X Window System (скорочено X). X не реалізує користувальницький інтерфейс, а тільки віконну систему, тобто засоби, за допомогою яких може бути реалізований графічний інтерфейс. Три найбільш популярних версії графічних інтерфейсів на основі X - це Athena, Motif і Open Look.
2. 6. Робота з мережею
Мережа - це засіб, що дозволяє з'єднуватися двом або більше комп'ютерів між собою.
UNIX-подібні операційні системи мають широкий спектр мережевих можливостей. Більшість базових функцій (файлові системи, друк, створення резервних копій і так далі) можуть бути реалізовані за допомогою мережі. Це може значно полегшити роботу системного адміністратора, тому що дозволяє використовувати централізоване адміністрування.

2.7. Підключення до системи через мережу

Підключення до системи через мережу працює дещо інакше, ніж звичайне підключення. Існують окремі фізичні послідовні лінії для кожного терміналу, через які і відбувається підключення. Для кожного користувача, що підключається до системи, існує окреме віртуальне з'єднання з мережею і їх може бути будь-яка кількість. Проте чи можна запустити окремий процес getty для кожного можливого віртуального з'єднання. Існують також і інші способи підключення до системи за допомогою мережі. Наприклад, telnet і rlogin - основні служби в TCP / IP мережах.
При використанні мережі для підключення до системи, крім великої кількості процесів getty використовується окрема програма-демон (при використанні як telnet так і login використовуються різні програми-демони), яка відстежує всі спроби з'єднання з комп'ютером. Якщо визначається спроба з'єднання, то програма створює новий процес - створює сама себе для обробки цього з'єднання - а потім продовжує відстеження нових сполук. Створюваний процес ідентичний програмі getty.

2.8.Сетевие файлові системи

Одна з найбільш корисних функцій, яка може бути реалізована за допомогою мережі, цей поділ файлів через мережеву файлову систему. Зазвичай використовується система, яка називається Network File System або NFS, яка розроблена корпорацією Sun.
При роботі з мережевою файловою системою будь-які операції над файлами, виробленими на локальному ком'ютера, передаються через мережу на віддалену машину. При роботі мережевої файлової системи програма вважає, що всі файли на віддаленому комп'ютері знаходяться на комп'ютері, де вона запущена. Таким чином поділ інформації за допомогою такої системи не вимагає внесення якихось змін в програму.

2.9. Пошта

Електронна пошта є найважливішим засобом зв'язку між комп'ютерами. Електронні листи зберігаються в одному файлі у спеціальному форматі. Для читання і відправлення листів застосовуються спеціальні програми.
У кожного користувача є окремий "поштовий ящик" (тобто файл, де інформація зберігається в спеціальному форматі), в якому зберігається приходить пошта. Якщо на комп'ютер приходить лист, то програма обробки пошти знаходить файл поштової скриньки відповідного користувача і додає туди одержаний лист.
Якщо ж поштову скриньку користувача знаходиться на іншому комп'ютері, то лист перенаправляється на цей комп'ютер, де проходить його подальша обробка.
Поштова система складається з безлічі різних програм.
Доставка листів до локальних або віддаленим поштовим скринькам проводиться однією програмою (наприклад, sendmail або smail), в той час як для звичайної відправки або перегляду листів застосовується велика кількість різних програм (наприклад, Pine або elm).
Файли поштових скриньок зазвичай зберігаються в каталозі / var / spool / mail.

2.10. Друк

В один момент часу принтером може користуватися тільки один користувач. Тому для того, щоб принтером могли користуватися відразу кілька користувачів, використовується спеціальна програма, яка забезпечує обслуговування черги до принтера. Всі завдання для принтера містяться в буфеp. Коли принтер закінчує обробку одного завдання, наступне передається до нього автоматично. Це значно спрощує роботу з принтером.
Програма обслуговування черги до принтера поміщає інформацію, яка повинна бути роздрукована, на диск, тобто текст розташовується на диску, в той час як завдання знаходиться в черзі. Це дозволяє прикладним програмам досить швидко роздруковувати тексти, поміщаючи їх у чергу, так як для продовження роботи додатка не потрібно чекати закінчення роздруківки.

3. Файлової системи
Файлова система поділяється на кілька частин: файлова система root, що складається з каталогів / bin, / lib, / etc, / dev і деяких інших, файлова система / usr, де зберігаються різні програми і дані не підлягають зміні, файлова система / var, де містяться змінювані файли (такі як log файли тощо) і файлова система / home, яка складається з особистих каталогів користувачів. Поділ може істотно відрізняться від вище зазначеного в залежності від роботи системного адміністратора та конфігурації апаратного забезпечення.
Файлова система - це методи і структури даних, які використовуються операційною системою для зберігання файлів на диску або його розділі. Про файлової системі також говорять, посилаючись на розділ або диск, який використовується для зберігання файлів або тип файлової системи.
Потрібно бачити різницю між диском або розділом і встановленої на ньому файлової системою. Деякі програми (наприклад, програми установки файлової системи) при зверненні до диска або розділу використовують прямий доступ до секторів. Якщо на цьому місці була файлова система, то вона буде серйозно пошкоджена. Більшість програм взаємодіють з диском за допомогою файлової системи, і, отже, їхня робота буде порушена, якщо на розділі або диску ніяка система не встановлена ​​(або тип файлової системи не відповідає необхідному).
Перед тим, як розділ або диск можуть бути використані в якості файлової системи, вона повинна бути ініціалізований, а необхідні дані перенесені на цей диск. Цей процес називається створенням файлової системи.
У більшої частини файлових систем UNIX подібна структура, а їх деякі особливості дуже мало розрізняються. Основними поняттями є: суперблок, індексний дескриптор (inode), блок даних, блок каталогу й непрямий блок. У суперблоці міститься інформація про файлову систему в цілому, наприклад, її розмір (точна інформація залежить від типу файлової системи). У індексному дескрипторі зберігається вся інформація про фото, крім його імені. Файл зберігається в блоці каталогу, разом з номером дескриптора. Запис каталогу містить ім'я файлу та номер індексного дескриптора відповідного файлу. У цьому дескрипторі зберігаються номери декількох блоків даних, які використовуються для зберігання самого файлу. У inode є місце тільки для декількох номерів блоків даних, однак, якщо потрібна більша кількість, то простір для покажчиків на блоки даних динамічно виділяється. Такі блоки називаються непрямими. Для того, щоб знайти блок даних, потрібно спочатку знайти його номер в непрямому блоці.
У файлових системах UNIX зазвичай є можливість створення дір у файлах (це можна зробити за допомогою команди lseek (2)). Це означає, що файлова система надає неправдиву інформацію про те, що в якомусь місці у файлі містяться нульові байти, але насправді для цього не виділяються сектору (це означає, що файл буде займати трохи менше місця на диску). Це часто використовується особливо в невеликих двійкових програмах, бібліотек Linux, в деяких базах даних і в інших окремих випадках. (Дірки реалізуються зберіганням спеціального значення в непрямому блоці або індексному дескрипторі замість адреси блоку даних. Це спеціальне значення показує, що для даної частини файлу блоки даних не розміщені і, отже, що у файлі є дірка.)
Використання дір достатньо ефективно. На комп'ютері з загальним дисковим простором в 200 Мб, прості вимірювання показують, що застосування дір дає економію в 4 Мб. Однак, ці вимірювання проводилися на системі, де було встановлено відносно мало програм і були відсутні файли баз даних. Метод вимірювання дір розглянуто в додатку B.
Linux підтримує кілька типів файлових систем. Найбільш важливі з них розглянуті нижче.
minix Вважається найстарішою і найдовшою надійної файловою системою, але досить обмеженою у своїх можливостях (у файлів відсутні деякі часові параметри, довжина імені файлу обмежена 30-ма символами) і доступних обсягах (максимум 64 Мб на одну файлову систему).
xia Модифікована версія системи minix, в якій збільшена максимальна довжина імені файлу і розмір файлової системи, хоча вона не реалізує ніяких нових можливостей.
ext2 Найбільш багата функціональними можливостями файлова система з сімейства сумісних з Linux. На даний момент вважається найбільш популярною системою. Вона розроблена з урахуванням сумісності з наступними версіями, тому для установки нової версії коду системи не потрібно встановлювати її заново.
ext Попередня версія системи ext2, не сумісна з наступними версіями. В даний час вона дуже рідко включається у пакети нових систем, що поставляються, тому що більшість користувачів зараз користуються системою ext2.
На додаток до розглянутих вище, в Linux включена підтримка ще деяких файлових систем для забезпечення обміну файлами між іншими операційними системами. Ці файлові системи працюють також, як і описані вище, крім того, що їх функціональні можливості можуть бути значно обмежені в порівнянні з можливостями, які надаються файловими системами UNIX.
msdos Забезпечується сумісність з системою MS-DOS (а також OS / 2 і Windows NT).
umsdos Розширює можливості драйвера файлової системи MS-DOS для Linux таким чином, що при роботі в Linux, є можливість роботи з іменами файлів нестандартної довжини, перегляду прав доступу до файлу, посилань, імені користувача, якому належить файл, а також оперування з файлами пристроїв . Це дозволяє використовувати звичайну систему MS-DOS, так, як якщо б це була система Linux. Таким чином, виключається необхідність створення окремого розділу для Linux.
iso9660 Стандартна файлова система для CD-ROM. Досить популярне розвиток стандарту CD-ROM, виконане Rock Ridge'м, яке забезпечує автоматичну підтримку імен файлів нестандартної довжини.
nfs Мережева файлова система, що забезпечує поділ однієї файлової системи між кількома комп'ютерами для надання доступу до її файлів з усіх машин.
hpfs Файлова система OS / 2.
sysv Файлові системи System V/386, Coherent і Xenix.
Також існує файлова система proc, яка зазвичай доступна через каталог / proc. У дійсності, вона не є файловою системою, хоча за її структурі складно виявити різницю. Ця система дозволяє отримати доступ до певних структур даних ядра, до таких, як список процесів (звідси назва).
Хоча система / proc і називається файловою, жодна її частина не взаємодіє з диском. Вона існує тільки в уявленні ядра і при спробі звернення до якої-небудь її частини, створюється враження, що ця частина десь існує, хоча насправді це не так. Навіть якщо існує файл / proc / kmem в декілька мегабайт, він не займає місця але диску.

4. ЗАПУСК СИСТЕМИ І ПЕРЕЗАВАНТАЖЕННЯ

4.1. Огляд

Процес включення комп'ютера і завантаження операційної системи називається запуском. Під час запуску спочатку завантажується невелика програма, яка називається початковим завантажувачем, яка в свою чергу завантажує в пам'ять і запускає операційну систему.
Початковий завантажувач зазвичай знаходиться у визначеному місці на жорсткому диску або дискеті. Тому як Linux це досить складна і велика система, її запуск проводиться в два етапи, хоча первинно завантаження код повинен бути досить маленьким (кілька сотень байт).
На різних комп'ютерах початкова завантаження проводиться по різному. На персональних комп'ютерах спочатку зчитується перший сектор дискети або жорсткого диска (за допомогою процедур BIOS), який називається завантажувальним сектором. У цьому секторі знаходиться початковий завантажувач, який потім завантажує операційну систему, яка може бути розташована в іншому місці на диску або де-небудь ще.
Після завантаження Linux, инициализируются драйвери пристроїв, а потім запускається init (8), який в свою чергу запускає інші процеси, що дозволяють підключатися до системи і забезпечують нормальну роботу. Цей етап розглянуто нижче більш докладно.
Для перезапуску системи спочатку всі процеси повинні бути завершені (тобто закриті всі використовувані ними файли та ін), потім демонтуються файлові системи та swap-області і, врешті-решт, на екран видається повідомлення про те, що харчування може бути відключене . Якщо ж така процедура не буде зроблена, то можуть відбутися серйозні збої у подальшій роботі системи. Наприклад, інформація, що зберігається в кеш буфері файлової системи, буде загублена, порушиться цілісність файлової системи і, отже, вона буде не придатна до використання.

4.2 Процес запуску при близькому розгляді

Linux може бути запущена як з дискет, так і з жорсткого диска.
При включенні комп'ютера, спочатку BIOS виробляє тестування обладнання, а потім запуск операційної системи. Спочатку вибирається пристрій, з якого буде проводиться запуск (зазвичай перший дисковод, якщо в нього вставлена ​​дискета, в іншому випадку - перший жорсткий диск, якщо він встановлений, хоча порядок вибору може бути налаштований) і зчитується самий перший сектор, який називається завантажувальним. Його також називають MBR (Master Boot Record), так як у жорсткого диска може бути кілька розділів і в кожного може бути свій завантажувальний сектор.
У завантажувальному секторі знаходиться невелика програма (відносно невелика щоб вона могла розміститься в одному секторі), яка завантажує і запускає операційну систему. При завантаженні з дискети, в завантажувальному секторі знаходиться код, який забезпечує тільки зчитування ядра системи в певну заздалегідь область пам'яті. Завантажувальна дискета для Linux не містить ніяких файлових систем. Ядро записано на дискеті як послідовність блоків, так як це значно спрощує процес завантаження. Однак, цілком можна завантажуватися з дискети, на якій встановлена ​​якась файлова система, використовуючи завантажувач LILO.
При завантаженні з жорсткого диска, код, розташований в MBR, перевіряє таблицю розділів (також розташовану в MBR), визначає активний розділ (розділ, що використовується при завантаженні), зчитує завантажувальний сектор цього розділу і запускає лічений код. Код, розташований в завантажувальному секторі активного розділу жорсткого диска, виконує ті ж функції, що і код, що знаходиться в завантажувальному секторі дискети: він зчитує ядро ​​з обраного розділу, а потім запускає його. Проте тут існує багато тонкощів, так як використання окремого розділу диска тільки для зберігання коду ядра неефективно, тому код, розташований в завантажувальному секторі розділу, не просто послідовно зчитує інформацію з диска, а використовує зчитування по секторах. Існує кілька способів вирішення цієї проблеми, але найбільш простим з них є використання LILO завантажувача (інформацію по встановленню та налагодженню LILO Зверніться до документації LILO).
При завантаженні з використанням LILO зазвичай відразу ж завантажується і запускається ядро, задане за замовчуванням, однак можна сконфігурувати LILO так, щоб можна було б завантажити одне з декількох можливих ядер або навіть іншу операційну систему (на додаток до Linux). Також можна вказати необхідну ядро ​​або операційну сиситему під час завантаження. При натисканні клавіші ALT, SHIFT або CTRL (після завантаження LILO) буде виданий запит, де можна вказати ядро ​​або систему. Однак при конфігуруванні можна встановити опцію, при якій LILO буде завжди видавати такий запит, а також вказати час, після закінчення якого завантажується ядро, встановлений за замовчуванням.
Існують і інші завантажувачі, подібні LILO, проте у нього є кілька корисних функцій, яких немає в інших завантажувача, так як він був написаний спеціально для Linux. Наприклад, є можливість передачі ядру параметрів під час завантаження або зміни деяких опцій, вбудованих в ядро. Серед подібних завантажувачів (bootlin, bootactv та ін) LILO є найкращим вибором.
Завантаження системи як з жорсткого диска, так і з дискет має свої переваги, хоча завантаження з жорсткого диска вважається краще і швидше, так як вона дозволяє уникнути незручності, пов'язані зі зміною дискет. Однак у деяких випадках завантаження з дискет більш зручна. Наприклад, при установці системи або при пошкодженні файлової системи.
Після того, як ядро ​​системи додано в пам'ять (з жорсткого диска або з дискет) і запущено, виконуються приблизно наступні дії:
Так як ядро ​​Linux встановлено у запакованому вигляді, то перш за все вона сама себе розпаковує. Це виконує невелика програма, розташована на самому початку коду.
Якщо на комп'ютері встановлена ​​відеоплата sVGA, підтримуюча нестандартні текстові режими (такі як 100x40), видається запит для вказівки необхідного режиму. При компіляції ядра можна відразу вказати використовуваний режим, щоб він не запрошується системою під час завантаження. Режим також може бути встановлений за допомогою LILO або rdev (8).
Потім ядро ​​тестує апаратне забезпечення (жорсткі диски, дисководи, мережеві адаптери та ін) і конфігурує відповідні драйвери пристроїв. Під час цього процесу на екран видаються підказують повідомлення. Ось приблизно те, що відбувається під час завантаження:
LILO boot:
Loading linux.
Console: colour EGA + 80x25, 8 virtual consoles
Serial driver version 3.94 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16450
tty01 at 0x02f8 (irq = 3) is a 16450
lp_init: lp1 exists (0), using polling driver
Memory: 7332k/8192 available (300k kernel code, 384k reserved, 176k data)
Floppy drive (s): fd0 is 1.44M, fd1 is 1.2M
Loopback device init
Warning WD8013 board not found at i / o = 280
Math coprocessor using irq13 error reporting
Partition check:
hda: hda1 hda2 hda3
VFS: Mounted root (ext filesystem)
Linux version 0.99.pl9-1 (root @ haven) 05/01/93 14:12:20
Хоча текст повідомлень досить сильно різниться на різних системах і залежить від апаратного забезпечення, версії Linux та конфігурації. Після цього, ядро ​​намагається смонтіpовать файлову систему root. Місце, куди вона буде змонтована, встановлюється під час компіляції або за допомогою rdev або LILO. Тип файлової системи визначається автоматично. Якщо система root не монтується, наприклад, з причин того, що ядро ​​не містить драйвер відповідної файлової системи, то система зависає.
Файлова система root зазвичай монтіpуется в режимі read-only (це встановлюється таким же чином як і вузол монтування).
Це робить можливим перевірку файлової системи в той час як вона змонтована, хоча перевірка файлової системи, встановленої в режимі read-write не рекомендується.
Потім ядро ​​запускає програму init (8) у фоновому режимі (вона розташована в каталозі / sbin / init) яка стає головним процесом. init виконує різні функції, необхідні при установці системи.
Зрештою init запускає програму getty (8) для віртуальних консолей і послідовних ліній. Ця програма дозволяє підключатися до системи за допомогою віртуальних консолей і терміналів, підключених через послідовні порти. Init може бути налаштована також для запуску та інших програм.
Після цього процес запуску системи вважається завершеним і система готова до роботи.

4.3. Завершення роботи та вимкнення системи

При вимиканні системи Linux необхідно виконувати деякі процедури. Якщо цього не зробити, то файлові системи і файли можуть пошкодитися. Це відбувається через наявність у Linux дискового кеша, інформація з якого записується на диск тільки через деякі проміжки часу. Це значно підвищує продуктивність системи, але також означає, що якщо просто вимкнути живлення комп'ютера, то в дисковому кеші може знаходиться велика кількість інформації і файлова система може бути частково пошкоджена, тому що на диск звичайно скидається тільки частина інформації.
Іншою причиною для цього є мультизадачність системи, де одночасно може виконуватися декілька процесів і виключення живлення може бути згубним для системи. Особливо це стосується комп'ютерів, на яких одночасно працює кілька користувачів.
Існують команди, призначені для правильного вимикання системи - це shutdown (8) і halt (8), розташовані в каталозі / sbin. Є два звичайних способу їх застосування.
Якщо система встановлена ​​на комп'ютері, де працює один користувач, то зазвичай завершують роботу всіх програм, роботу всіх віртуальних консолей, входять в систему під користувачем root (або залишаються підключеними під цим користувачем, тільки в цьому випадку потрібно перейти в кореневий каталог, щоб уникнути проблем з демонтування файлових систем), потім виконується команда halt або shutdown-h now (при бажанні можна встановити затримку, яка встановлюється заміною параметра now на знак '+' і числом хвилин, після закінчення яких буде завершена робота системи) або просто halt.
Якщо на комп'ютері, на якому встановлена ​​система, працює одночасно кілька користувачів, то можливе використання команди shutdown в наступному форматі:
shutdown-h + time message,
де time цей час, після закінчення якого робота системи буде завершена, а message - повідомлення, в якому пояснюється причина виключення. Наприклад, root # shutdown-h +10 'We will install a new disk. System should> be back on-line in three hours. '
Виконання цієї команди попередить кожного користувача, що працює в системі, що вона буде виключена через 10 хвилин.
Повідомлення видається на кожен термінал, де працюють користувачі, включаючи xterm.
Broadcast message from root (ttyp0) Wed Aug 2 1:03:25 1995 ...
We will install a new disk. System should be back on-line in three hours.
The system is going DOWN for system halt in 10 minutes!!
Видача повідомлення автоматично повторюється кілька разів перед припиненням роботи системи та кожен раз з більш коротким інтервалом. При використанні halt не можна встановити затримку, тому ця програма рідко застосовується на багатокористувацьких системах.
Зауваження: файл / etc / inittab містить команди, які виконуються при вимиканні системи.
Після запуску процесу припинення роботи системи, демонтуються всі файлові системи (крім системи root), завершується виконання всіх процесів і програм-демонів, потім демонтується файлова система root і вся робота завершується. Після цього видається повідомлення, в якому говориться, що можна відключити живлення. Тільки після цього комп'ютер може бути вимкнено.
У деяких випадках неможливо завершити цей процес відповідним чином. Наприклад, при пошкодженні коду ядра в пам'яті, порушується його робота або система зависає і просто немає можливості ввести нову команду можна тільки сподіватися, що нічого не пошкодиться і вимкнути живлення. Якщо ця проблема не такі серйозні (наприклад вийшла з ладу клавіатура), а ядро ​​і програма update працюють нормально, то найкращим варіантом буде почекати кілька хвилин, поки update (8) не збереже на диску інформацію, що зберігається в кеш-буфері і тільки після цього вимкнути живлення.
Деякі вимикають комп'ютер після триразового виконання команди sync (8), яка скидає на диск вміст буфера, і, після припинення звернення до диска, вимикають комп'ютер. Якщо в момент вимикання робота всіх програм була завершена, то ця процедура майже ідентична виконання команди shutdown. Однак, файлові системи не демонтуються, що може призвести до деяких проблем, пов'язаних з прапором 'clean filesystem' системи ext2fs. У кожному разі використання цього способу не рекомендується.

4.4. Перезавантаження системи

Процес перезавантаження може бути досягнутий шляхом припинення роботи системи, виключення живлення і включення знову. Більш простий спосіб - це вказати команді shutdown перезавантажити систему встановивши опцію-r. Наприклад, для цього можна використовувати команду shutdown-r now. Також можна використовувати команду reboot.

4.5. Однокористувацький режим роботи

Команда shutdown може також використовуватися для перекладу системи в однокористувацький режим, в якому до системи ніхто не може підключиться крім користувача root, який використовує для роботи головну консоль. Це іноді застосовується для адміністративних цілей, для виконання яких не може бути використана нормально працююча система.

4.6. Дискети для екстреної завантаження

Не завжди є можливість завантаження системи з жорсткого диска. Наприклад, при неправильних установках в LILO завантажувачі систему неможливо буде завантажити. У таких випадках повинен бути інший спосіб завантаження. Для персональних комп'ютерів зазвичай вона виконується з дискет.
Більшість розповсюджуваних версій Linux дозволяють під час установки системи створити завантажувальну дискету. Однак багато такі дискети містять тільки ядро ​​і, передбачається, що для усунення неполадок будуть використовуватися програми, що знаходяться на дисках. Іноді цих програм буває недостатньо, наприклад, коли потрібно відновити деякі файли, створені за допомогою програм, яких немає на цих дисках.
Тому може виникнути необхідність у створенні спеціально налаштованого диска. У документації "Bootdisk HOWTO" міститься необхідна інформація для створення подібного диска.
При завантаженні із спеціально налаштованого диска не можна використовувати привід, на якому змонтована ця дискета, для будь-яких інших цілей. Це може створити деякі незручності, якщо на комп'ютері є лише один дисковод. Проте, якщо комп'ютер має достатній обсяг пам'яті, можна завантажити цей диск у RAM диск (для цього ядро, розташоване на дискеті повинно бути налаштоване відповідним чином). Це дозволяє використовувати пристрій для інших цілей.

ВИСНОВОК
Linux є Unix-подібної операційної системою, яка використовується на різних комп'ютерах PC-386. Вперше вона була представлена ​​як pасшиpению до операційної системи Minix і її перші версії включали підтримку тільки файлової системи Minix.
При запуску оболонки автоматично виконується один або кілька заздалегідь встановлених файлів. Різні оболонки використовують різні файли.
Більшість оболонок спочатку запускає один загальний файл, напpимеp, оболонка Bourne (/ bin / sh) і їй подібні виконують файл / etc / profile, на додаток до нього вона виконує файл ~ /. Profile. У файлі / etc / profile системним адміністpатоpом вказуються установки і оболонка для всіх користувачів, зокрема, мінлива оболонки PATH і дp. У той час як файл ~ /. Profile використовується для особистих установок користувача та індивідуальної настройки оболонки.
У ході виконання даної курсової роботи були розглянуті наступні питання:
- Складові операційної системи;
- Основні функції системи;
- Файлова система;
- Запуск системи та перезавантаження;
Коротко викладені основні положення по кожному з розглянутих питань обраної теми.

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Аврін С. Країну готують до Інтернету. М. 2001.
2. Батурин Ю. М. Право і політика в комп'ютерному світі. - М. 1997
3. Белл Д. Майбутнє індустріальне суспільство. М. 1999.
4. Володін О. Інтерфейс системи захисту інформації. М. 1998.
5. Король Л., Судів Є. Інформаційна безпека: системний підхід. СПб. 2002.
6. Ларс Вірженіус. ОС Linux. Керівництво системного адміністратора. М. 1998.
7. Милославська Н.Г., Толстой А.І. Інтрамережі: доступ в Інтернет. Захист. М. 2000.
8. Рассел Сейдж. Прийоми професійної роботи в UNIX. М. 1999.
9. Таїли Ед. Безпека комп'ютера. Мінськ. 1997
10. Фігурне В.Е. «IBM PC для користувача». 7-е вид., Пераб.і доп. - М.: ИНФРА-М, 2002. - 640 с.: Іл.
11. Фоменков Г. Уразливість мережевих операційних систем. / / БАНКІВСЬКІ ТЕХНОЛОГІЇ 5'98.
12. Юфа В. Unix і Internet: приведення до спільного знаменника. М. 2000.

ДОДАТОК
Короткий опис деяких команд
операційної системи
UNIX
alias
Створює синонім команди.
bg
Запускає перерваний процес у "фоновому" режимі.
bye
Закінчує сеанс зв'язку.
cat
Виводить на екран вміст текстового файлу.
cd
Змінює "поточну" директорію.
conf
Дає можливість читати і посилати статті в телеконференції.
decode
Відновлює бінарний файл, присланий по електронній пошті в закодованому вигляді.
dir
Показує список файлів в "домашній" директорії.
du
Підраховує об'ем файлів в "домашній" директорії, що обчислюється в кілобайтах.
echo
Відображає на екран все зазначене цій команді в якості параметра.
encode
Трансформує бінарний файл у формат 'uudecode'.
exit
Закінчує сеанс зв'язку.
fg
Переводить процес з "фонового" режиму в "активний" режим.
finger
Дає можливість дізнатися, хто з користувачів телекомунікаційної мережі працює на лінії в даний момент.
ftp
Дозволяє отримувати файли зі спеціаліцірованних файл-серверів мережі "Інтернет".
gopher
Дозволяє користуватися однойменною інформаційним сервісом мережі "Інтернет".
head
Видає на екран перші десять рядків текстового файлу.
help
Раз'ясняет сенс деяких команд англійською мовою.
history
Показує список використаних команд.
id
Показує ідентифікатор користувача системи.
irc
Дає можливість користуватися сервісом IRC (Internet Relay Chat).
joe
Текстовий редактор.
logout
Закінчує сеанс зв'язку.
ls
Показує фали в домашній директорії.
mail
Дає можливість користуватися електронною поштою.
man
Раз'ясняет сенс деяких команд англійською мовою.
map
Включає / вимикає перекодування російських символів.
mkdir
Створює піддиректорію в "домашній" директорії.
pine
Дає можливість користуватися електронною поштою.
ping
Показує наявність зв'язку з певним сервером мережі "Інтернет".
ps
Показує процеси операційної системи UNIX.
pwd
Показує повну назву "поточної" директорії.
sz
Пересилає файл на Ваш комп'ютер.
talk
Дозволяє вести інтерактивний діалог з користувачем мережі "Інтернет".
telnet
З'єднує з іншими серверами мережі "Інтернет".
unalias
Знищує синонім команди.
uname
Інформує про версію операційної системи на сервері телекомунікаційної мережі.
w
Дає можливість дізнатися, хто з користувачів телекомунікаційної мережі працює на лінії в даний момент.
who
Дає можливість дізнатися, хто з користувачів телекомунікаційної мережі працює на лінії в даний момент.
www
Дозволяє користуватися інформаційним сервісом WWW (World-Wide Web).
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
98.7кб. | скачати


Схожі роботи:
Операційна система Unix
Операційна система Unix 3
Основні роботи операційної системи UNIX Підтримка мережі UNIX
Файлова система Unix
Файлова система UNIX
Операційна система OS 2 Warp
Операційна система NetWare
Операційна система Windows-95
Операційна система Windows 2
© Усі права захищені
написати до нас