Проектирование операционной системы

Разработка операционной системы, обеспечивающей управление системными ресурсами и прикладными программами. Поддержка однопользовательского режима. Типы ОС. Организация оперативной памяти с переменными разделами и семафорами. Файловая система NTFS.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.05.2014
Размер файла 589,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают ОС.

Операционная система - это программа, которая запускается срезу. Среди всех системных программ, с которыми производится иметь дело пользователям компьютеров, особое место занимают ОС.

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

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

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

Актуальность исследования ОС обусловлена потребностью улучшения ОС для повышения качества работы пользователя с ЭВМ, делая её более простой и освобождая его от обязанностей распределять ресурс и управлять ими.

1. Постановка задачи

1.1 Общая постановка задачи

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

Так, основной целью проектирования является разработка архитектуры, которая бы эффективно реализовывала механизмы управления ресурсами и процессами.

При разработке необходимо опираться на следующие требования:

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

2) алгоритмы управления ресурсами являются однозадачными и однопользовательскими;

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

3) Особенностью областей использования является реализация систем разделения времени и системы реального времени. Системы реального времени применимы для управления техническими объектами. При этом существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, которая осуществляет управлением объектом, иначе произойдет авария. Итак, эффективность систем реального времени определяется способностью выдерживать заданные интервалы времени между запуском программы и получением результатов. Реактивность системы можно определить как время реакции системы.

4) Организация оперативной памяти осуществляется без использования внешней памяти с переменными разделами

5) Средствами взаимодействия процессов являются семафоры.

6) Управление процессами осуществляется посредством квантования времени.

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

7) Файловая система организована в NTFS (Windows NT)

1.2 Цель создания курсового проекта

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

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

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

Итак, управление ресурсами машины состоит в решении двух задач а именно:

планировании ресурса, т.е. определении порядка разделения и распределения ресурса

и отслеживании состояния ресурса - т.е. составлении оперативной информации о количестве распределенного и свободного ресурса.

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

Таким образом, необходимо разработать ПО которое бы реализовывало основные функции, такие как:

-предоставление стандартизованного доступа к периферийным устройствам ввода-вывода

-загрузка приложений в оперативную память и их выполнение

-управление доступом к данным на энергонезависимых носителях

-пользовательский интерфейс

-сетевые операции поддержки стека протоколов

1.3 Актуальность разработки и область применения

Актуальность разработки обусловлена необходимостью и востребованностью новых операционных систем, которые бы решали основные задачи, поставленные пользователем.

Проблема поиска и разработки ОС является одним из ключевых приоритетов разработок в настоящее время.

операционный память программа файловый

2. Теоретические сведения

2.1 Анализ требований к системе

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

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

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

Вторым важным аспектов при построении ОС является объектно-ориентированный подход, который дает широкие возможности на уровне приложений, а именно:

-адаптация решений в виде стандартных объектов,

-возможность сохранения новых объектов на базе уже существующих при помощи механизма наследования,

-реализация защиты данных от несанкционированного использования при помощи инкапсуляции,

-структурированность системы, которая включает хорошо определенные объекты.

Одним из важнейших требований является требование к структуре микропроцессора. Процессор является основным устройством ЭВМ, который объединяет АЛУ и УУ. Процессор предназначен для выполнения вычислений по программе, которая хранится в устройстве и обеспечивает общее управление ЭВМ. Скорость работы процессора непосредственно связана с быстродействием ЭВМ.

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

Кроме того, разрядность регистров шины должны быть достаточными для хранения соответствующих данных, номеров регистров адресов и других частей команд

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

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

Согласно требованиям полноты микропроцессор должен включать следующие устройства:

-адресную шину;

-регистр команд (IR);

-шину данных;

-дешифратор команд;

-блок управления и синхронизации (БУС);

-программный счетчик (РС);

-аккумуляторы и регистры.

-аппаратная поддержка указанного способа организации ОП;

