Розрахунок по базовим дисциплінам планування. Операційні системи FreeBSD та Linux
Планування найбільшого штрафного відношення. Створення віртуальної машини FreeBSD з диском у 8 Гб. Розмітка диску на розділи певного розміру. Розгляд модулів, функцій ядра Linux. Аналіз особливостей системних бібліотек. Механізм завантаження-вивантаження.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 20.11.2014 |
Размер файла | 190,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Вивантаження модуля фактично являє собою дзеркальне відображення процесу завантаження за винятком того, що для безпечного видалення модуля необхідно виконати декілька "санітарних перевірок". Вивантаження модуля починається у просторі користувача з виконання команди rmmod (видалити модуль). Всередині команди rmmod виконується системний виклик delete_module, який в кінцевому рахунку ініціює sys_delete_module всередині ядра.
При виклику функції ядра sys_delete_module (з ім'ям видаляється модуля як параметр) спочатку виконується перевірка того, чи має виклик відповідні дозволи. Потім за списком перевіряються залежності інших модулів від даного модуля. При цьому використовується список modules_which_use_me, що містить по елементу для кожного залежного модуля. Якщо список порожній, тобто залежностей не виявлено, то модуль стає кандидатом на видалення (інакше повертається помилка). Потім перевіряється, завантажений чи модуль. Ніщо не забороняє користувачеві запустити команду rmmod для модуля, який в даний момент встановлюється, тому дана процедура перевіряє, чи активний модуль. Після кількох додаткових службових перевірок передостаннім кроком викликається функція виходу даного модуля (надається самим модулем). На закінчення викликається функція free_module.
До моменту виклику free_module вже відомо, що модуль може бути безпечно видалений. Залежностей не виявлено, і для даного модуля можна почати процес очищення ядра. Цей процес починається з видалення модуля з різних списків, в які він був поміщений під час встановлення (sysfs, список модулів і т.д.). Потім ініціюється команда очищення, що залежить від архітектури (вона розташована в. / Linux / arch / <arch> / kernel / module.c). Потім обробляються залежні модулі, і даний модуль видаляється з їхніх списків. Наприкінці, коли з погляду ядра очищення завершена, звільняються різні області пам'яті, виділені для модуля, в тому числі пам'ять для параметрів, пам'ять для даних по процесорах і пам'ять модуля ELF (core і init).
Використана література
1.freebsd.org
2.Таненбаум Э., Вудхалл А.. Операционные системы. Разработка и реализация. Класика CS. 3-е изд - СПб.: Питер 2007. - 704 с.:
3.А.В. Гордеев "Системное програмное обеспечение" Питер 2003
4.В.Г. Олифер "Сетевые операционные системы" Питер 2002
5.В.А. Шеховцев "Операційні системи" Київ
6.Швець Н.В. Операційна система Linux. Посібник для самостійної роботи. Одеса, 2010
7.Сайт http://www.ibm.com/developerworks/ru/library/l-lkm/index.html
8.Стаття «Доступ к ядру Linux через файловую систему /proc»(http://www.ibm.com)
9. «Модули Linux ядра» О. Цилюрик, редакция 4.95 10.08.2011г.
Размещено на Allbest.ru
Подобные документы
Структура мережевої підсистеми Linux. Створення мережевого інтерфейсу. Передача пакетів та аналіз поведінки інтерфейсу. Протокол транспортного рівня. Використання модулів ядра. Вплив маршрутизації на процес розробки і налагодження мережевих модулів.
курсовая работа [56,2 K], добавлен 23.05.2013Аварійне відновлення операційної системи Windows XP. Способи резервного копіювання та відновлення даних. Їх характеристика та рекомендації по використанню. Реалізація планування в Linux. Умови виклику процедури планування. Встановлення віртуальної машини.
контрольная работа [3,6 M], добавлен 28.12.2016Розбиття жорсткого диску та встановлення Linux XP Desktop 2006. Використання loop-пристроїв та псевдопристроїв. Зміст роботи з каталогом спеціального призначення /proc. Розділи жорсткого диску та інформація про файлові системи, які підтримуються ядром.
курсовая работа [2,1 M], добавлен 05.12.2011Неекспортовані символи ядра. Оптимальний підхід до реалізації пошуку символів у ядрі. Виконання, підміна, додавання та приховання системних викликів. Завантаження модуля ядра із програмного коду та з коду іншого модуля. Робота з UNIX-сигналами.
курсовая работа [84,0 K], добавлен 23.05.2013Основи адміністрування. Стадії завантаження та керування режимами роботи Linux. Особливості завантаження системи X Window. Конфігураційний файл XF86Config. Монтування файлових систем та додання нових користувачів і груп. Ущільнення і архівування файлів.
реферат [21,3 K], добавлен 15.03.2009Багатозадачна операційна система Linux. Поняття операційної системи і дистрибутиву. Команди операційної системи та файлова система Linux. Розгляд структури каталогів та основні команди. Інформація про поточний каталог, створення, зміна та знищення.
реферат [20,0 K], добавлен 15.03.2009Принципи організації друку у ОС FreeBSD, механізм черг який забезпечує коректний доступ до принтерів у багатокористувацькій системі. Особливості файлу, що містить записи для кожного приєднаного до системи принтера. Приклади завдання параметрів друку.
контрольная работа [19,8 K], добавлен 29.06.2010Анализ достоинств и недостатков FreeBSD при инсталляции ее в роли настольной и серверной операционной системы. Сравнение с UNIX-подобными и неродственными программными продуктами. Взаимодействие с компьютерами по сети, требования к аппаратной среде.
курсовая работа [600,0 K], добавлен 31.05.2009Загальна характеристика алгоритму та опис програми. Керівництво системного програміста. Особливості запуску програми в Linux, FreeBSD, Windows. Аналіз результатів тестування програми, що проектується, вивчення та оцінка її практичної ефективності.
курсовая работа [91,4 K], добавлен 13.06.2014История создания, архитектура операционной системы и перечень возможностей, реализуемых в Linux. Инструментальные средства и цикл разработки новой версии ядра. Жизненный цикл патча. Структура принятия решений при добавлении новых функций (патчей) в ядро.
лекция [303,8 K], добавлен 29.07.2012