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);

}


 

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

44839. Требования в области охраны окружающей среды при осуществлении хозяйственной и иной деятельности 28.5 KB
  Общие требования в области охраны окружающей среды при размещении проектировании строительстве реконструкции вводе в эксплуатацию эксплуатации консервации и ликвидации зданий строений сооружений и иных объектов содержатся в ст. 34 Федерального закона Об охране окружающей среды . Размещение проектирование строительство реконструкция ввод в эксплуатацию эксплуатация консервация и ликвидация зданий строений сооружений и иных объектов оказывающих прямое или косвенное негативное воздействие на окружающую среду осуществляются в...
44840. Техногенные аварии и катастрофы 24.58 KB
  Техногенные системы и их воздействие на природу и человека Техногенные аварии и катастрофы Аварийные и катастрофические ситуации в техногенной сфере на потенциально опасных объектах можно объединить по следующим типам: режимные возникают при штатном функционировании потенциально опасных объектов последствия от них предсказуемые защищённость от них высокая; проектные возникают при выходе за пределы штатных режимов с предсказуемыми и приемлемыми последствиями защищённость от них достаточная; запроектные возникают при...
44841. Принципы обеспечения экологической безопасности 40 KB
  В Указе Президента РФ О концепции национальной безопасности Российской Федерации подчеркивается что к числу приоритетных направлений деятельности государства в экологической сфере относятся: рациональное использование природных ресурсов воспитание экологической культуры населения; предотвращение загрязнения природной среды за счет повышения степени безопасности технологий связанных с захоронением и утилизацией токсичных промышленных и бытовых отходов; предотвращение радиоактивного загрязнения окружающей среды минимизация...
44842. Экологические риски. Экологическое страхование 36.5 KB
  Категории риска: приемлемый риск уровень риска с которым общество в целом готово мириться ради получения определенных благ или выгод в результате своей деятельность. Экологический риск это возможность возникновения неблагоприятных экологических последствий вызванных опасными природными или антропогенными в том числе техногенными факторами факторами риска. Факторы экологического риска это природные и антропогенные воздействия которые способны вызвать нежелательные опасные изменения состояния окружающей среды и здоровья человека:...
44843. Оценка воздействия хозяйственной деятельности на окружающую среду 41 KB
  Оценка воздействия на окружающую среду предназначена для выявления характера интенсивности и степени опасности влияния любого вида планируемой хозяйственной деятельности на состояние окружающей среды и здоровье населения. В процедуре ОВОС участвуют заказчик исполнитель работ по оценке воздействия и общественность. Исполнитель физ или юр лицо осуществляющее проведение оценки воздействия на окружающую среду которому заказчик предоставил право на проведение работ по оценке воздействия на ОС.
44844. Охраняемые природные территории 38 KB
  Общая площадь ООПТ федго и регго значения состт свыше 56 млн. ООПТ регго значения зант площадь равную 3 млн. га 536 от площади ООПТ в нашем регионе.В РФ создано более 13 тысяч ООПТ федго регго и месго значения.
44845. Характерные особенности метода и методики экономического анализа. Классификация методов и приемов экономического анализа 41 KB
  Характерные особенности метода и методики экономического анализа. Классификация методов и приемов экономического анализа Метод это способ подхода к изучению познанию и преобразованию реальной действительности. Методология это учение о принципах построения и формах научного познания. Методология ЭА более общее чем метод понятие; вбирающее в себя помимо метода знание о формировании экономических явлений их структурных связях и путях дальнейшего развития.
44847. Оболочка bash 39.55 KB
  Если в командной строке стоит commnd1 commnd2 то commnd2 выполняется в том и только в том случае если статус выхода из команды commnd1 равен нулю что говорит об успешном ее завершении. Аналогично если командная строка имеет вид commnd1 commnd2 то команда commnd2 выполняется тогда и только тогда когда статус выхода из команды commnd1 отличен от нуля. Итак первый этап поиск кода команды. Команды бывают встроенные те код которых включен в код самой оболочки и внешние код которых расположен в отдельном файле на диске.