Министерство образования Республики Беларусь
Учреждение образования
БелорусскиЙ государственный университет
информатики и радиоэлектроники
Факультет компьютерных систем и сетей
Кафедра информатики
Пояснительная записка
к курсовому проекту
на тему
ВВЕДЕНИЕ
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными(встроенными) микропрограммами — с одной стороны — и прикладными программами с другой. Разработчикам программного обеспечения операционных систем позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций. В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS) [5].
Операционная система, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения [5].
Основные функции:
1. Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
2. Загрузка программ в оперативную память и их выполнение.
3. Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
4. Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
5. Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
6. Обеспечение пользовательского интерфейса.
7. Параллельное или псевдопараллельное выполнение задач (многозадачность).
8. Разграничение доступа различных процессов к ресурсам.
9. Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
Классификация
По количеству одновременных пользователей:
Однопользовательские- один пользователь во все время работы ОС
Многопользовательские- переключение между пользователями
По выполнению задач
Однозадачные- следующую задачу можно выполнить, лишь полностью остатовив предыдущую
Многозадачные- задачи выполняются попеременно или одновременно, каждой задаче выделяется квант времени процессора, и каждый процессор выполняет отдельную задачу.
По структуре ядра:
1. С монолитным ядром
2. С модульным ядром
3. С экзоядром
4. Гибридные
ОСРВ (операционные системы реального времени) применяются там, где требуется синхронизация между внешними физическими процессами и программами в ОС. ОСРВ может гарантировать завершение определенных внутренних операций за конкретное время.
Распределенные ОС:
РОС управляют несколькими компьютерами одновременно (обычно связанными сетью) так, что они выглядят как одна единая система.
Встраиваемые ОС:
Предназначены для использования во встраиваемых системах, таких как бортовые компьютеры автомобилей, бытовая техника, мобильные устройства. Оперируют очень ограниченными ресурсами и имеют компактный дизайн.
POSIX (Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем. Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.
Стандарт состоит из четырёх основных разделов:
Основные определения (Base definitions) — список основных определений и соглашений, используемых в спецификациях, и список заголовочных файлов языка Си, которые должны быть предоставлены соответствующей стандарту системой.
Оболочка и утилиты (Shell and utilities) — описание утилит и командной оболочки sh, стандарты регулярных выражений.
Системные интерфейсы (System interfaces) — список системных вызовов языка Си.
Обоснование (Rationale) — объяснение принципов, используемых в стандарте [2].
ОБЗОР СУЩЕСТУЮЩИХ АНАЛОГОВ
Linux
Рисунок 1 – интерфейс ОС Linux
Плюсы:
- Бесплатная
- Огромный выбор приложений
- Богатые возможности системного программирования
- Хорошо спроектированная структура
Минусы:
- Относительно большой размер базовой установленной системы
QNX
Рисунок 2 – интерфейс ОС QNX
Плюсы:
- ОС реального времени
- Микроядро
- Высокая скорость работы
Минусы:
- Платная для коммерческого использования
Windows CE
Рисунок 3 – интерфейс ОС Windows CE
Плюсы:
- Поддержка реального времени
- Низкое потребление памяти (работает на 32 кб RAM)
- Доступ к Win32 API при программировании
Минусы:
- Платная
ПОСТАНОВКА ЗАДАЧИ
Требуется разработать 64-битную операционную систему (OC) с поддержкой подмножества стандарта POSIX.1-2004 (IEEE Std 1003.1).
ОС должна выполняться на PC с архитектурой х86-64, дисковыми накопителями PATA и VESA-совместимыми графическими адаптерами с поддержкой VESA BIOS Extensions (VBE) – на виртуальных машины Bochs и VirtualBox.
Со стороны разработчика ПО
1. Возможность разработки и сборки ПО для разрабатываемой ОС при помощи GNU GCC, и GNU Binutils; должна быть предоставлена стандартная библиотека С, реализующая требуемое подмножество системных функций POSIX.1.
2. Возможность запуска скомпилированного ПО в формате ELF64 на разрабатываемой ОС.
Со стороны пользователя
ОС должна предоставлять пользовательский интерфейс в виде POSIX XCU совместимой командной оболочки текстового режима.
Комплект поставки
ОС должна включать в себя оболочку командной строки и набор утилит, аналогичных GNU Coreutils, совместимых со стандартном IEEE 1003.1 XCU.
ПРОЕКТИРОВАНИЕ
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
Расширенное техническое задание
Конечный продукт: 64-битная операционная система (OC) с поддержкой подмножества стандарта POSIX.1-2004 (IEEE Std 1003.1).
Предполагаемые среды выполнения: PC с архитектурой х86-64, дисковыми накопителями PATA и VESA-совместимыми графическими адаптерами с поддержкой VESA BIOS Extensions (VBE) – виртуальные машины Bochs и VirtualBox.
ПРИЛОЖЕНИЕ В