-аппаратная поддержка средств защиты

Обязательными требованиями к элементам архитектуры являются:

-обеспечение асинхронного режима работы ВУ;

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

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

2.2 Аппаратная платформа. Алгоритмы управления ресурсами

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

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

однозадачные (например, MS-DOS, MSX) и многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

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

Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на: однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);многопользовательские (UNIX, Windows NT).

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

2.2.1 Однозадачное управление ресурсами

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

ОС MS-DOS является однопользовательской однозадачной ОС с текстовым (командным) интерфейсом. В такой ОС в каждый момент времени работает 1 пользователь, который может одновременно запустить 1 программу, и общается с ОС, набирая текстовые команды. ОС Windows-95 является однопользовательской многозадачной ОС с многооконным графическим интерфейсом.

2.2.2 Поддержка однопользовательского режима

Однопользовательский режим -- режим использования информационной системы, когда все её ресурсы выделены только одному пользователю.

Следует различать системы предназначенные для работы исключительно в однопользовательском режиме (например, СУБД dBase) и многопользовательские системы, работающие в специальном однопользовательском режиме (например, ОС UNIX). Такой режим часто используют для технического обслуживания. Так UNIX-подобные операционные системы обеспечивают однопользовательский режим через механизм runlevel. Значение runlevel обычно изменяется командой init. При runlevel равном 1 или S операционная система загружается в однопользовательском режиме.

2.3 Тип доступа

2.3.1 Системы разделения времени

Операционные системы разделения времени позволяют реализовать возможность повышения производительности труда пользователя за счет его доступа к своей задаче в процессе ее выполнения и повышения производительности ВС за счет мультипрограммирования. Режим разделения времени создает иллюзию одновременного доступа нескольких пользователей ко всем вычислительным ресурсам ВС. Каждый пользователь общается с системой так, как если бы ему одному принадлежали все вычислительные ресурсы: он может остановить выполнение своей задачи в нужном месте, просмотреть требуемые области RAM, с заданного места выполнить свою программу по командам и т.д. На самом же деле каждый пользователь получает для своей задачи достаточную зону RAM, процессор и прочие вычислительные ресурсы только в течение определенного и достаточно малого интервала времени, как уже говорилось выше - кванта.

Пропускная способность ВС в режиме разделения времени ниже, чем при обработке задач в режиме мультипрограммирования, из-за накладных расходов ОС, вызванных частыми переключениями процессора и главным образом многочисленными переносами задач из RAM на жесткий диск и обратно, то есть свопингами. Во многих пользовательских системах режим разделения времени сочетается с пакетной обработкой задач в режиме мультипрограммирования. В этом случае RAM ЭВМ разделяется на зону для пакетной обработки и на зону (или несколько зон в зависимости от емкости RAM) для выполнения задач в режиме разделения времени. Такое сочетание позволяет загружать процессор даже в ситуациях, когда все пользователи режима разделения времени остановят выполнение своих задач. Такие системы используются при решении научно- технических задач. При этом главное назначение таких ОС - обеспечение более высокой эффективности использования всех вычислительных ресурсов ВС и достижение максимальных удобств в работе пользователя. Однако использование операционных систем общего назначения в условиях работы конкретного пользователя часто означает явную избыточность многих системных средств. В таких случаях применяют ОС специального назначения.

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

2.3.2 Системы реального времени

Операционная система реального времени, ОСРВ (real-time operating system, RTOS) -- тип операционной системы. Есть много определений термина, по сути похожих друг на друга; самые распространённые из них:

Операционная система, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое она получила этот результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе.

Стандарт POSIX 1003.1 даёт следующее определение: «Реальное время в операционных системах -- это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени».[2]

Операционная система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий. Интерактивные системы постоянной готовности. В категорию ОСРВ их относят исходя из маркетинговых соображений, и если интерактивную программу называют «работающей в реальном времени», то это лишь означает, что запросы от пользователя обрабатываются с задержкой, незаметной для человека.

