- •Глава 1
- •Введення
- •Операційна система як менеджер ресурсів
- •Історія операційних систем
- •Ibm 1401 записує пакет завдань на магнітну стрічку (б); оператор приносить вхідні
- •360. Ми не можемо тут дати повну оцінку цієї книги, але достатньо буде сказати, що на її обкладинці зображено стадо доісторичних тварин, загрузли у
- •77, 82, 253, 285]. Системі multics також присвячений все ще активний web-сайт www.Multicians.Org, з великою кількістю інформації про систему, її проектувальників і користувачів.
- •Ibm захотіла деяких удосконалень у програмі, Білл Гейтс запрошуємо
- •Xerox [307]. Тоді Джобе приступив до створення Apple з графічним інтерфейсом. Це привело до проекту Lisa, який був дуже дорогий і зазнав комерційних
- •Онтогенез повторює філогенез
- •Серверні операційні системи
- •Операційні системи реального часу
- •VX Works і qnx є добре відомими операційними системами реального часу.
- •Вбудовані операційні системи
- •Огляд апаратного забезпечення комп'ютера
- •Процесори
- •Пристрої введення-виведення
- •Процесори
- •Взаємоблокировка
- •Управління пам'яттю
- •Введення-виведення даних
- •Безпека
- •Оболонка
- •Повторне використання ідей
- •Системні виклики
- •Системні виклики для управління процессами
- •Лістинг 1.1. Усічена оболочка1
- •Системні виклики для управління файлами
- •Системні виклики для управління каталогами
- •Iink ("/ usr/jim/memo", "/ usr / ast / note"): то файл memo в каталозі Джима з'явиться у каталозі Аста під назвою note.
- •Різні системні виклики
- •Багаторівневі системи
- •Віртуальні машини
- •Екзоядро
- •Модель клієнт-сервер
- •Дослідження в області операційних систем
- •Короткий огляд наступних глав
- •Одиниці виміру
- •1024 Байта, а не 1000 байт. Точно так же 1 Мбайт містить 220 a 048 576) байт,
Безпека
Комп'ютери містять велику кількість інформації, конфіденційність якої користувачі часто хочуть зберегти: електронну пошту, бізнес-плани та багато іншого. У завдання операційної системи входить управління системою захисту подібних файлів, так щоб вони, наприклад, були доступні тільки осіб, які мають на це права.
В якості найпростішого прикладу, що дає уявлення про те, як працює
система безпеки, розглянемо систему UNIX. У UNIX для захисту файлів їм
присвоюється 9-бітовий двійковий код. Цей код захисту складається з трьох полів
по три біта, одне для власника, другий для інших членів групи власника
(Користувачі поділяються на групи системним адміністратором) і третє - для всіх інших. У кожному полі є біт, що визначає доступ для читання, біт, що визначає доступ для запису, і біт, що дозволяє виконання. Ці три біта називаються rwx-бітами (read, write, execute). Наприклад, код захисту rwxr-x – x означає, що власник файлу може читати, писати чи виконувати файл, інші члени групи можуть читати або виконувати файл (але не писати в нього), а інші можуть тільки виконувати файл (але не читати або писати). Для каталогах означає дозвіл на пошук. Дефіс означає, що відповідний дозвіл відсутня. Крім захисту файлів, існує ще безліч інших питань безпеки: захист системи від небажаних гостей, людей, і не тільки (вірусів). Ми обговоримо різні питання, пов'язані з безпекою, у розділі 9.
Оболонка
Операційна система являє собою програму, що виконує системні
дзвінки. Редактори, компілятори, асемблери, компонувальники і командні
інтерпретатори не є частиною операційної системи, незважаючи на їх велику
важливість та корисність. Оскільки є ризик заплутатися в цих речах, в даному
розділі ми коротко розглянемо тільки командний інтерпретатор UNIX, званий оболонкою (shell). Хоча вона не входить в операційну систему, але на всю
користується багатьма функціями операційної системи і тому є хорошим прикладом того, як можуть застосовуватися системні виклики. Крім цього, оболонка надає основний інтерфейс між користувачем, що сидять за своїм терміналом, і операційною системою, якщо, звичайно, користувач не
використовує графічний інтерфейс. Існує безліч оболонок, наприклад sh,
csh, ksh і bash. Всі вони підтримують описані нижче функції, оскільки походять від первісної оболонки (sh).
Коли який-небудь користувач входить в систему, запускається оболонка.
Стандартним вхідним і вихідним пристроєм для оболонки є термінал (Монітор з клавіатурою). Оболонка починає роботу з друку запрошення (prompt) - знака долара, говорить користувачеві, що оболонка очікує введення команди.
Якщо тепер користувач надрукує, наприклад, date оболонка створить дочірній процес і запустить програму date. Поки дочірній процес працює, оболонка чекає його завершення. Після завершення дочірнього процесу оболонка знову друкує запрошення і намагається прочитати наступну вхідні рядок. Користувач може перенаправити стандартний вивід даних у файл:
date> file
Таким же чином можна перевизначити пристрій, з якого читаються вхідні дані, як показано нижче: sort file2. Ця команда наказує програмі сортування вважати дані з файла 1 і вивест результат в файл 2. Вихідні дані однієї програми можна використовувати як вхідні даних для іншої, з'єднавши їх каналом. Так, команда cat filel file2 file3 | sort> / dev / lp наказує програмі cat об'єднати (concatenate) три файли і послати вихідні дані програмі sort, яка розставить всі рядки в алфавітному порядку. Результат роботи sort перенаправляється в файл / dev / lp, зазвичай позначає принтер.
Якщо користувач набере знак після команди, оболонка не чекатиме
закінчення її виконання. У цьому випадку вона негайно напише нове запрошуємо
запрошення. Тобто в результаті команди cat filel file2 file3 | sort> / dev / lp. Але більшість книг з UNIX описують оболонки досить детально [179, 185, 232, 245, 278].