Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операцiйнi системи та середовища6.05.07(Антонов...doc
Скачиваний:
11
Добавлен:
04.05.2019
Размер:
801.79 Кб
Скачать

5.3.3 Підсистема керування процесами та пам’яттю

Підсистема керування процесами та пам’яттю контролює:

  • створювання й вилучання процесів;

  • розподіл системних ресурсів поміж процесами;

  • синхронізацію процесів;

  • міжпроцесну взаємодію.

Вочевидь, що в загальному випадку кількість активних процесів перевищує кількість процесорів комп’ютера, але в кожен окремий момент часу на кожнім процесорі може виконуватися лише один процес. ОС керує доступом процесів до обчислювальних ресурсів, створюючи відчуття одночасного виконання кількох завдань.

Спеціальне завдання ядра, називане розпорядником, планувачем процесів (scheduler), розв’язує конфлікти поміж процесами в конкуренції за системні ресурси (процесор, пам’ять, пристрої введення/виведення). Планувач запускає процес на виконання, стежачи за тим, щоби процес монопольно не захопив розподілювані системні ресурси. Процес звільнює процесор, очікуючи на тривалу операцію введення/виведення або на завершення кванта часу. У цьому разі планувальник обирає процес з найвищим пріоритетом і запускає його на виконання.

Модуль керування пам’яттю забезпечує розміщення оперативної пам’яті для прикладних завдань. Оперативна пам’ять — коштовний ресурс, її рідко буває “забагато”. Якщо для всіх процесів недостатньо пам’яті, ядро переміщує частини процесу до вторинної пам’яті, звільнюючи ресурси для виконуваного процесу. Усі сучасні системи зреалізовують віртуальну пам’ять: процес виконується у власному логічному адресному просторі, що може перевищувати доступну фізичну пам’ять.

Модуль міжпроцесної взаємодії відповідає за повідомлення процесів про події за допомогою сигналів і забезпечує можливість передавання даних поміж різними процесами [6].

5.3.4 Підсистема введення/виведення

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

5.3.5 Користувачі ос unix

З точки зору ОС UNIX, користувач системи — це не є обов’язково людина. Користувач — це об’єкт, який має певнимі права, володіє файлами й може запускати на виконання програми. Користувачем може бути віддалений комп’ютер чи група користувачів, наділених однаковими правами та функціями, – це псевдокористувачі. Але зазвичай більшість користувачів ОС UNIX – це реальні люди. Вони реєструються в системі, запускають програми, в той чи інший спосіб використовують UNIX у власній роботі.

У системі існує один користувач, якому належать необмежені права. Це суперкористувач, root, або адміністратор системи.

Кожен користувач системи має унікальне ім’я чи реєстраційне ім’я – login name. Система розрізнює користувачів за асоційованим з іменем ідентифікатором користувача UID (User Identifier). Користувач може бути членом однієї чи кількох груп – списку користувачів, котрі мають ідентичні завдання. Приналежність до групи визначає додаткові права, які мають усі члени групи. Кожна група має унікальне ім’я з-посеред імен груп, а імена групи й користувача можуть збігатися; це ім’я – її ідентифікатор GID (Group Identifier). UID та GID визначають, які права в системі належать користувачеві.

Уся інформація про користувачів зберігається в файлі /etc/passwd. Це звичайний текстовий файл, право на читання якого мають всі користувачі, а право на записування – тільки адміністратор. У цьому файлі в зашифрованому вигляді зберігаються також паролі користувачів, але в багатьох системах паролі зберігаються в окремому закритому для читання та записування файлі /etc/shadow.

Кожен рядок файла /etc/passwd має такий формат:

name: passwd-encod: UID: GID: comments: home-dir: schell

  • Атрибут name – реєстраційне ім’я користувача; його вводить користувач у відповідь на запрошення системи login.

  • Атрибут passwd-encod – пароль користувача у закодованому вигляді; при вході до системи пароль кодується й результат порівнюється з тим, що є в даному полі; в разі їхнього збігу користувачеві дозволяється увійти до системи.

  • Атрибут UID є внутрішнім поданням користувача в системі; він наслідується процесами та файлами, які створює користувач, і надає користувачеві права доступу. Наприклад, при запуску програми та читанні файла суперкористувач має UID = 0, що надає йому необмежені права в системі.

  • Атрибут GID визначає ідентифікатор первинної групи користувачів; він відповідає ідентифікатору в файлі /etc/group, який вміщує ім’я групи та повний список користувачів, що є її членами.

  • Атрибут comments — це повне “реальне” ім’я користувача, яке вміщує додаткову інформацію про нього: телефон, адресу електронної пошти тощо.

  • Атрибут home-dir — домашній каталог користувача; до нього користувач потрапляє при вході до системи; в домашньому каталозі користувач є повноправним хазяїном, але в інших частинах файлової системи він має обмежені права.

  • Атрибут schell — ім’я програми, яку UNIX використовує як командний інтерпретатор; при вході користувача до системи автоматично запуститься один зі стандартних інтерпретаторів: /bin/sh (Bourne shell), /bin/csh (C shell), або /bin/ksh (Korn shell), який дозволяє користувачеві вводити команди й запускати програми; деякі системи мають файл /etc/ shells, котрий вміщує назви програм, які можна використовувати як командний інтерпретатор.

Паролі можна призначати чи змінювати командою passwd(1). Користувач може змінити власний пароль, а адміністратор може призначати паролі всім користувачам. Більшість систем потребують, щоби пароль задовольняв таким вимогам:

  • довжина паролю не повинна бути більша за шість символів;

  • пароль повинен вміщувати два абеткових символи, одну цифру й один спеціальний символ;

  • новий пароль повинен вміщувати щонайменш три символи, які не зустрічалися попередньо.

Пароль адміністратора треба періодично змінювати незалежно від обставин. У решти користувачів треба змінювати паролі у таких випадках:

  • якщо хтось його виявив;

  • якщо користувач вже не працює в системі, всі паролі, які були йому відомі, треба змінити;

  • за заміни адміністратора системи треба змінити всі паролі;

  • якщо є підозра, що файл паролів зчитано в мережі, всі паролі в системі треба змінити.

Паролі відіграють велику роль у безпеці ОС, тому слід дотримуватись правил паролювання користувацьких входів.

Після інсталяції UNIX вже вміщує кілька зареєстрованих користувачів:

  • root – адміністратор системи, UID = 0; користувач з цим іменем має необмежені повноваження в системі; будь-який користувач з UID = 0 має повноваження суперкористувача;

  • adm – псевдокористувач, що йому належать файли системи ведення журналів;

  • bin – зазвичай це володар усіх виконуваних файлів, які є командами UNIX;

  • lp – псевдокористувач, від імені якого виконуються процеси системи друку;

  • cron – псевдокористувач, якому належать відповідні файли, від імені якого виконуються процеси запуску програм за розкладом;

  • news – псевдокористувач, від імені якого виконуються процеси системи телеконференцій;

  • root або wheel – адміністративна група, GID = 0;

  • user або users або staff – група, до якої за умовчанням долучаються всі звичайні користувачі UNIX.