65835

ПРИНЦИПЫ РАЗРАБОТКИ ОПЕРАЦИОННЫХ СИСТЕМ

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

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

Цель работы изучение основ разработки ОС принципов низкоуровневого взаимодействия с аппаратным обеспечением программирования системной функциональности и процесса загрузки системы. Результаты работы Таким образом ядро системы может оставаться нетронутым злоумышленником во время работы.

Русский

2014-08-09

20.63 KB

1 чел.

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

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

—————————

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

ОТЧЕТ

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

«ПРИНЦИПЫ РАЗРАБОТКИ ОПЕРАЦИОННЫХ СИСТЕМ»

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

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

Никитин А. С.

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

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

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

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

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

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

http://www.cs.cmu.edu/~ralf/files.html
http://www.codenet.ru/progr/asm/boot-loader.php
http://www.codenet.ru/progr/os/
http://www.xakep.ru/post/28794/

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

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

1. Описание процесса загрузки ОС.

В основном загрузочном секторе находится первичный загрузчик, выполняющий функцию поиска вторичного на дискете с файловой системой FAT12. Вторичный загрузчик загружается в память по адресу 9000h:0000h, затем туда передаётся управление. При возникновении ошибок загрузка останавливается.

Вторичный загрузчик предоставляет выбор из двух систем — установленной на жёстком диске компьютера и собственной, находящейся на дискете. При загрузке системы с жёсткого диска, загрузчик повторяет действия BIOS, то есть загружает первый сектор диска по адресу 0000h:7C00h и передаёт туда управление, что приводит к корректной загрузке ОС. Своя операционная система представлена одним бинарным файлом, также находящимся в корневом каталоге дискеты. Его загрузка не отличается от загрузки вторичного загрузчика первичным.

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

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

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

1. Каким образом осуществляется защита кода в архитектуре IA-32? Оцените, насколько такие меры способны защитить код от повреждения злоумышленником.

Защита кода осуществляется с помощью уровней привилегий. Самый привилегированный уровень — нулевой — обычно имеет только код ядра. Таким образом, ядро системы может оставаться нетронутым злоумышленником во время работы. Пользовательские программы обычно имеют уровень привилегий 3, что означает наименьшие привилегии. Однако, так как программы сталкиваются с необходимостью использовать системные вызовы для выполнения многих своих задач, например, для работы с файловой системой, то они фактически некоторое время выполняют код с уровнем привилегий 0. Несмотря на то, что этот код ограничивается только строго определённым набором функций, они могут быть уязвимы, и определённые параметры таких функций могут приводить к возможности повреждения ядра и даже выполнения произвольного кода на уровне супервизора.

2. Каким образом осуществляется взаимодействие ОС с дисковыми накопителями в процессе загрузки?

Во время загрузки ОС может использовать функции BIOS, представляющие базовые функции по работе с оборудованием, в том числе и с накопителями. Прерывание, находящееся по вектору 13h, содержит набор функций для определения дисковых устройств, их сброса, посекторного чтения и записи данных.

3. Какие схожие процедуры выполняются в процессе загрузки ОС Linux и Windows?

В определённый момент загрузки и Linux, и Windows, происходит запуск отдельного программного модуля, который отвечает за определение и настройку базового набора оборудования, а также за определение прочих параметров компьютера.

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

4. Какова роль BIOS в функционировании ОС?

В первую очередь BIOS загружает загрузчик системы в соответствии с указанным порядком загрузки. Также BIOS предоставляет множество базовых необходимых служб, связанных с работой с аппаратным обеспечением компьютера, избавляя разработчиков ОС от необходимости иметь драйвера устройств в загрузчиках.

5. Какова последовательность действий при возникновении прерывания? Чем она отличается от процедуры обработки исключений?

При возникновении прерывания процессор по известному вектору прерывания находит адрес обработчика в таблице дескрипторов. При вызове обработчика в стеке сохраняется регистр флагов и адрес возврата. Также в зависимости от типа обработчика прерывания может произойти запрет маскируемых прерываний до завершения обработчика, или не произойти. Возврат происходит по сохранённому адресу, также восстанавливается регистр флагов.

Обработчики исключений после вызова имеют в стеке несколько отличающиеся значения адреса возврата. Имеется три типа исключений, отличающихся критичностью. После fault можно продолжить работу, адрес возврата указывает на следующую после вызвавшей ошибку команду. При исключении типа trap необходимо вмешательство в ситуацию, адрес возврата указывает на вызвавшую исключение команду. После обработки ситуации можно предпринять попытку продолжения работы. Исключение типа abort указывает на невозможность продолжения работы, обработчик может что-то предпринять, но в итоге система должна прекратить выполнение.

