65821

Управление функциональностью ядра операционной системы

Лабораторная работа

Информатика, кибернетика и программирование

Основной частью модуля является процедура выдачи разрешения на доступ. Изначально файл полностью доступен всем пользователям, так как основное распределение доступа происходит позже. В процедуре определения возможности предоставления доступа...

Русский

2014-08-06

20.82 KB

3 чел.

ФГБОУ ВПО "Санкт-Петербургский государственный
политехнический университет"

Факультет технической кибернетики

—————————

Кафедра информационной безопасности компьютерных систем

ОТЧЕТ

по лабораторной работе №1

«Управление функциональностью ядра операционной системы»

по дисциплине «Операционные системы»

Студент гр. 2088/1

Никитин А. С.

Преподаватель

Степанова Т. В.

Санкт-Петербург — 2012

1. Формулировка задания

Цель работы — изучение ядра ОС UNIX и модульной архитектуры ядра, исследование расширения функциональности ядра ОС.

2. Использованные теоретические сведения

http://lxr.linux.no/+trees

3. Результаты работы

3.1. Выполнение индивидуального задания

1. Создать файл в /proc. Файл должен быть доступен на чтение. Чтение должен осуществлять только процесс с идентификатором UID менее 100.

Основной частью модуля является процедура выдачи разрешения на доступ. Изначально файл полностью доступен всем пользователям, так как основное распределение доступа происходит позже. В процедуре определения возможности предоставления доступа содержатся проверки на действие – чтение, и на EUID пользователя – он должен быть меньше 1000.

2. Тексты программ с подробными комментариями.

Тексты программ приложены к отчёту.

3.2. Ответы на контрольные вопросы

1. Что такое драйвер устройства?

Драйвер устройства – низкоуровневая программа, работающая с определённым устройством или их классом для предоставления прочему программному обеспечению стандартного интерфейса работы с устройством.

2. Каковы функции утилиты modprobe?

Данная утилита предназначена для загрузки модулей, в первую очередь демоном kmod. Утилита находит файл модуля, определяет его зависимости, и загружает последовательно необходимые модули.

3. Что содержат части top half и bottom half функции-обработчика прерывания?

Top half содержит минимальный необходимый код для обработки прерывания. Этот код должен обнаружить достоверность прерывания, считать необходимые данные, и передать их в очередь bottom half. Bottom half занимается непосредственно анализом прерываний и реагированием на них. Это сделано для того, чтобы отсутствовала вероятность пропуска новых прерываний и их обработка велась без задержек.

4. Каково назначение файловой системы /proc?

Изначально она использовалась для получения информации о процессах, но теперь используется для получения информации и о ядре. Также присутствует возможность добавления своей файловой системы в /proc.

5. С какой целью используются ioctl-управляющие коды?

Управляющие коды используются для получения информации об устройстве или его настройки.

4. Выводы

Модули ядра ОС UNIX позволяют расширять функциональность системы, причём назначение модулей может быть самым разнообразным. ОС предоставляет достаточно большой набор функций для использования в модулях, что упрощает их написание.


Приложение

Исходные тексты программ

#include <linux/kernel.h>

#include <linux/module.h>

#include <linux/proc_fs.h>

#include <asm/uaccess.h>

#include <asm/current.h>

#include <linux/security.h>

#include <linux/cred.h>

#define FILE    "euidread"

static char filebuffer[] = "Hello, this is \"euidread\" \"file\" content\n"; //Строка,
//
возвращаемая при чтении из файла

static struct proc_dir_entry *procfile;

static ssize_t file_read(struct file *filp, char *buffer, size_t length, loff_t *offset) {

   static int finished = 0; //Чтение файла

   if (finished) { //Если поднят флаг завершения, возвращаем ноль

       finished = 0;

       return 0;

   }

   finished = 1;

   if (copy_to_user(buffer, filebuffer, 41)) return -EFAULT; //Возвращается строка

   return 41;

}

int file_open(struct inode *inode, struct file *file) { //Открытие файла

   try_module_get(THIS_MODULE);

   return 0;

}

int file_close(struct inode *inode, struct file *file) { //Закрытие файла

   module_put(THIS_MODULE);

   return 0;

}

static struct file_operations file_ops = { //Операции над файлом

   .read = file_read,

   .open = file_open,

   .release = file_close

};

static int access_permission(struct inode *inode, int op) { //Определение прав доступа

   if ((((op & 07) == 04) && current_euid() < 1000)) return 0; //Если действие – чтение,

//и EUID меньше 1000, то доступ разрешается

   return -EACCES;

}

static struct inode_operations inode_ops = { //Операции над inode

   .permission = access_permission

};

