Linux. Треба сказати, що розробка Лінуса Торвальдса являла собою тільки ядро ​​операційної системи. Це ядро ​​"впало на підготовлений грунт", в тому сенсі, що в рамках проекту GNU вже було розроблено велику кількість утиліт різного роду. Але для перетворення GNU в повноцінну ОС не вистачало ядра. Розробка ядра велася (воно називалося Hurd), але з якихось причин затримувалася. Тому поява розробки Л. Торвальдса було дуже своєчасним. Воно ознаменувало народження операційної системи, поширюваної з відкритими вихідними кодами.
Р. Столлман, звичайно, правий, коли наполягає на тому, що операційна система Linux має називатися GNU/Linux. Але так вже склалося, що назва ядра стало служити назвою всієї операційної системи, і ми в цій книзі будемо чинити так само.
3 Основні характеристики ОС Linux
У силу того, що вихідні коди Linux поширюються вільно і загальнодоступними, до розвитку системи з самого початку підключилося велика кількість незалежних розробників. Завдяки цьому на сьогоднішній момент Linux - найсучасніша, стійка й швидко розвивається система, майже миттєво вбирає в себе самі останні технологічні нововведення. Вона володіє всіма можливостями, які притаманні сучасним повнофункціональним операційним системам типу UNIX. Наведемо короткий список цих можливостей. p> Реальна багатозадачність
Всі процеси незалежні; жоден з них не повинен заважати виконанню інших завдань. Для цього ядро ​​здійснює режим поділу часу центрального процесора, по черзі виділяючи кожному процесу інтервали часу для виконання. Це істотно відрізняється від режиму "витісняючою багатозадачності ", реалізованої в Windows 95, коли процес повинен сам "Поступитися" процесор іншим процесам (і може сильно затримати їх виконання).
Багатокористувацький доступ
Linux - не тільки багатозадачна ОС, вона підтримує можливість одночасної роботи багатьох користувачів. При цьому Linux може надавати всі системні ресурси користувачам, що працюють з хостом через різні віддалені термінали.
Свопування оперативної пам'яті на диск
Свопування оперативної пам'яті на диск дозволяє працювати при обмеженому обсязі фізичної оперативної пам'яті; для цього вміст деяких частин (сторінок) оперативної пам'яті записуються у виділену область на жорсткому диску, яка трактується як додаткова оперативна пам'ять. Це трохи знижує швидкість роботи, але дозволяє організувати роботу програм, вимагають більшого обсягу ОЗУ, чим фактично мається на комп'ютері.
Сторінкова організація пам'яті
Системна пам'ять Linux організована у вигляді сторінок об'ємом 4K. Якщо оперативна пам'ять повністю вичерпана, ОС буде шукати давно не використані сторінки пам'яті для їх переміщення з пам'яті на жорсткий диск. Якщо будь-які з цих сторінок стають потрібні, Linux відновлює їх з диска. Деякі старі Unix-системи і деякі сучасні платформи (включаючи Microsoft Windows) переносять на диск весь вміст ВП, що відноситься до непрацюючого в даний момент додатком, (тобто ВСІ сторінки пам'яті, пов'язані з додатком, зберігаються на диску при нестачі пам'яті) що менш ефективно.
Завантаження виконуваних модулів "на вимогу"
Ядро Linux підтримує виділення сторінок пам'яті на вимогу, при якому тільки необхідна частина коду виконуваної програми знаходиться в оперативної пам'яті, а не використовувані в даний момент частини залишаються на диску.
Спільне використання виконуваних програм
Якщо необхідно запустити одночасно кілька копій якогось додатку (або один користувач запускає кілька ідентичних завдань, або різні користувачі запускають одну і ту ж задачу), то в пам'ять завантажується тільки одна копія виконуваного коду цього додатка, яка використовується всіма одночасно виконував ідентичними завданнями.
Загальні бібліотеки
Бібліотеки - набори процедур, що використовуються програмами для обробки даних. Існує деяка кількість стандартних бібліотек, використовуваних одночасно більш ніж одним процесом. У старих системах такі бібліотеки включалися в кожен виконуваний файл, одночасне виконання яких призводило до непродуктивного використання пам'яті. У нових системах (у Зокрема, в Linux), забезпечується робота з динамічно і статично розділяються бібліотеками, що дозволяє скоротити розмір окремих додатків.
Динамічне кешування диска
Кешированіє диска - це використання частини оперативної пам'яті для зберігання часто використовуваних даних з диска, що істотно прискорює доступ до часто використовуваних програм і завданням. Користувачі MS-DOS працюють зі SmartDrive, який резервує фіксовані області системної пам'яті для кешування диска. Linux використовує більш динамічну систему кешування: пам'ять, зарезервована під кеш, збільшується, коли пам'ять не використовується, і зменшується, якщо системі або процесу користувача потрібно більше пам'...