Операционные системы реального времени иногда делят на два типа -- системы жесткого реального времени и системы мягкого реального времени.

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

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

Системы жёсткого реального времени не допускают задержек реакции системы, так как это может привести к:потере актуальности результатов;большим финансовым потерям; авариям и катастрофам.

Если не выполняется обработка критических ситуаций либо она происходит недостаточно быстро, система жёсткого реального времени прерывает операцию и блокирует её, чтобы не пострадала надёжность и готовность остальной части системы. Примерами систем жёсткого реального времени могут быть -- бортовые системы управления (на самолёте, космическом аппарате, корабле, и пр.), системы аварийной защиты, регистраторы аварийных событий[6].

Системы мягкого реального времени характеризуются возможностью задержки реакции, что может привести к увеличению стоимости результатов и снижению производительности системы в целом. Примером может служить работа компьютерной сети. Если система не успела обработать очередной принятый пакет, это приведет к остановке на передающей стороне и повторной посылке (в зависимости от протокола). Данные при этом не теряются, но производительность сети снижается.

Основное отличие систем жёсткого и мягкого реального времени можно охарактеризовать так: система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени -- не должна опаздывать с реакцией на событие.

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

Большинство программного обеспечения ориентировано на «мягкое» реальное время. Для подобных систем характерно:

гарантированное время реакции на внешние события (прерывания от оборудования);

жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться низкоприоритетными, за некоторыми исключениями);

повышенные требования к времени реакции на внешние события или реактивности (задержка вызова обработчика прерывания не более десятков микросекунд, задержка при переключении задач не более сотен микросекунд).

Классическим примером задачи, где требуется ОСРВ, является управление роботом, берущим деталь с ленты конвейера. Деталь движется, и робот имеет лишь маленький промежуток времени, когда он может её взять. Если он опоздает, то деталь уже не будет на нужном участке конвейера, и следовательно, работа не будет выполнена, несмотря на то, что робот находится в правильном месте. Если он подготовится раньше, то деталь ещё не успеет подъехать, и он заблокирует ей путь.

Рис. 1

Ядро ОСРВ обеспечивает функционирование промежуточного абстрактного уровня ОС, который скрывает от прикладного ПО специфику технического устройства процессора (нескольких процессоров) и связанного с ним аппаратного обеспечения.

Указанный абстрактный уровень предоставляет для прикладного ПО пять основных категорий сервисов:

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

Динамическое распределение памяти. Многие (но не все) ядра ОСРВ поддерживают эту группу сервисов. Она позволяет задачам заимствовать области оперативной памяти для временного использования в работе приложений. Часто эти области впоследствии переходят от задачи к задаче, и посредством этого осуществляется быстрая передача большого количества данных между ними. Некоторые очень малые по размеру ядра ОСРВ, которые предполагается использовать в аппаратных средах со строгим ограничением на объём используемой памяти, не поддерживают сервисы динамического распределения памяти.

Управление таймерами. Так как встроенные системы предъявляют жёсткие требования к временным рамкам выполнения задач, в состав ядра ОСРВ включается группа сервисов, обеспечивающих управление таймерами для отслеживания лимита времени, в течение которого должна выполняться задача. Эти сервисы измеряют и задают различные промежутки времени (от 1 мкс и выше), генерируют прерывания по истечении временных интервалов и создают разовые и циклические будильники.

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

Контроль устройства ввода-вывода. Сервисы этой группы обеспечивают работу единого программного интерфейса, взаимодействующего со всем множеством драйверов устройств, которые являются типичными для большинства встроенных систем.