int init_module() { //Инициализация модуля

   procfile = create_proc_entry(FILE, 0666, NULL); //Создание файла с полным доступом

   if (procfile == NULL) return -ENOMEM;

   procfile->proc_iops = &inode_ops; //Задание параметров

   procfile->proc_fops = &file_ops;

   procfile->mode = S_IFREG | S_IRUSR;

   procfile->uid = 0;

   procfile->gid = 0;

   procfile->size = 80;

   return 0;

}

void cleanup_module() { //Выгрузка модуля

   remove_proc_entry(FILE, NULL);

}


 

А также другие работы, которые могут Вас заинтересовать

53139. Гідросфера. Узагальнення (урок – гра у 6 класі) 89.5 KB
  Якщо тему добре знаєш То мене ти відгадаєш Запитання: Про що йде мова У яких станах може перебувати вода на Землі Твердому рідкому газоподібному. Запитання: Яке явище описано у вірші Що є основною причиною утворення кругообігу води в природі Енергія Сонця. Запитання: Про які кольорові моря йде мова Жовте Чорне Червоне Біле . Запитання: Яка основна причина океанічних течій ...
53140. Гигиена питания 98.5 KB
  Действующие лица: комиссар полиции мистер Бортоломью инспектор полиции мистер Дрейк миссис Синтия Бабингтон. Мери пожалуйста пригласите ко мне инспектора Дрейка. Входит инспектор Дрейк. Доброе утро инспектор.
53141. Правила виконання ранкової гімнастики. Частини обличчя 106.5 KB
  Мета уроку: Практична: Ознайомити учнів із значенням та правилами виконання ранкової гігієнічної гімнастики; Закріплення рухових дій засобами естафет, рухливих ігор; Вивчення та відпрацювання вживання лексики по темі в усному мовленні; Формування навичок монологічного мовлення, сприйняття на слух іншомовних слів, опису людини за малюнком;
53142. Гімнастика до занять у початкових класах 56.5 KB
  Гімнастика до занять вирішує головним чином виховні та оздоровчі завдання. Щодня виконувані фізичні вправи надають сприятливий вплив на організм сприяють формуванню правильної постави виховують звичку до регулярних занять фізичними вправами. Колективне виконання вправ під час гімнастики до занять дисциплінує організовує і згуртовує учнів.
53143. Вплив розвитку дрібної моторики на формування мовлення дітей дошкільного віку 39.21 KB
  В роботі з дітьми а особливо з тими що вже мають порушення мовлення велику увагу необхідно приділяти розвитку функції дрібних мязів рук. Рухи рук тісно повязані з мовленням вони є одним з факторів його формування. Звязок рухів руки з мовленням був відмічений ще в 1928 році. Пізніше на основі спеціально проведених дослідів було висунуто думку про те що рухи пальців рук стимулюють розвиток центральної нервової системи і прискорюють розвиток мовлення дитини.
53144. Сценарий внеклассного мероприятия «Путешествие на планету «Гимназия» 50 KB
  Ученик: Мы на планете нашей Всех соберём друзей. Ученик: Педагоги в ней прекрасны Каждый чем то да хорош. Для нас потом в науку Откроются пути Прославим мы гимназию И он и я и ты Ученик: Гимназии нашей Пусть парус плывёт Ведь алым зовётся по праву. Может бать откроешь что то Неизвестное пока Но добьёшься ты чего то Это уж наверняка Многопрофильность даёт нам Сразу право выбирать Может даже президентом Гимназисты смогут стать Ученик: Нам в гимназии славно живется Многопрофильной стала она.
53145. Сценарій проведення виховного заходу з учнями 5 класу “Посвята в гімназисти” 41 KB
  Місце проведення: актова зала гімназії Обладнання: державні символи атрибути навчального закладу емблема 5Б класу мультимедійний проектор музичний центр.1: У гімназії Словянській Всі ми діти всі єдині Вчителі як ті батьки Нас навчають залюбки.1: Сьогодні у 5Б Словянської гімназії свято. А чи знаєте ви що гімназії завжди були в історії культури України символом освіченості чистоти та гідності.
53146. Интегрированный урок по русскому языку, природоведению, внеклассному чтению в 4 классе на тему: «Главного глазами не увидишь….» 59 KB
  Цель: Расширить представление учащихся о частях речи, о роли прилагательных в поэтической речи, совершенствование навыков быстрого выразительного чтения. Развитие воображения, наблюдательности, памяти, образного мышления, речи, умения слушать учителя, самостоятельно работать в группах, точно высказывать свою мысль, делать анализ прочитанного. Воспитывать чувство дружбы, отзывчивости.