4. Выводы

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

Безопасность системы обеспечивается защищённым режимом работы процессора. Однако требуется надёжность кода и адекватная архитектура системы для полного обеспечения безопасности.


Приложение

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


 

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

44058. Проектування дорожнього СТО-А 370 KB
  Автомобілі на станції технічного обслуговування СТО приймаються відповідно до встановлених правил. Значний ріст парку легкових автомобілів що належать населенню в Україні вимагає збільшення проектування дорожніх СТОА. Виробничотехнічну базу системи технічного обслуговування автомобілів в основному складають підприємства структурні одиниці трьох видів: СТОА у тому числі майстерні і пункти ТО і ремонту; бази і склади матеріальнотехнічного постачання; гаражі і стоянки автомобілів. Сучасні СТОА здійснюють: продаж і...
44059. Разработка бизнес-плана по производству кондитерских изделий ООО «Бансес» 251.5 KB
  Важнейшей задачей разработки бизнеспланов является проблема привлечения и обоснования инвестиций и кредитов в том числе зарубежных необходимых для осуществления проектов технического перевооружения и реконструкции предприятий. – 1337580 руб. – 5788080 руб. Общая стоимость проекта по производству кондитерских изделий 936671 руб.
44060. Психологізм творчості Михайла Коцюбинського 475 KB
  Зображення процесів внутрішнього життя героїв у дитячих оповіданнях письменника За об’єкт дослідження обрано дитячу та малу прозу Михайла Коцюбинського Цвіт яблуні Сон Що записано в книгу життя В дорозі Дорогою ціною Дебют Лялечка Ft morgn Харитя Ялинка Маленький грішник Intermezzo як найпоказовішу з погляду психологічного зображення зрілості авторської концепції. Із метою ширшого обґрунтування останньої комплексного розгляду художнього психологізму залучено інформацію про особисте життя...
44061. Расчет преобразовательного агрегата 2.27 MB
  Совместно с американскими специалистами были проанализированы достоинства и недостатки электроэнергетики России и США. Специалисты отрасли умели управлять ЕЭС и знали как её оптимально приспособить к рынку.
44062. Податковий контроль 290 KB
  Визначення поняття методика податкового контролю Податковий контроль властивий будь якій державі. Податковий контроль як один із елементів державного регулювання особливо в умовах нестабільної економічної ситуації має стати об’єктивною передумовою подальшого розвитку підприємств сприяти удосконаленню податкового механізму через вияв економіко організаційного механізму оподаткування. У здійсненні податкового процесу чільне місце посідає саме контроль за формуванням і практичною реалізацією системи оподаткування в...
44063. Вплив соціально-психологічних факторів на мотивації поведінки неформальної молоді 588.5 KB
  В даній роботі виконано завдання щодо виявлення на основі тестування впливу соціальнопсихологічних факторів на мотивації поведінки неформальної молоді. Об’єкт дослідження – поведінка неформальної молоді Предмет дослідження – вплив соціально-психологічних факторів на мотивації поведінки неформальної молоді Мета дослідження – виявити соціальнопсихологічні фактори що впливають на мотивацію поведінки неформ молоді Завдання дослідження: аналіз сучасних досліджень впливу соцпсихол фактор на мотивац повед неформальн молодівизначення...
44064. Конкурентоспособность торговой организации ООО «Первая компьютерная компания» 727 KB
  Организационно-экономическая характеристика предприятия Оценка конкурентоспособности предприятия Предмет исследования – конкурентоспособность торгового предприятия. Исходя из поставленных целей можно сформировать следующие задачи: исследование теоретических и методологических основ оценки конкурентоспособности фирмы; обоснование комплексного подхода к обеспечению конкурентоспособности товара; анализ деятельности сети магазинов Первая компьютерная компания; разработка мероприятий по повышению...
44065. АНАЛИЗ БУХГАЛТЕРСКОЙ ОТЧЕТНОСТИ И ФИНАНСОВЫХ РЕЗУЛЬТАТОВ ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТИ 629 KB
  Анализ финансовых результатов деятельности предприятия Оценка имущественного положения предприятия Оценка ликвидности и платежеспособности вероятности банкротства предприятия Анализ деловой активности и рентабельности предприятия ООО Компания Альянс.
44066. Реалізація засобів моделювання обєкту для MMOPRG засобами Javascript 4.04 MB
  JavaScript - об'єктно-орієнтована скрипкова мова програмування. Являється діалектом мови ECMAScript. JavaScript частіше за все використовується в браузерах як мова сценаріїв для надання інтерактивності веб сторінкам. Тобто за допомогою JavaScript можливо міняти сторінку після того як вона повністю завантажилась у браузер.