В дополнение к сервисам ядра, многие ОСРВ предлагают линейки дополнительных компонентов для организации таких высокоуровневых понятий, как файловая система, сетевое взаимодействие, управление сетью, управление базой данных, графический пользовательский интерфейс и т. д. Хотя многие из этих компонентов намного больше и сложнее, чем само ядро ОСРВ, они, тем не менее, основываются на его сервисах. Каждый из таких компонентов включается во встроенную систему, только если её сервисы необходимы для выполнения встроенного приложения и только для того, чтоб свести расход памяти к минимуму.

Отличия от операционных систем общего назначения.

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

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

Диспетчер операционной системы

Большинство ОСРВ выполняет планирование задач, руководствуясь следующей схемой. Каждой задаче в приложении ставится в соответствие некоторый приоритет. Чем больше приоритет, тем выше должна быть реактивность задачи. Высокая реактивность достигается путём реализации подхода приоритетного вытесняющего планирования (preemptive priority scheduling), суть которого заключается в том, что планировщику разрешается останавливать выполнение любой задачи в произвольный момент времени, если установлено, что другая задача должна быть запущена незамедлительно.

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

Возможна ситуация, когда задача с низким приоритетом уже запущена, а планировщик получает сообщение, что другая задача с более высоким приоритетом готова к запуску. Причиной этому может послужить какое-либо внешнее воздействие (прерывание от оборудования), как, например, изменение состояния переключателя устройства, управляемого ОСРВ. В такой ситуации планировщик задач поведет себя согласно подходу приоритетного вытесняющего планирования следующим образом. Задаче с низким приоритетом будет позволено выполнить до конца текущую машинную команду (но не команду, описанную в исходнике программы языком высокого уровня), после чего выполнение задачи приостанавливается. Далее запускается задача с высоким приоритетом. После того, как она прорабатывает, планировщик запускает прерванную первую задачу с машинной команды, следующей за последней выполненной.

Каждый раз, когда планировщик задач получает сигнал о наступлении некоторого внешнего события (триггер), причина которого может быть как аппаратная, так и программная, он действует по следующему алгоритму:

Определяет, должна ли текущая выполняемая задача продолжать работать.

Устанавливает, какая задача должна запускаться следующей.

Сохраняет контекст остановленной задачи (чтобы она потом возобновила работу с места остановки).

Устанавливает контекст для следующей задачи.

Запускает эту задачу.

Эти пять шагов алгоритма также называются переключением задач.

Выполнение задачи

В обычных ОСРВ задача может находиться в 3-х возможных состояниях:

задача выполняется;

задача готова к выполнению;

задача заблокирована.

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

Основная функция администратора ОСРВ заключается в составлении такого планировщика задач.

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

Алгоритмы планирования

2.4 Организация оперативной памяти с переменными разделами и семафорами

В настоящее время для решения задачи эффективного планирования в ОСРВ наиболее интенсивно развиваются два подхода:

Статические алгоритмы планирования (RMS, Rate Monotonic Scheduling). Используют приоритетное вытесняющее планирование. Приоритет присваивается каждой задаче до того, как она начала выполняться. Преимущество отдается задачам с самыми короткими периодами выполнения.

Динамические алгоритмы планирования (EDF, Earliest Deadline First Scheduling). Приоритет задачам присваивается динамически, причем предпочтение отдается задачам с наиболее ранним предельным временем начала (завершения) выполнения.

При больших загрузках системы EDF более эффективен, нежели RMS.

Взаимодействие между задачами и разделение ресурсов

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

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

Выделение памяти

Следующим проблемам выделения памяти в ОСРВ уделяется больше внимания, нежели в операционных системах общего назначения.

Во-первых, скорости выделения памяти. Стандартная схема выделения памяти предусматривает сканирование списка неопределённой длины для нахождения свободной области памяти заданного размера, а это неприемлемо, так как в ОСРВ выделение памяти должно происходить за фиксированное время.

