Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпори СПОС.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
145.46 Кб
Скачать
  1. Сценарії ініціалізації ос. Приклади системних демонів.

В процесі ініціалізації можна виділити кілька етапів:

  1. Розпізнавання і конфігурування пристроєм, ініціалізація драйверів і авто конфігурація ядра

  2. Визначення і монтування кореневої файлової системи

  3. Запуск основних системних демонів

  4. Виконання ініціалізацій них сценаріїв

  5. Запуск менеджерів дисплею і терміналів

Демон - це завдання, що виконується у фоновому режимі, і при запуску машини стартує ціла маленька армія таких. Бувають демони управління автоматизованими завданнями, демони для управління живленням і параметрами CPU, демони для друку і демони для ведення системних журналів. Деякі видають своє походження, додаючи до імен букву «d», інші воліють назви-ребуси навроде «binfmpt-support» або «brltty».

Демони, безсумнівно, невід'ємна частиною робочого оточення. Але є з ними і проблема. Без божественного осяяння звичайному дистрибутива Linux в точності не вгадати, які демони вам знадобляться, а які ні - в результаті всі вони норовлять перестрахуватися, аж до курйозів. Наприклад, ваш настільний комп'ютер може отримати демона управління живленням ноутбука або демона Bluetooth; працевлаштування обом не світить, але вони будуть завантажуватися і поїдати цінну пам'ять. Час завантаження і витрата пам'яті можна зменшити, трохи попрацювавши над відсіченням ваших демонів і їх підгонкою під свої вимоги. Весь фокус у тому, що саме потрібно видаляти.

Говорячи про демонів, більшість має на увазі сервіси. Часто вони стартують при завантаженні і скромно виконуються у фоновому режимі - але це не обов'язково легковагі засоби управління системою. Немає причин не вважати демонами і повні пакети додатків. Які сервіси виконувати, а які - ні, цілком залежить від вашого дистрибутива і цілей його застосування. Якщо ви використовуєте дистрибутив, орієнтований на серверне застосування, то досить імовірно, що в числі демонів буде web-сервер Apache разом зі своєю школою додатків-помічників. Це безпардонна побір ваших ресурсів, якщо web-сервер вам ні до чого, адже ще не так давно дистрибутиви типу Mandriva встановлювали і запускали web-сервер за замовчуванням. В наші кризові часи, швидше за все, такого не відбувається, але дуже ймовірно, що у вас все ще залишається небудь непотрібне, «крутиться» у фоновому режимі. Приклади демонів: AppArmor, Apport, Avahi-deamon, Bluetooth, CUPS, GPM, KLogd, NTP, Powersaver, Powernowd, Laptop-mode.

  1. Командний інтерпретатор. Базовий синтаксис команд. Шаблони вибору імен файлів.

  1. Багатозадачність. Види реалізації багатозадачності.

  1. Операційне середовище користувача та прикладних програм. Основні елементи операційного середовища. Організація сеансу роботи користувача через інтерфейс командного рядка.

  1. Інструментальні засоби програмування. Основні відомості про мови програмування.

  1. Загальні відомості про особливості розробки командних сценаріїв та програм на мові, що передбачає компіляцію.

Першою фазою є стадія компіляції, коли файли з вихідними текстами програми, включаючи файли заголовків, обробляються компілятором gсс (1). Параметри компіляції задаються або з допомогою файлу makefile, або явним зазначенням необхідних опцій компілятора в командному рядку. У підсумку компілятор створює набір проміжних об'єктних файлів. Традиційно імена створених об'єктних файлів мають суфікс «.о».

На наступній стадії ці файли за допомогою редактора зв'язків id зв'язується один з одним і з різними бібліотеками, включаючи стандартну бібліотеку за замовчуванням і бібліотеки, зазначені користувачем в якості параметрів. При цьому редактор зв'язків може виконуватися в двох режимах: статичному та динамічному, що задається відповідними опціями. У статичному, найбільш традиційному режимі зв'язуються всі об'єктні модулі і статичні бібліотеки (їх імена мають суфікс «.а»), проводиться дозвіл всіх зовнішніх посилань модулів і створюється єдиний виконуваний файл, що містить весь необхідний для виконання код. У другому випадку, редактор зв'язків по можливості підключає

спільні бібліотеки (імена цих бібліотек мають суфікс «.so»).В результаті створюється виконуваний файл, до якого в процесі запуску на виконання будуть підключені всі поділювані об'єкти. В обох випадках за умовчанням створюється виконуваний файл з ім'ям a.out

Для простих завдань усі фази автоматично виконуються викликом команди:

$ make prog або еквівалентній їй $ cc –o prog prog.c

які створюють виконуваний файл з ім'ям prog. У цьому випадку замовчуване ім'я виконуваного файлу(a.out) змінено на prog за допомогою опції –о.

Втім, вказані стадії можна виконувати і роздільно, з використанням команд сс і id. Зауважимо, що насправді команда cc являється програмною оболонкою і компілятора і редактора зв'язків, яку і рекомендується використовувати при створенні програм.

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

$ cc –c file1. c file2.c Створимо проміжні об'єктні файли file1.o і file2.o

$ cc –o prog file1.o file2.o -lnsl Створимо виконуваний файл з ім'ям

prog, використовуючи проміжні об'єктні файли і бібліотеку або libnsl.a або libnsl.so

В оболонку вбудована мова програмування (командний мова), Що дозволяє писати складні командні сценарії. Саме командна мова відділяє оболонки один від одного, и саме з нього виходять користувачі, вибираючи оболонки

Linux є Unix-подібної ОС. Спочатку ОС Linux Була розроблено Лінусом Торвальдсом (Linus Torvalds) в університеті Хельсінкі (Фінляндія) на Основі ОС Minix - маленька UNIX-система, створ Andry Tanenbaum. Ранній Розвиток Linux насамперед Було пов'язано з проблемою перемикань Завдання в захіщеному режимі для 80386. І Лінус "ставши серйозно обдумувати маніакальну ідею, Як Зробити Minix краще собі самого".

Командна оболонка в системах UNIX-Вже існувала, Це Була оболонка "Bourne shell" (shell Баурна або просто shell). Трохи пізніше в UNIX-системах розробили оболонку C shell, Яка використовує Інший синтаксис,трохи нагадує синтаксис мови програмування Сі.