Во-вторых, память может стать фрагментированной в случае разделения свободных её участков уже запущенными процессами. Это может привести к остановке программы из-за её неспособности задействовать новый участок памяти. Алгоритм выделения памяти, постепенно увеличивающий фрагментированность памяти, может успешно работать на настольных системах, если те перезагружаются не реже одного раза в месяц, но является неприемлемым для встроенных систем, которые работают годами без перезагрузки.

Простой алгоритм с фиксированной длиной участков памяти очень хорошо работает в несложных встроенных системах.

Также этот алгоритм отлично функционирует и в настольных системах, особенно тогда, когда во время обработки участка памяти одним ядром следующий участок памяти обрабатывается другим ядром. Такие оптимизированные для настольных систем ОСРВ, как Unison Operating System или DSPnano RTOS, предоставляют указанную возможность.

Концепцию семафоров для синхронизации поведения процессов описал Дейкстра (Dijkstra) в 1965 году.

Семафор представляет собой целую переменную, принимающую неотрицательные значения. Процесс имеет доступ к семафору через две неделимые операции P (от датского слова proberen - проверять) и V (от verhogen - увеличивать). Исключение составляет момент инициализации. Ниже приведено описание этих операций:

P(S): пока S = 0 процесс блокируется;

S = S - 1;

V(S): S = S + 1;

Эта запись означает следующее: при выполнении операции P над семафором S сначала проверяется его значение. Если оно больше 0, то из S вычитается 1. Если оно меньше или равно 0, то процесс блокируется до тех пор, пока S не станет больше 0, после чего из S вычитается 1. При выполнении операции V над семафором S к его значению просто прибавляется 1. В момент создания семафор может быть инициализирован любым неотрицательным значением.

Переменные-семафоры применяются для организации взаимодействия процессов. В некоторых языках программирования они введены в синтаксис языка, в других случаях реализуются с помощью специальных системных вызовов. Во втором случае соответствующая целая переменная располагается внутри адресного пространства ядра операционной системы. Операционная система обеспечивает неделимость операций P и V. Для этого она может запретить прерывания на время выполнения соответствующих системных вызовов. Если при выполнении операции P заблокированными оказались несколько процессов, то порядок их разблокирования может быть произвольным, например, FIFO.

Описание архитектуры

Общая схема архитектуры вычислительной системы

Архитектура процессора

Регистры

Способы адресации

Система команд

Спецификации интерфейсов с ВУ

Система прерываний

Список прерываний

Аппаратные средства обеспечения защиты

По словам Таненбаума современные ОС имеют фундаментальный недостаток- это отсутствие модульность, что связано с тем, что хотя бы одна ошибка в миллионе строк кода, написанного на С и С++ может привести к ошибке. Таким образом, обеспечить корректность всего кода невозможно поскольку большую часть объема ОС составляют драйверы устройств, которые написаны сторонними разработчиками.

По мнение Таненбаума архитектура, которая основывается на совокупности пользовательских процессов с высокой степенью инкапсуляции в будущем приведет к созданию более надежных операционных систем.

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

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

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

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

Во многих операционных системах вся информация каждого процесса хранится в таблице процессов ОС, которая представляет собой массив структур.

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

Главными системными вызовами являются те, которые связаны с созданием и завершением процессов.

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

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

Файловая система NTFS

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

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

При предоставлении места для хранения файлов, ОС использует так называемые каталоги, которые объединяют файлы в группы.

Содержимое каталогов могут составлять файлы или каталоги, эта модель образа.

Аппаратные средства обеспечения защиты

ОС необходимо разработать таким образом, чтобы каждому файлу и каталогу присваивать двоичный код защиты, который включает три 3-разрядных поля : одно- для владельца, одно - для прочих членов группы владельца ( разбиение пользователей на группы осуществляется системным администратором) и одно - для всех остальных пользователей.

Важным понятием ОС является монтированная файловая система. Поскольку практически все персональные компьютеры имеют один или несколько дисководов для компакт-дисков, куда можно вставить и откуда можно вынуть диск, то необходимо предоставить возможность общения со сменными носителями такими как CD DVD - диски ZIP-диски. Целесообразно разработать возможность присоединения файловой системы сменного диска к главному дереву.

По примеру системы MINIX 3 которая не позволяет присоединять к началу пути название диска или его номере, поскольку это может привести к жесткой зависимости от устройства. Системный вызов nount позволяет присоединять файловую систему на гибком диске к корневой файловой системе, где этого захочет программа. Если система содержит несколько жестких дисков они все могут быть встроены в одно дерево таким же образом.

При разработке ОС необходимо также воспользоваться понятие специального файла, который служит для того чтобы устройства ввода-вывода выглядели как файлы. При этом можно прочесть информацию из специальных файлов или записать ее туда с помощью тех же самых системных вызовов что используются для чтения и записи файлов Так, существует два вида специальных файлов: а именно блочные специальные файлы и символьные специальные файлы. Блочные специальные файлы используются для моделирования устройств которые состоят из набора произвольно адресуемых блоков, таких как дискам.

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

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

Канал - является еще одним псевдофайлов который можно использовать для связывания двух процессов. Если процессы Аи В захотят пообщаться с помощью канал, то связь должна быть установлена заранее.

3. Проектирование операционной системы: сущность, цели и этапы

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

Достаточным ориентиром для самостоятельного изучения темы и раскрытия содержания обобщенного критерия оптимального проектирования операционных систем предложенные учебники: [53], [52], | 5], [54]

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

Эффект операционной системы - это степень достижения поставленных перед системой целей, в качестве которых может выступать множество необходимых свойств [54]

Элементы множества Р5, приведены к виду, предполагает количественную оценки образуют множество локальных критериев оценки эффекта системы

Для одной конкретно проектируемой операционной системы группы ее свойств взаимосвязаны и изменяются согласованно Получается, в общем случае исследуемые группы свойств могут бут ты оценены одним синтетическим критерием Известно, что операционную систему с заданными свойствами можно построить лишь только на множествах элементов Л / и связей между ними /ми /?.

А чтобы достичь необходимых и желаемых свойств, в операционную систему следует вложить некоторый \"объем\" разнородных ресурсов (материальных, трудовых и тд) необходимых для реализации элементов и связей между же ими [54іж ними [54).

Таким образом, можно предположить, что на абстрактном уровне существуют некоторые обобщенные оценки эффекта операционной системы Еи расходов ресурс и в (их стоимости) В [54]

где Фе Фй - операторы, идентификация которых составляет суть проблемы многокритериального оценивания Определив обобщенные оценки Е и ^ операционной системы, можно думать, что ее эффект в общем случае есть функция не изменяет ее стоимости.

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

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

Рис. 1

Следует обратить внимание на то, что если операционная система строится на условиях достаточности ресурсов, поэтому теоретически можно прогнозировать возможность неограниченного роста эффекта Однако перед операционным менеджер ром в любом случае будет возникать задача оптимизации эффективности так называемых научно-технических (естественно, отраслевых) решений по критерию \"эффект - стоимость".

В большинстве случаев операционным менеджерам при проектировании систем целесообразно пользоваться критериями вида:

Стратегия развития определенного класса систем позволяет определить операционной менеджеру решения оптимизационной задачи проектирования операционной системы по вышеуказанным критериям, в частности, обосновать экономически целесообразный уровень эффекта системы Е определить оценку рациональности уровня затрат В [54.

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

Необходимо отметить, что за базовые избраны: теорию ключевых конкурентных преимуществ, подход "качество", логистическую и социотехнических концепции Материал отношении положений теории ключевых конкурентных преимуществ студент уже частично овладел изучая "Маркетинг" и "Стратегическое управление ot; Стратегічне управління".

Краткое изложение подхода "качество" освещается в базовом учебнике Чейза Р, Зквилайна Н, Якобса Р [54, с 187) логистическая концепция студент может обработать используя учебник Кальченко А Г \"Основы логистики \"Относительно содержания социотехнических системах студентам необходимо восстановить в памяти имеющиеся знания при изучении предыдущих тем и обратиться к учебнику Виханского ОС Наумова А.И. менеджменте: человек, стратегия, организация, стратегия, организация, процесс".

Рис 2 Основные подходы к построению операционных систем

Функциональный подход - это подход, который построен на основе выделения и формализованного описания последовательных или параллельных функций, необходимых для получения искомого результата

Рис 3

Чаще всего функциональный подход используют как первичную или даже временную конструкцию операционной системы, а также как наиболее доступный и соответственно надежный Нередко у менеджера отсутствует и необходимая информация о развернутых требованиях к конечному результату, особенно, если речь идет о новом бизнесе В этом случае следует строить операционные системы в прямой последовательности от предыдущих и во подготовительных функций в результирующих [544].

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

Функциональный подход позволяет в наглядной форме реализовать методику \"вход - выход\" и занимает особое место в других подходах, потому, что на его основе могут формироваться, адекватные и адаптивные операционные системны.

Следующим элементом построения операционной системы является отраслевой подход

Отраслевой подход - это подход при котором операционные системы строятся на основании максимального учета отраслевой специфики деятельности

Стоит заметить, что главным критерием построения отраслевой операционной системы является критерий управляемости основной технологии Этот подход более рискованный, так как он существенно повышает потенциальные потери е ид ошибочных решений, но в то же время он позволяет существенно повысить эффективность управления операциями Наглядным примером отраслевого подхода могут служить операционные методы управления в отраслях с производственным процессом на машиностроительных предприятиях [544].

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

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

Организационный подход - это управление операциями, основанный на информационных критериям эффективного управления

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

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

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

Данном вопросе также раскрывается понятие \"структурирования операционных систем" Важно заметить, что в основе построения операционных систем лежит принцип выделения основного звена (технологии)

Технология это принятый для данного бизнеса метод преобразования ресурсов операционной системы, в процессе которого создается товар или услуга для потребителя

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

В основе иерархического строения операционных систем является базовая технология Наилучшим этот принцип реализует функциональный подход Основа построения операционной системы - вертикаль. Эта технологическая иерархия в управлениями операциям должна обязательно отражаться в иерархии ответственности, должностей, обязанностей и технологий.

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

Размещено на Allbest.ru

...

Подобные документы

  • Особенности и принцип действия файловой системы NTFS - одной из самых сложных и удачных из существующих на данный момент файловых систем. Функции файловой системы NTFS: разреженные файлы, журнал изменений, компрессия файлов и каталогов, жесткие связи.

    реферат [17,4 K], добавлен 24.12.2010

  • Общее понятие о файловых системах, их классификация типы, функциональные особенности и условия применения. Методика и этапы установки операционной системы Windows 2000 на виртуальную машину. Форматирование запоминающих устройств в файловую систему NTFS.

    курсовая работа [37,8 K], добавлен 09.07.2015

  • Файловая система как "пространство", в котором размещаются файлы. Типы файлов, их логическая организация. Файловая система FAT32: структура и кластеры. Структура файловой системы NTFS, ее каталоги. Сравнительная характеристика систем FAT32 и NTFS.

    статья [436,0 K], добавлен 14.05.2010

  • Улучшение параметров модулей памяти. Функционирование и взаимодействие операционной системы с оперативной памятью. Анализ основных типов, параметров оперативной памяти. Программная часть с обработкой выполнения команд и размещением в оперативной памяти.

    курсовая работа [99,5 K], добавлен 02.12.2009

  • Операционная система в роли связующего звена между аппаратурой компьютера и выполняемыми программами. Управление процессами операционной системы. Операционная система Windows. Различные виды Windows для определенных задач пользователей, их отличия.

    реферат [28,5 K], добавлен 23.01.2012

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

    реферат [35,0 K], добавлен 30.04.2010

  • Распространенные файловые системы. Обзор файловой системы FAT. Имена файлов в FAT. Файловая система FAT 32. Файловая система HPFS: суперблок, запасной блок, преимущества и недостатки. Файловая система NTFS. Устранение ограничения. Сравнение систем.

    реферат [31,5 K], добавлен 27.10.2007

  • Файловая система NTFS, информация о файлах и каталогах тома. Основная файловая таблица MTF, файлы метаданных NTFS (журнал, файл тома, загрузочный файл). Форматирование высокого уровня. Интерфейсы АТАРI и SCSI. Параметры параллельной шины ввода-вывода.

    презентация [34,4 K], добавлен 27.08.2013

  • Основы работы с многооконным графическим пользовательским интерфейсом операционной системы Windows95/NT. Основы работы с прикладными программами Windows и DOS. Разработка простого приложения для Windows при помощи средства разработки приложений DELPHI.

    контрольная работа [281,0 K], добавлен 15.01.2009

  • Изучение механизма работы программных инструментов как трудная часть отладочного процесса. Отладчики пользовательского режима, их основные типы. Автоматический запуск приложений в отладчике. Быстрые клавиши прерываний. Отладка ядра операционной системы.

    реферат [260,0 K], добавлен 25.11.2016

  • Основное назначение файловой системы как эффективное решение задачи. История создания и общая характеристика файловой системы FAT. Характеристика файловых систем FAT16 и FAT32 и их сравнение. Альтернативная файловая система NTFS и её сравнение с FAT32.

    реферат [27,2 K], добавлен 01.12.2014

  • Виртуальная файловая система. Файловая система Ext2fs (Linux ext2 File System). Использование операционной системы Linux. Настройка веб-сервера Apache. Управление Web-сервером. Комплекс системных программных средств, реализующих управление файлами.

    курсовая работа [167,4 K], добавлен 25.12.2013

  • Общее понятие термина "файл". Имя файла и его расширение. Типы и параметры файлов, их значение. Понятие "файловая система" и "файловая структура диска". Построение дерева каталогов. Особенности имени файла в операционной системе MS-DOS и Windows.

    презентация [2,7 M], добавлен 18.10.2010

  • Что такое операционная система, ее главные функции и классификация. Характеристика операционной системы MS-DOS4, организация данных. Особенности основных операций и команд системы, отработка практических навыков использования команд для работы на ПК.

    контрольная работа [13,0 K], добавлен 04.03.2011

  • Основные возможности файловой системы NTFS. Введение механизма транзакции. Модель распределения дискового пространства. Объектная модель безопасности NT. Количество файлов в корневом и некорневом каталогах. Структура и атрибуты файла в системе NTFS.

    реферат [19,8 K], добавлен 23.10.2011

  • Распределение оперативной памяти фиксированными, динамическими и перемещаемыми разделами. Распределение с использованием внешней памяти. Принципы рaботы матричного принтера. Проектирование символов и разработка программы, реализующей их вывод на печать.

    курсовая работа [241,3 K], добавлен 01.07.2011

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

    лабораторная работа [156,1 K], добавлен 23.10.2013

  • Управление памятью в операционной системе Linux. Физическая и виртуальная память. Исполнение и загрузка пользовательских программ, файловая система. Передача данных между процессами. Структура сети в операционной системе. Развитие и использование Linux.

    презентация [1,4 M], добавлен 24.01.2014

  • Определение файловой системы. Виртуальные и сетевые файловые системы. Структура и версии системы FAT. Определение максимального размера кластера. Драйверы файловой системы, файлы и каталоги. Способы доступа к файлам, находящимся на удаленном компьютере.

    доклад [29,2 K], добавлен 11.12.2010

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

    презентация [705,2 K], добавлен 16.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.