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

Осуществляет упорядоченное и контролируемое распределение процессорного времени, памяти и др. между программами

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

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

Многопроцессорные ОС

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

ОС для персональных компьютеров

Следующую категорию составляют ОС для ПК . Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются для работы с текстом, электронными таблицами и доступа к Интернету. Наиболее яркие примеры – это Windows 98, Windows 2000, Windows XP, Windows Vista, ос компьютера Macintosh и Linux. Эти ОС очень хорошо известны, и множество людей даже не имеет понятия о существовании других видов ОС , кроме той, которой они пользуются.


ОС реального времени

Еще один вид ОС – это системы реального времени. Главным параметром таких систем является время. Например, в системах управления производством компьютеры, работающие в режиме реального времени, собирают данные о промышленном процессе и используют их для управления машинами на фабрике. Часто такие процессы должны удовлетворять жестким временным требованиям. Так, если автомобиль передвигается по конвейеру, то каждое действие должно быть осуществлено в строго определенный момент времени. Если некоторое действие должно произойти в конкретный момент времени (или внутри заданного диапазона времени), мы имеем дело с жесткой системой реального времени. Существует и другой вид: гибкая система реального времени, в которой допустимы случающиеся время от времени пропуски сроков выполнения операции. В эту категорию попадают цифровое аудио мультимедийные системы. Системы VxWorks и QNX являются хорошо известными ОС реального времени.

Встроенные ОС

Продолжая двигаться от огромных систем ко все меньшим, мы добрались до «карманных» компьютеров и встроенных систем. Карманный компьютер (КПК) или PDA (Personal Digital Assistant – персональный цифровой помощник) – это маленький компьютер, помещающийся в кармане, выполняющий небольшой набор функций (телефонной записной книжки и блокнота). Встроенные системы, управляющие действиями устройств, работают на машинах, обычно не считающихся компьютерами, например, телевизорах, микроволновых печах и мобильных телефонах. Они часто обладают теми же самыми характеристиками, что и системы реального времени, но при этом имеют особый размер, память и ограничения мощности, что выделяет их в отдельный класс. Примерами таких ОС являются PalmOS и Windows CE (Consumer Electronics – бытовая техника).

ОС для смарт-карт

Самые маленькие ОС работают на смарт-картах, представляющих собой устройство размером с кредитную карту, содержащее центральный процессор. На такие ОС накладываются крайне жесткие ограничения по мощности процессора и памяти. Некоторые из них могут управлять только одной операцией, например электронным платежом, но другие ОС на тех же самых смарт-картах выполняют сложные функции. Зачастую они являются патентованными системами. Некоторые смарт-карты являются Java-ориентированными. Это означает, что ПЗУ смарт-карт содержит интерпретатор виртуальной машины Java (JVM, Java Virtual Machine). Апплеты Java (маленькие программы) загружаются на карту и выполняются JVM-интерпретатором. Некоторые из таких карт могут одновременно управлять несколькими апплетами Java, что приводит к многозадачности и необходимости планирования. Из-за одновременной работы двух и более программ возникает необходимость в управлении ресурсами и защитой. Соответственно, все эти задачи выполняет обычно крайне примитивная ОС , находящаяся на смарт-карте.

Использованые материалы:

Выполнила Борисова Альбина 10а

Кукушкин Дмитрий, ТМ-247

Исследование эволюции ОС

Скачать:

Предварительный просмотр:

Государственное бюджетное образовательное учреждение среднего профессионального образования «Арзамасский приборостроительный колледж имени П.И.Пландина»

ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА

Выполнил:

Кукушкин Д, студент

Группы ТМ-247

Исследование эволюции операционных систем

Научный руководитель:

Преподаватель Ракова Л.В.

Арзамас,

2014

ВВЕДЕНИЕ………………………………………………………………………......3

ГЛАВА I. Понятие операционной системы……………………………………….. 4

ГЛАВА II. Эволюция операционной системы……………………………………..5

§2.1.Первый период………………………………………………………………….5

§2.2.Второй период…………………………………………………………………..5

§2.3.Третий период…………………………………………………………………..6

§2.4.Четвертый период………………………………………………………………7

ГЛАВА III. Системные требования распространенных операционных систем…8

ГЛАВА IV. Анализ современных ОС…………………………………………….10

Выводы по главе IV………………………………………………………………...12

ЗАКЛЮЧЕНИЕ……………………………………………………………………..14

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ……………………………….15

ВВЕДЕНИЕ

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

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

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

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

Целью данной исследовательской работы является – описание и анализ эволюции операционных систем.

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

Рассмотреть исторический аспект появления операционных систем;

Выделить и рассмотреть этапы эволюции операционных систем.

В первой главе рассматриваются общие сведения об операционных системах.

Во второй главе рассматриваются периоды развития операционных систем.

В третьей главе рассматриваются системные требования распространенных операционных систем.

В четвертой главе дается анализ распространенных ОС.

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

ГЛАВА 1. Понятие операционной системы

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

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

  • Загрузка приложений в оперативную память и их выполнение;
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода);
  • Управление оперативной памятью (распределение между процессами, виртуальная память);
  • Управление доступом к данным на энергонезависимых носителях (таких как Жёсткий диск, Компакт-диск и т. д.), как правило, с помощью файловой системы;
  • Пользовательский интерфейс;
  • Сетевые операции, поддержка стека протоколов

Каждая ОС состоит как минимум из 3-х обязательных частей.

Первая – ядро, командный интерпретатор, «переводчик» с программного языка на «железный», язык машинных кодов.

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

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

Самые распространенные на сегодняшний день операционные системы – это все операционные системы компании Microsoft, Linux и Mac OS.

ГЛАВА II. Эволюция операционной системы

§2 .1 Первый период (1945 -1955)

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

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

§ 2.4 Четвертый период (1980 - настоящее время)

Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. С точки зрения архитектуры персональные компьютеры ничем не отличались от класса миникомпьютеров типа PDP-11, но вот цена у них существенно отличалась. Если миникомпьютер дал возможность иметь собственную вычислительную машину отделу предприятия или университету, то персональный компьютер сделал это возможным для отдельного человека.

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

На рынке операционных систем доминировали две системы: MS-DOS и UNIX. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486. Мультипрограммная многопользовательская ОС UNIX доминировала в среде "не-интеловских" компьютеров, особенно построенных на базе высокопроизводительных RISC-процессоров.

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

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

ГЛАВА III. Системные требования распространенных операционных систем

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

  1. Microsoft Windows XP

Для быстрой и стабильной работы ваш компьютер должен обладать процессором Pentium-II, частота процессора от 500 МГц, свободным дисковым пространством не менее 2 Гбайт и, соответственно, устройством для чтения дисков.

  1. Microsoft Windows Vista

Если вы остановили свой выбор на Vista, то система вашего компьютера должна быть не слабее данных системных требований: процессор с тактовой частотой не менее 800 МГц, 512 Мб оперативной памяти, 32 Мб видео памяти, графическая плата с поддержкой DirectX 9, устройство для чтения DVD и не менее 15 Гб свободного места на жестком диске.

  1. Microsoft Windows Seven

Для работы этой системы вам необходим процессор с частотой не менее 1 ГГц, 1 Гб оперативной памяти или выше, более 16 Гб свободного места на жестком диске, устройство для чтения DVD и графическая карта совместимая с DirectX 9.

7 сентября 1991 года финский студент Линус Торвальдс выложил в сети исходный код того, что впоследствии развилось в операционную систему Linux («Линукс»). Самое принципиальное отличие Linux от Mac OS X и Windows заключается в том, что Linux – это свободное ПО, которое распространяется под лицензией GPL. В отличие от коммерческих систем, таких как Microsoft Windows или Mac OS , Linux не имеет географического центра разработки. Нет и организации, которая владела бы этой системой; нет даже единого координационного центра. Программы для Linux - результат работы тысяч проектов. Некоторые из этих проектов централизованы, некоторые сосредоточены в фирмах. Многие проекты объединяют хакеров со всего света, которые знакомы только по переписке. Создать свой проект или присоединиться к уже существующему может любой и, в случае успеха, результаты работы станут известны миллионам пользователей. Пользователи принимают участие в тестировании свободных программ , общаются с разработчиками напрямую, что позволяет быстро находить и исправлять ошибки и реализовывать новые возможности.

Если вы решили установить Linux на ваш компьютер, то вам понадобится процессор с частотой 33МГц, 8 Мб оперативной памяти и 120 Мб дискового пространства.

Последней в списке самых распространенных операционных систем является ОС Mac OS. Самое важное - Mac OS X устанавливается только на компьютеры Мacintosh производства фирмы Apple. Кроме того, в отличие от открытой Linux, Mac OS X является проприетарным обеспечением, т.е. имеется запрет на свободное распространение, внесение изменений и т. д. Первая Mac OS появилась в 1984 году, что значительно раньше появления Windows. Компания Apple хотела, чтобы Макинтош представлялся как компьютер «для всех остальных». Сам термин «Mac OS» в действительности не существовал до тех пор, пока не был официально использован в середине 1990-х годов. С тех пор термин применяется ко всем версиям операционных систем Макинтоша как удобный способ выделения их в контексте других операционных систем. Mac OS устанавливается только на компьютеры Мacintosh производства фирмы Apple. Эти компьютеры имеют в отличие от привычных нам ПК закрытую архитектуру, то есть сами компьютеры собирает только Apple.

ГЛАВА 4. Анализ современных ОС

Практические данные.

Сравнение операционных систем это трудоемкий процесс. Результат работы отражен в таблице (таблица №1).

Все операционные системы (Windows XP, Windows Vista, Windows Seven, Linux, Mac OS) были оценены по нескольким параметрам:

  1. безопасность,
  1. интерфейс,
  2. цена.

Таблица 1

Windows XP

Windows Vista

Windows Seven

Linux

Mac OS

Безопасность

Без установки обновлений и

патчей - самая беззащитная

система для доступа в интернет.

Самая лакомая цель для

множества вирусов и других

вредоносных программ.

Улучшает безопасность

с помощью дополнительных программ, но

остается главной целью для вредоносных программ.

Как и предыдущие версии Windows нуждается в постоянном обновлении.

Linux более безопасная

система, чем Windows.

Например, Ubuntu , по -

умолчанию, даже не создает

администраторский аккаунт, который

является непременной целью

для вредоносных программ.

Маленькая

распространенность Linux

приводит к тому, что хакеры

меньше обращают на нее

внимание, чем на Windows.

Четкое разделение системных и

пользовательских файлов для

максимальной безопасности.

данном случае

игнорируются права доступа к файлам

пользователей .

Интерфейс

Отсутствие единства интерфейса.

Нет четких правил, как должны

выглядеть элементы управления

в разных

приложениях - все отдано в руки

разработчиков приложений.

Отсутствие нормальных эффектов

при переключении между окнами

и их сворачивании. Те, что есть -

хочется отключить уже через 5

минут.

Устаревший механизм поиска

файлов. Улучшить можно только

сторонними приложениями,

например - Google Desktop

Search.

Перегруженный интерфейс. Измененные

положения не которых

элементов в Панели

управления.

Эффекты полупрозрачности,

анимации позволяют легче

ориентироваться в работе и

переключении между программами.

Быстрый поиск файлов по

всей системе.

Возможность использования

Gadgets

в боковой панели на

рабочем столе.

Довольно приятный интерфейс, не вызывающий раздражения.

Возможность просмотра окон в 3D, красивые и удобные панели упрощают пользование компьютером.

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

Возможность использования

Gadgets

в боковой панели на

рабочем столе.

Интерфейсы Gnome и KDE

похожи на интерфейсы Mac

OS и Windows соответственно.

Встроенная возможность

использования нескольких

виртуальных рабочих столов.

Возможность включения

графического ускорения

присутствует, но требует

отдельного

настраивания.

Интерфейс четкий, неперегруженный и

логичный. Настолько хорош, что его

пытаются воссоздать на других

операционных системах с помощью тем

оформления и специальных программ.

Полупрозрачность и эффекты анимации

очень органичны и помогают

ориентироваться в системе.

Наличие виртуальных рабочих столов

с возможностью перетаскивания

окон между столами.

Возможность использования виджетов.

Мгновенный поиск уже при

наборе ищет файлы и их содержимое по

всей системе и в локальной сети,

поддерживает логические операции и

арифметические вычисления.

Прекрасно работает на не

слишком быстрых процессорах и при

небольшом объеме оперативной

памяти.

Требует больше оперативной

памяти и места на диске.

Высокие системные

требования.

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

Отличная скорость работы.

Отлично работает даже на очень старых компьютерах из-за незначительных системных требований.

средств в первую очередь

ориентируются на Windows и

Mac OS.

Производительность на высоте, потому

что программное обеспечение очень

хорошо оптимизировано под конкретную

платформу.

Цена

2000-5000 руб.

2000-6000 руб.

3000-7000 руб.

3000-6000 руб.

Входит в стоимость ноутбука.

Выводы по главе IV

  1. Microsoft Windows XP

Скорее всего, вы хорошо знакомы с этой системой. Если вас все устраивает, то нет необходимости менять свои привычки. Пять лет обновлений сделали Windows XP настолько безопасной, насколько она вообще может быть, но все же уступающей по этому параметру и Vista, и Seven и Linux, и Mac OS X. Небольшие требования к ресурсам делают эту систему самой подходящей для компьютерных игр, пока DirectX 10 не захватит мир. Она не требовательна и удовлетворяет всем основным потребностям пользователя, но Microsoft постепенно вытесняет ее с рынка, освобождая место для более поздних своих продуктов.

  1. Microsoft Windows Vista

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

Windows Vista скажу откровенно - не удалась, сейчас она считается даже «неполноценной» операционной системой, а своеобразным побочным продуктом, переходом от XP к Seven.

  1. Windows Seven

На момент выхода Windows 7 самой популярной операционной системой являлась Windows ХР. Однако со времени ее выпуска прошло более восьми лет, и за это время появилось множество новых устройств и технологий, для работы которых необходима поддержка операционной системы. После появления Windows Seven и обновления у пользователей оборудования, данная система стала неплохой заменой Windows XP, перепрыгнув Windows Vista. Windows Seven очень успешный продукт, который понравится многим пользователям, но она требовательна к системным ресурсам вашего компьютера.

  1. Linux

Если вам надоело беспокоиться о сохранности своих данных на компьютере и бороться с бесчисленным множеством вредоносных программ, вы можете легко попробовать Linux. Вдруг он удовлетворит ваши запросы. Просто найдите загрузочный диск. Богатейшие возможности настройки делают Linux дистрибутивы идеальным вариантом для пользователей… со знанием Linux (программистов). Для обычных же пользователей, кто хочет просто работать за компьютером - система все еще остается недостаточно дружелюбной.

  1. Apple Mac OS X

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

Таким образом, на сегодняшний день, самым оптимальным вариантом остается операционная система Windows XP.

ЗАКЛЮЧЕНИЕ

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

В настоящий момент около 90% персональных компьютеров используют ОС Windows, которая имеет ряд достоинств и вытеснила конкурентов из этого сегмента рынка. Более широкий класс ОС ориентирован для использования на серверах. К этому классу ОС относят: семейство Unix, разработки фирмы Microsoft, сетевые продукты Novell и корпорации IBM.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Гордеев А.В. Операционные системы: Учебник для вузов.2-е изд. – СПб.: Питер, 2005.

2. Основы информатики: Учеб. пособие / А.Н. Морозевич, Н.Н. Говядинова, В.Г. Левашенко и др.; Под ред.А.Н. Морозевича. – 2-е изд., испр. – Мн.: Новое знание, 2003.

3. Евсюков В.В. Экономическая информатика: Учеб. пособие – Тула: Издательство «Граф и К», 2003.

Информатика в экономике: Учеб. пособие /Под ред. проф. Б.Е.

Одинцова, проф.А.Н. Романова. – М.: Вузовский учебник, 2008.

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

Современные операционные системы используют Графический Интерфейс Пользователя (ГИП, по англ. GUI Graphical User Interface ). GUI позволяет использовать мышь, клавиатуру и джойстик для управления экранными объектами (иконки, кнопки, значки, меню), которые представлены пользователю на дисплее, в виде сочетании графики и текста. GUI каждой операционной системы имеет свой внешний вид, но все они разработаны так, чтобы быть максимально простым в использовании.

Существуют три наиболее популярных операционных систем для компьютеров: Microsoft Windows , Apple Mac Os X , Linux .

Microsoft Windows

Компания Microsoft создала операционную систему Windows в начале 1980-х годов

Семейство Microsoft Windows:

    Windows 95-98

    Windows NT 4

    Windows 2000

    Windows ME

За последующие годы было выпущено много версий Windows . Наиболее популярные из них :

    Windows 10 (2015)

    Windows 8 (2012)

    Windows 7 (2009)

    Windows Vista (2007)

    Windows XP (2001)

Windows 10 – операционная система для персональных компьютеров, разработанная корпорацией Microsoft в рамках семейства Windows NT . Первая предварительная версия Windows 10 была выпущена 30 сентября 2014 года для корпоративных клиентов. Это первая операционная система Microsoft , которая официально распространяется не только с серверов поставщика, но и с компьютеров ее пользователей.

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

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

Основные нововведения – функция «Семейная безопасность», новая панель управления, новый Диспетчер задач, Магазин приложений Windows Store и др.

Windows 7 - пользовательская операционная система семейства Windows NT , поступила в продажу 22 октября 2009 года. В этой операционной системе реализована поддержка Unicode 5.1.

В систему встроено около 120 фоновых рисунков, уникальных для каждой страны и языковой версии. Также в Windows 7 была улучшена совместимость со старыми приложениями. Проигрыватель Windows Media Player 12 получил новый интерфейс. Функция Удаленного рабочего стола тоже потерпела изменения. Была введена поддержка интерфейса Aero Peek, Direct 2D и Direct 3D 10.1, поддержка нескольких мониторов, расширений мультимедиа, DirectShow, а также возможность воспроизведегия звука с инзкими задержками.

Новая версия DirectX , которая впервые выпустилась именно в составе этой операционной системы, имеет следующие улучшения: добавлена поддержка новых вычислительных шейдеров, появились новые алгоритмы компрессии текстур, возможность многопоточного рендеринга и др. Изменилась и панель задач, она увеличена на 10 пикселей и имеет обновленный внешний вид.

Windows Vista – операционная система семейства Windows N T производства корпорации Microsoft . Построена на основе гибридного ядра N T версии 6.0. Официально для корпоративных клиентов была выпущена 30 ноября 2006 года, а для обычных клиентов продажи системы начались 30 января 2007 года.

В Windows Vista обновлена подсистема управления памятью и вводом-выводом. Также новой функциональностью является «Гибридный спящий режим», при использовании которого содержимое оперативной памяти записывается на HDD , но из памяти также не удаляется. Также Windows Vista имеет новый логотип.

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

    По утверждению Microsoft , время загрузки системы меньше, чем в Windows XP

    Боковая панель Windows : прозрачная панель сбоку экрана, где пользователь может разместить мини-приложения (гаджеты)

    Windows Shell : панель предварительного просмотра позволяет пользователям просматривать миниатюры различных файлов и просмотр содержимого документа

Apple Mac OS X

OS X проприетарня операционная система производства Apple .

В OS X используется ядро XNU , основанная на микроядре Mach и содержащще программный код, разработанный компанией Apple , а также код из OC NeXTSTEP и FreeBSD .

Операционная система OS X значительно отличается от предыдущих, «классических» версий Mac OS . Основа этой системы – POSIX - совместимая операционная система Darwin , являющаяся свободным программным обеспечением.

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

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

Основами OS X являются:

    Подсистема с открытым кодом – Darwin ( ядро Mach и набор утилит BSD )

    Среда программирования Core Foundation (Carbon API, Cocoa API и Java API)

    Графическая среда Aqua (Quick Time, Quartz Extreme и Open GL)

    Технологии Core Image, Core Animation, CoreAudio и CoreData

Linux

Linux – общее название UNIX подобных операционных систем на основе одноименного ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU . Linux работает на РС-совместимых системах семейства Intel x 86 IA -64, а также на AMD 64, PowerPC , ARM и многих других.

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

Есть много различных версий Linux икаждая из них имеет свой внешний вид. Наиболее популярные из них: Ubuntu, Mint и Fedora.

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

Драйверы устройств либо интегрированы непосредственно в ядро, либо добавлены в виде модулей, загружаемых во время работы системы. Пользовательские компоненты GNU являются важной частью большинства Linux систем, которые включают в себя наиболее распространенные реализации библиотеки языка Си, популярных оболочек операционной системы, и многих других общих инструментов Unix , которые выполняют многие основные задачи операционной системы. Графический интерфейс пользователя в большинстве систем Linux построен на основе X Windows System .

Курсовая работа по дисциплине «Экономическая информатика»
«Современные операционные системы(Windows XP, 7, Unix, Server 2008…)

Выполнил: Студент группы
Проверил:



Введение

Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы.
Операционная система (ОС) управляет компьютером, запускает программы, обеспечивает защиту данных, выполняет различные сервисные функции по запросам пользователя и программ. Каждая программа пользуется услугами ОС, а потому может работать только под управлением той ОС, которая обеспечивает для нее услуги. Таким образом, выбор ОС очень важен, так как он определяет, с какими программами Вы сможете работать на своем компьютере. От выбора ОС зависит также производительность Вашей работы, степень защиты данных, необходимые аппаратные средства и т.д. Однако, выбор операционной системы также зависит от технических характеристик (конфигурации) компьютера. Чем современнее операционная система, тем она не только предоставляет больше возможностей и более наглядна, но также тем больше она предъявляет требований к компьютеру (тактовая частота процессора, оперативная и дисковая память, наличие и разрядность дополнительных карт и устройств).
Основная причина необходимости ОС состоит в том, что элементарные операции для работы с устройствами компьютера и управление его ресурсами - то операции очень низкого уровня, поэтому действия, которые необходимы пользователю и прикладным программам, состоят из нескольких сотен или тысяч таких элементарных операций.
Операционная система скрывает от пользователя эти сложные и ненужные подробности и предоставляет ему удобный интерфейс для работы. Она выполняет различные вспомогательные действия, например, копирование и печать файлов.
ОС осуществляет загрузку в оперативную память всех программ, передает им управление в начале их работы, выполняет различные действия по запросу выполняемых программ и освобождает занимаемую программами оперативную память при их завершении.
Актуальность темы курсовой работы обусловлена потребностью улучшения операционных систем для повышения качества работы пользователя с ЭВМ, делая её, более простой, и освобождая его от обязанностей распределять ресурсы и управлять ими.
Целью данной курсовой работы является изучение теоретических и практических аспектов современных операционных систем.
В соответствии с целью сформулированы следующие задачи курсовой работы:
– рассмотреть сущность и классификацию операционных систем;
– сформулировать требования, предъявляемые к современным ОС;
– изучить архитектуру ОС;
– проанализировать операционные системы Windows Seven и Server 2008.
Объектом исследования является – совокупность операционных систем.

Глава 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ИЗУЧЕНИЯ ОПЕРАЦИОННЫХ СИСТЕМ

1.1. Сущность и классификация операционных систем

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

    стандартизированный доступ к периферийным устройствам;
    управление оперативной памятью;
    управление доступом к данным на энергонезависимых носителях;
    пользовательский интерфейс;
    сетевые операции;
    параллельное или псевдопараллельное выполнение задач (многозадачность);
    взаимодействие между процессами: обмен данными, взаимная синхронизация;
    разграничение прав доступа и многопользовательский режим работы (авторизация, аутентификация) .
Операционные системы могут различаться особенностями реализаций внутренних алгоритмов управления основными ресурсами компьютера (процессорами, устройствами, памятью), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Существует несколько классификаций операционных систем, в которых выделяют определенные критерии, отражающие разные существенные характеристики систем, рассмотрим наиболее часто встречающиеся:
По назначению операционные системы делятся на:
1) Системы общего назначения, предназначенные для решения широкого круга задач, включая запуск различных приложений, разработку и отладку программ, работу с сетью и мультимедиа.
2) Системы реального времени, предназначены для работы в контуре управления объектами.
3) Прочие специализированные системы – это различные ОС, ориентированные, прежде всего на эффективное решение определенного класса, с большим или меньшим ущербом для прочих задач
По характеру взаимодействия с пользователем выделяются:
1) Пакетные ОС, обрабатывающие заранее подготовленные задания;
2)Диалоговые ОС, выполняющие задания пользователя в интерактивном режиме;
3) ОС с графическим интерфейсом;
4) Встроенные ОС, не взаимодействующие с пользователем.
По числу одновременного выполнения задач:
1) Однозадачные ОС. В таких системах в каждый момент времени может существовать не более чем один пользовательский процесс. Однако, одновременно с этим, могут работать системные процессы
2) Многозадачные ОС. Они обеспечивают параллельное выполнение некоторых пользовательских процессов. Реализация многозадачности требует значительного усложнения алгоритмов и структур данных, используемых в системе.
По числу одновременных пользователей:
1) Однопользовательские ОС. Для них характерен полный пользовательский доступ к ресурсам. Подобные системы приемлемы в основном на изолированных компьютерах.
2) Многопользовательские ОС. Их важной компонентой являются средства защиты данных и процессов каждого пользователя, основанные на понятии владельца ресурса и на точном указании прав доступа, предоставленных каждому пользователю системы.
По аппаратурной основе:
1) Однопроцессорные ОС.
2) Многопроцессорные ОС. В задачи такой системы входит эффективное распределение выполняемых заданий по процессорам и организация согласованной работы всех процессоров.
3) Сетевые ОС. Они включают возможность доступа к другим компьютерам локальной сети, работы с файловыми и другими серверами.
4) Распределенные ОС. Распределенная система, используя ресурсы локальной сети, представляет их пользователю как единую систему, не разделенную на отдельные машины.
По способу построения:
1. Микроядерные;
2. Монолитные .
Таким образом, операционная система - это набор взаимодействующих программ, обеспечивающих работу (функционирование) компьютера. Программы операционной системы являются неотъемлемой частью современных ЭВМ и только вместе с ними последние образуют то, что в настоящее время принято называть компьютерными системами обработки информации. Без операционной системы современные компьютеры не работают. Для того чтобы дорогостоящие его узлы стали выполнять свои функции, образно говоря, чтобы их «одушевить», на компьютере и, в частности ПК, должна быть установлена та или иная операционная система.

1.2. Требования, предъявляемые к современным операционным системам

Операционная система является сердцевиной сетевого программного обеспечения, она создает среду для выполнения приложений и во многом определяет, какими полезными для пользователя свойствами эти приложения будут обладать. В связи с этим рассмотрим требования, которым должна удовлетворять современная ОС .
Очевидно, что главным требованием, предъявляемым к операционной системе, является способность выполнения основных функций: эффективного управления ресурсами и обеспечения удобного интерфейса для пользователя и прикладных программ. Современная ОС, как правило, должна реализовывать мультипрограммную обработку, виртуальную память, свопинг, поддерживать многооконный интерфейс, а также выполнять многие другие, совершенно необходимые функции. Кроме этих функциональных требований к операционным системам предъявляются не менее важные рыночные требования. К этим требованиям относятся:
1) Расширяемость. Код должен быть написан таким образом, чтобы можно было легко внести дополнения и изменения, если это потребуется, и не нарушить целостность системы.
2) Переносимость. Код должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы (которая включает наряду с типом процессора и способ организации всей аппаратуры компьютера) одного типа на аппаратную платформу другого типа.
3) Надежность и отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемыми, а приложения не должны быть в состоянии наносить вред ОС.
4) Совместимость. ОС должна иметь средства для выполнения прикладных программ, написанных для других операционных систем. Кроме того, пользовательский интерфейс должен быть совместим с существующими системами и стандартами.
5) Безопасность. ОС должна обладать средствами защиты ресурсов одних пользователей от других.
6) Производительность. Система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа .

1.3 Архитектура операционной системы

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
1) ядро – модули выполняющие основные функции ОС;
2) модули, выполняющие вспомогательные функции ОС.
В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами - системными вызовами - для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т.д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования - API.
Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Остальные модули ОС выполняют весьма полезные, но менее обязательные функции. Например, к таким вспомогательным модулям могут быть отнесены программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур.
Поскольку некоторые компоненты ОС оформлены как обычные приложения, то есть в виде исполняемых модулей стандартного для данной ОС формата, то часто бывает очень сложно провести четкую грань между операционной системой и приложениями .
Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может вмешаться в работу ОС и, например, разрушить часть ее кодов. Все усилия разработчиков операционной системы окажутся напрасными, если их решения воплощены в незащищенные от приложений модули системы, какими бы элегантными и эффективными эти решения ни были. Операционная система должна обладать исключительными полномочиями также для того, чтобы играть роль арбитра в споре приложений за ресурсы компьютера в мультипрограммном режиме. Ни одно приложение не должно иметь возможности без ведома ОС получать дополнительную область памяти, занимать процессор дольше разрешенного операционной системой периода времени, непосредственно управлять совместно используемыми внешними устройствами.
Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы – пользовательский режим (user mode) и привилегированный режим, который также называют режимом ядра (kernel mode), или режимом супервизора (supervisor mode). Подразумевается, что операционная система или некоторые ее части работают в привилегированном режиме, а приложения – в пользовательском режиме.
Так как ядро выполняет все основные функции ОС, то чаще всего именно ядро становится той частью ОС, которая работает в привилегированном режиме. Иногда это свойство – работа в привилегированном режиме – служит основным определением понятия «ядро».
Вычислительную систему, работающую под управлением ОС на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев: нижний слой образует аппаратура, промежуточный -- ядро, а утилиты, обрабатывающие программы и приложения, составляют верхний слой системы. Слоистую структуру вычислительной системы принято изображать в виде системы концентрических окружностей, иллюстрируя тот факт, что каждый слой может взаимодействовать только со смежными слоями. Действительно, при такой организации ОС приложения не могут непосредственно взаимодействовать с аппаратурой, а только через слой ядра.
Многослойный подход является универсальным и эффективным способом декомпозиции сложных систем любого типа, в том числе и программных. В соответствии с этим подходом система состоит из иерархии слоев. Каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций, которые образуют межслойный интерфейс. На основе функций нижележащего слоя следующий (вверх по иерархии) слой строит свои функции – более сложные и более мощные, которые, в свою очередь, оказываются примитивами для создания еще более мощных функций вышележащего слоя. Строгие правила касаются только взаимодействия между слоями системы, а между модулями внутри слоя связи могут быть произвольными. Отдельный модуль может выполнить свою работу либо самостоятельно, либо обратиться к другому модулю своего слоя, либо обратиться за помощью к нижележащему слою через межслойный интерфейс .
Микроядерная архитектура является альтернативой классическому способу построения операционной системы. Под классической архитектурой в данном случае понимается рассмотренная выше структурная организация ОС, в соответствии с которой все основные функции операционной системы, составляющие многослойное ядро, выполняются в привилегированном режиме. При этом некоторые вспомогательные функции ОС оформляются в виде приложений и выполняются в пользовательском режиме наряду с обычными пользовательскими программами (становясь системными утилитами или обрабатывающими программами).
Суть микроядерной архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Микроядро защищено от остальных частей ОС и приложений. В состав микроядра обычно входят машинно-зависимые модули, а также модули, выполняющие базовые функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, пересылке сообщений и управлению устройствами ввода-вывода, связанные с загрузкой или чтением регистров устройств. Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Такие функции операционной системы трудно, если не невозможно, выполнить в пространстве пользователя.
Все остальные более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Однозначного решения о том, какие из системных функций нужно оставить в привилегированном режиме, а какие перенести в пользовательский, не существует. В общем случае многие менеджеры ресурсов, являющиеся неотъемлемыми частями обычного ядра – файловая система, подсистемы управления виртуальной памятью и процессами, менеджер безопасности и т.п., - становятся «периферийными» модулями, работающими в пользовательском режиме.
Работающие в пользовательском режиме менеджеры ресурсов имеют принципиальные отличия от традиционных утилит и обрабатывающих программ операционной системы, хотя при микроядерной архитектуре все эти программные компоненты также оформлены в виде приложений. Утилиты и обрабатывающие программы вызываются в основном пользователями. Ситуации, когда одному приложению требуется выполнение функции (процедуры) другого приложения, возникают крайне редко. Поэтому в операционных системах с классической архитектурой отсутствует механизм, с помощью которого одно приложение могло бы вызвать функции другого.
Операционные системы, основанные на концепции микроядра, в высокой степени удовлетворяют большинству требований, предъявляемых к современным ОС, обладая переносимостью, расширяемостью, надежностью и создавая хорошие предпосылки для поддержки распределенных приложений. За эти достоинства приходится платить снижением производительности, и это является основным недостатком микроядерной архитектуры.
Система управления файлами является основной в абсолютном большинстве современных операционных систем. Например, операционные системы Unix никак не могут функционировать без файловой системы, ибо понятие файла для них является одним из самых фундаментальных. Все современные операционные системы используют файлы и соответствующее программное обеспечение для работы с ними. Дело в том что, во-первых, через файловую систему связываются по данным многие системные обрабатывающие программы. Во-вторых, с помощью этой системы решаются проблемы централизованного распределения дискового пространства и управления данными. Наконец, пользователи получают более простые способы доступа к своим данным, которые они размещают на устройствах внешней памяти.
Файловая система (ФС) является важной частью любой операционной системы, которая отвечает за организацию хранения и доступа к информации на каких-либо носителях. Рассмотрим в качестве примера файловые системы для наиболее распространенных в наше время носителей информации - магнитных дисков. Как известно, информация на жестком диске хранится в секторах (обычно 512 байт) и само устройство может выполнять лишь команды считать/записать информацию в определенный сектор на диске. В отличие от этого файловая система позволяет пользователю оперировать с более удобным для него понятием - файл. Файловая система берет на себя организацию взаимодействия программ с файлами, расположенными на дисках. Для идентификации файлов используются имена. Современные файловые системы предоставляют пользователям возможность давать файлам достаточно длинные мнемонические названия .

глава 2. ХАРАКТЕРИСТИКА СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ

Windows 7 под кодовыми наименованиями Blackcomb и Vienna - операционная система семейства Windows NT, следующая за Windows Vista. В линейке Windows NT система носит номер версии 6.1 (Windows 2000 - 5.0, Windows XP - 5.1, Windows Server 2003 - 5.2, Windows Vista и Windows Server 2008 - 6.0). Серверной версией является Windows Server 2008 R2, версией для интегрированных систем - Windows Embedded Standard 2011 (Quebec), мобильной - Windows Embedded Compact 2011 (Chelan, Windows CE 7.0),
Операционная система поступила в продажу 25 октября 2009 года, меньше чем через три года после выпуска предыдущей операционной системы, Windows Vista. Хотя изначально операционная система должна была поступить в продажу уже 31 августа 2009 года. Партнёрам и клиентам, обладающим лицензией Volume Licensing, доступ к RTM был предоставлен 24 июля 2009 года. Финальная нелицензионная версия (копия с дисков, которые потом пошли в продажу) была доступна всем с первых чисел августа 2009 года .
В состав Windows 7 вошли как некоторые разработки, исключённые из Windows Vista, так и новшества в интерфейсе и встроенных программах. Из состава Windows 7 были исключены игры Inkball, Ultimate Extras; приложения, имеющие аналоги в Windows Live (Почта Windows, Календарь Windows и пр.), технология Microsoft Agent, Windows Meeting Space; из меню "Пуск" исчезла возможность вернуться к классическому меню и Версии Windows 7.
В Америке Windows 7 доступен в шести различных вариантах, в России - только в пяти (исключен Enterprise). Также в России недоступен Family Pack (обновление до Windows 7 Home Premium на три компьютера) .
Windows 7 был создан в нескольких нижеперечисленных версиях с возросшими аппаратными требованиями (Таблица 1).
Таблица 1 – Минимальные аппаратные требования для Windows 7
Архитектура 32-bit 64-bit
Процессор 1 ГГц IA-32 processor 1 ГГц x86-64 processor
Оперативная память(RAM) 1 Гб 2 Гб
Видеокарта Видео адаптер с поддержкой DirectX 9 и WDDM версии 1.0 и старше.
(Не является абсолютной необходимостью; Требуется только для
Aero )
Свободное место на ж ёстком диске 16 Гб свободного места 20 Гб свободного места
Оптический привод DVD-ROM привод (Только для установки с DVD)

1) Windows 7 Начальная. Windows 7 Начальная позволит вам работать с любым количеством программ и приложений. В то же время она экономит ресурсы вашего компьютера, будь это нетбук или настольный компьютер. Простота, удобство и экономичность - вот главные преимущества именно этой версии Windows 7. Еще одна версия, которую нельзя купить в коробке, но которая все же есть на российском рынке - это Windows 7 Начальная (Starter). Она распространяется только вместе с компьютерами и ноутбуками (OEM).
Это самая урезанная версия Windows 7. В ней нет ни интерфейса Aero, ни возможности удаленной работы, ни виртуальных десктопов и XP Mode, ни Windows Media Center.
2) Windows 7 Домашняя базовая. Позволяет быстрее и легче выполнять повседневные задачи Windows 7. обеспечивает более быстрый и легкий доступ к программам и документам, которые используются наиболее часто. Отличается лишь частичной поддержкой Aero - (полупрозрачные окна). Но большинство "взрослых" функций в базовой версии отсутствуют .
Базовая версия существует в двух вариантах: 32-битном и 64-битном. Все более старшие версии включают оба диска (и с 32-битной, и с 64-битной ОС).
3) Windows 7 Домашняя расширенная. Операционная система Windows 7 Домашняя расширенная позволяет с легкостью создать домашнюю сеть и обмениваться любимыми фотографиями, музыкой и видеозаписями. Можно также просматривать, приостанавливать, перематывать назад ТВ-передачи и записывать их.
Windows 7 Домашняя расширенная (Home Premium), содержат два диска: первый - с 32-битной версией, а второй - с 64-битной (ключ активации, естественно, только один, поэтому не получится поставить на один компьютер 64-битную версию, а на другой - 32-битную).
Кроме того, Windows 7 Home Premium имеет два важных отличия от Home Basic: это наличие Windows Media Center и технологии Multi-Touch. На ней мы остановимся поподробнее. Не секрет, что всевозможные устройства с сенсорным экраном сегодня распространяются все больше. Причем, это уже не только мобильные телефоны с крошечными экранами, но и полноценные мониторы, а также компьютеры-моноблоки (например, HP TouchSmart). Видя тенденцию, в Microsoft решили выпустить операционную систему, оптимизированную для работы с пальцевыми технологиями.
Причем, что важно, Windows 7 понимает многопальцевые команды. Это позволяет удобно работать с фотографиями, спутниковыми картами, рисунками и прочими графическими объектами. То, что несколько лет назад казалось фантастикой, а после выпуска нашумевшего столика Microsoft Surface - экспериментальной и далекой от обычных пользователей разработкой, сегодня стало доступно практически каждому. И не в последнюю очередь благодаря Windows 7.
Наконец, еще одна маленькая деталь, отличающая Home Edition от Home Basic: это поддержка 16 ГБ оперативной памяти вместо 8 ГБ. Разумеется, относится это только к 64-битным версиям (в 32-битных максимум - это 4 ГБ). А если вам и этого мало, то обратите внимание на Windows 7 Профессиональная (Professional). Там поддерживаются все 192 ГБ.
4) Windows 7 Профессиональная. Выпуск Windows 7 Профессиональная позволяет устранить преграды на пути к успеху. Он обеспечивает запуск многих программ для Windows XP в режиме Windows XP и быстро восстанавливает данные с помощью автоматических архиваций в домашней или корпоративной сети. Кроме этого, можно более легко и безопасно подключаться к корпоративным сетям благодаря функции присоединения к домену. Однако Windows 7 Профессиональная предназначена не только для бизнеса. Она также содержит и превосходные возможности выпуска Windows Домашняя расширенная для развлечений .
5) Windows 7 Максимальная. Самая старшая версия Windows 7, предоставляющая пользователю максимум возможностей, - Windows 7 Максимальная (Ultimate). В максимальную версию включен Multilingual User Interface Pack, позволяющий менять язык интерфейса системы. Таким образом, вы можете купить российскую версию, после чего поменять весь интерфейс системы на английский. Кроме того, в Ultimate есть возможность загрузки с виртуального жесткого диска и несколько технологий, которые ориентированы на корпоративных пользователей. Прежде всего, это Федеративный поиск (Federated Search), BitLocker и BitLocker To Go. Федеративный поиск в Windows 7 обеспечивает встроенную поддержку поиска корпоративных данных, хранящихся за пределами ПК пользователя. То есть вы можете искать данные в корпоративной сети или на сайтах SharePoint так же, как и на локальном компьютере. BitLocker - это шифрование дисков на компьютере, а BitLocker To Go - шифрование данных на съемных носителях (например, флешках).
Кроме вышеперечисленного, Windows 7 Ultimate может предложить пользователям и IT-специалистам и некоторые другие возможности но для их использования понадобится развернуть Windows Server 2008 R2. Иные же даст Microsoft Desktop Optimization Pack .

2.2. ОС Unix

Операционная система UNIX – это многопользовательская система с разделением времени. Один из создателей операционной системы, первоначально названной UNIX, Кен Томпсон. UNIX – одна из самых популярных в мире операционных систем благодаря тому, что ее сопровождает и распространяет большое число компаний. Первоначально она была создана как многозадачная система для миникомпьютеров и мэйнфреймов в середине 70-х годов, но с тех пор она выросла в одну из наиболее распространенных операционных систем, несмотря на свой временами обескураживающий интерфейс и отсутствие централизованной стандартизации. Существуют версии UNIX для многих систем, начиная от персонального компьютера, до суперкомпьютеров. Все пользователи ОС UNIX явно или неявно работают с файлами. Файловая система ОС UNIX имеет древовидную структуру. Промежуточными узлами дерева являются каталоги со ссылками на другие каталоги или файлы, а листья дерева соответствуют файлам или пустым каталогам. Каждому зарегистрированному пользователю соответствует некоторый каталог файловой системы, который называется «домашним» (home) каталогом пользователя. При входе в систему пользователь получает неограниченный доступ к своему домашнему каталогу и всем каталогам и файлам, содержащимся в нем. Пользователь может создавать, удалять и модифицировать каталоги и файлы, содержащиеся в домашнем каталоге. Потенциально возможен доступ и ко всем другим файлам, однако он может быть ограничен, если пользователь не имеет достаточных привилегий.
Командные языки, используемые в ОС UNIX, достаточно просты, чтобы новые пользователи могли быстро начать работать, и достаточно мощны, чтобы можно было использовать их для написания сложных программ.
Операционная система UNIX – это набор программ, который управляет компьютером, осуществляет связь между вами и компьютером и обеспечивает вас инструментальными средствами, чтобы помочь вам выполнить вашу работу. Разработанная, чтобы обеспечить легкость, эффективность и гибкость программного обеспечения, система UNIX имеет несколько полезных функций:
основная цель системы – это выполнять широкий спектр заданий и программ;
интерактивное окружение, которое позволяет вам связываться напрямую с компьютером и получать немедленно ответы на ваши запросы и сообщения;
многопользовательское окружение, которое позволяет вам разделять ресурсы компьютера с другими пользователями без уменьшения производительности. Этот метод называется разделением времени. Система UNIX взаимодействует с пользователями поочередно, но так быстро, что кажется, что взаимодействует со всеми пользователями одновременно;
многозадачное окружение, которое позволяет вам выполнять более одного задания в одно и тоже время.
Система UNIX имеет 4 основных компонента:
    ядро – это программа, которая образует ядро операционной системы; она координирует внутренние функции компьютера (такие как размещение системных ресурсов). Ядро работает невидимо для вас;
    shell – это программа, которая осуществляет связь между вами и ядром, интерпретируя и выполняя ваши команды. Так как она читает ваш ввод и посылает вам сообщения, то описывается как интерактивная;
    commands – это имена программ, которые компьютер должен выполнить. Пакеты программ называются инструментальными средствами. Система UNIX обеспечивает инструментальными средствами для таких заданий как создание и изменение текста, написание программ, развитие инструментария программного обеспечения, обмен информацией с другими посредством компьютера;
    filesystem – файловая система – это набор всех файлов, возможных для вашего компьютера. Она помогает вам легко сохранять и отыскивать информацию.
Unix удовлетворяет всем требованиям, предъявляемым к современным операционным системам, включая следующие:
Поддержка всех основных сетевых протоколов.
Поддержка всех основных файловых систем.
Квотирование дискового пространства.
Удобный пользовательский и программный интерфейсы.
Возможность эффективного управления ресурсами компьютера.
Многозадачный режим.
Многооконный графический интерфейс.
Многоязыковая поддержка для шрифтов и клавиатур.
Многопроцессорность.
Наличие механизмов работы с виртуальной памятью.
Эмуляция математического сопроцессора.
Обеспечение защиты информации от несанкционированного доступа, а также защита от неправильных действий пользователя.
Разделяемые библиотеки.
Виртуальные консоли.
Переносимость ОС благодаря тому, что программы ОС написаны на языке высокого уровня Си.
Многоплатформенность, т. к. ОС Unix практически не привязаны к архитектуре систем. Среди всех требований, которым удовлетворяют ОС семейства Unix, нас будут интересовать их возможности при реализации компьютерных сетей. Сегодня все ОС работают в Интернете и достаточно хорошо. Однако ОС Unix позволяет получить скорость работы в Интернете в несколько раз больше, чем другие ОС .
Еще одним достоинством Unix является значительно более высокая надежность связи, что позволяет копировать из Интернета большие объемы информации.
Unix позволяет организовать полноценный доступ к Интернету с каждого компьютера локальной сети через один зарегистрированный компьютер. Регистрация остальных компьютеров не требуется.
Unix обладает более высокой, чем другие ОС, степенью защиты информации от проникновения в компьютер через Интернет и при работе в локальной сети.
Степень защиты от вирусных атак в Unix оказывается также выше.
Работа программных средств в Unix отличается надежностью и стабильностью.
Unix позволяет создавать надежные архивы информации, Web-Серверы, серверы баз данных с удаленным доступом, серверы локальных компьютерных сетей, мощные Интернет-станции с полным набором возможностей Интернет – провайдера.
Инсталляционные пакеты многих версий Unix разрешены для бесплатного копирования через Интернет.
ОС Unix имеют стандартный набор средств, корректное использование которых позволяет строить защищенные компьютерные сети. Механизмы обеспечения безопасности соответствуют классу С2 «Оранжевой книги» и присутствуют в Unix с 1992 г. (Unix SVR4). Стандартные средства защиты в Unix имеют следующие возможности:
Защита через пароли. Любой пользователь в Unix имеет свое имя и свой пароль, без которых он не может логически включиться в систему.
Защита файлов. Даже если пользователь вошел в систему, не обладая сответствующими правами доступа к файлам, он не может работать с чужими файлами. В Unix существует один, так называемый, суперпользователь (superuser), который входит в систему с именем root и имеет свой пароль, этот пользователь имеет неограниченные права доступа к файлам и является администратором системы.
Возможность изменения статуса пользователя с использованием команды su (superuser), если только ему известен пароль суперпользователя, или команды newgrp, позволяющей изменить группу, к которой принадлежит пользователь.
Шифрование файлов с помощью программы crypt, которая предусматривает использование системы ключей.
На основе использования стандартных средств защиты система является безопасной в такой степени, в какой она настроена суперпользователем. Вместе с тем защита на сетевом уровне требует использования дополнительных средств, прежде всего системы сетевой аутентификации и межсетевых экранов.

2.3. Windows XP

Windows XP была выпущена 25 октября 2001 года и является развитием Windows 2000 Professional .
В отличие от предыдущей системы Windows 2000 , которая поставлялась как в серверном , так и в клиентском вариантах, Windows XP является исключительно клиентской систе мой. Её серверным аналогом является Windows Server 2003 . Хотя Windows Server 2003 и построен на базе того же кода, что и Windows XP, почти всецело наследуя интерфейс её пользовательской части, Windows Server 2003 всё же использует более новую и переработанную версию ядра NT 5.2; появившаяся позже Windows XP Professional x64 Edition имела то же ядро, что и Windows Server 2003 , и получала те же обновления безопасности, вследствие чего можно было говорить о том, что их развитие шло «параллельно».
Windows XP выпускалась во многих вариантах:
Windows XP Professional Edition была разработана для предприятий и предпринимателей и содержит такие функции, как удалённый доступ к рабочему столу компьютера, шифрование файлов (при помощи Encrypting File System ), центральное управление правами доступа и поддержка многопроцессорных си стем.
Windows XP Home Edition - система для домашнего применения. Выпускается как недорогая «урезанная» версия Professional Edition, но базируется на том же ядре .
Windows XP Tablet PC Edition базируется на Professional Edition и содержит специальные приложения, оптимизированные для ввода данных
и т.д.................
Опубликовано: 06.01.2006
Версия текста: 1.0

1. Общее описание операционных систем реального времени

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

Основными ресурсами являются процессор (процессорное время), оперативная память и периферийные устройства.

Управление ресурсами сводится к выполнению следующих задач: упрощение доступа к ресурсам, распределение их между процессами.

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

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

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

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

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

    количество пользователей, одновременно обслуживаемых системой;

    число процессов, которые могут одновременно выполняться под управлением ОС;

    тип доступа пользователя к системе;

    тип аппаратно-программного комплекса.

В соответствии с первым признаком различаются одно- и многопользовательские ОС. Второй признак делит ОС на одно- и многозадачные.

В соответствии с третьим признаком ОС делятся на:

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

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

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

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

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

В настоящее время существует огромное количество типов ОС, но в дальнейшем рассматриваются только ОС РВ.

Сначала необходимо дать определение системе реального времени.

Система реального времени (СРВ) - это система, правильность функционирования которой зависит не только от логической корректности вычислений, но и от времени, за которое эти вычисления производятся.

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

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

1.1 Что такое система реального времени

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

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

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

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

Кроме того, СРВ можно разделить на системы специализированные и универсальные.

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

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

1.2 Основные требования к СРВ

    возможность параллельного выполнения нескольких задач;

    предсказуемость;

    важно максимальное (не среднее) время отклика на событие;

    особые требования в вопросах безопасности;

    возможность безотказной работы в течение длительного времени.

1.3 Общие характеристики СРВ

    большие и сложные системы;

    распределенные системы;

    жесткое взаимодействие с аппаратурой;

    выполнение задач зависит от времени;

    сложность тестирования.

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

1.4 Способы использования ОС

5 видов операционных систем:

    Классическая ОС. Win NT, Linux и Unix.

    Классическая ОС с расширением РВ (Win NT - RTX, RT Linux, RT Unix)

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

    Коммерческая ОС. Примером могут служить такие системы как VxWorks, OS9 и т.п. Необходимо отметить, что такие системы очень дорогие. Например, стоимость полного пакета ОС VxWorks (Tornado 1.0) в 2002 году составляла около 15 000 долларов США. Впрочем, с годами такая система значительно дешевеет - сегодня ее стоимость составляет около 10 000 долларов (Tornado версии 2.0 и выше - полная стоимость зависит от выбираемых компонентов).

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

Из таблицы видно, что временные рамки ОСРВ достаточно жесткие. Среди современных операционных систем есть класс продуктов, разработанных специально для построения систем жесткого реального времени - VxWorks, OS9, QNX, LynxOS, OSE и другие. Эти системы содержат необходимый набор инструментов, и в некоторых случаях являются единственным выбором - на него приходится идти, невзирая на затраты. Однако достаточно часто требования к реальному времени (полная предсказуемость времени реакции) становятся менее жесткими, например, необходимо добиться только нужной средней производительности.

Иногда достаточно жестко контролировать только одно из событий, допуская при этом задержки реакций на остальные. В подобных случаях возможности выбора расширяются, и желаемых результатов можно достичь, используя такие широко распространенные операционные системы как LINUX, Windows NT, Windows CE, дополняя их расширениями реального времени (RTAI, RT LINUX, RTX).

1.5 Требования, предъявляемые ОС при проектировании ОСРВ

1.5.1 Требование 1. ОС должна быть многонитевой (multi-threaded) и прерываемой

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

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

1.5.2 Требование 2. Должно существовать понятие приоритета нити

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

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

1.5.3 Требование 3. ОС должна обеспечивать предсказуемые механизмы синхронизации задач

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

1.5.4 Требование 4. Должна существовать система наследования приоритетов

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

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

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

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

1.5.5 Требование 5. Поведение ОС должно быть известно

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

латентную задержку прерывания (т. е. время от момента прерывания до момента запуска задачи): она должна быть предсказуема и согласована с требованиями приложения. Эта величина зависит от числа одновременно "висящих" прерываний;

максимальное время выполнения каждого системного вызова (должно быть предсказуемым и независимым от числа объектов в системе);

максимальное время маскирования прерываний драйверами и ОС.

системные уровни прерываний;

уровни прерываний драйверов устройств, их временные характеристики и т. д.

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

2. Обзор операционных систем реального времени

На сегодняшний день существует более 100 коммерческих ОСРВ. Есть множество бесплатных (или условно бесплатных) СРВ и систем, имеющих статус исследовательских или университетских проектов. Сначала рассмотрим краткое описание некоторых систем реального времени, а затем более подробно остановимся на СРВ Win NT RTX, как наиболее перспективной системе.

2.1 QNX

Операционная система QNX является разработкой канадской компании QNX Software System Ltd (1981).

Операционная система QNX представляет собой гибрид 16/32-битовой операционной системы, которую пользователь может конфигурировать по своему усмотрению. Наиболее часто она применяется для создания систем, работающих в реальном масштабе времени. Время, необходимое для полной инсталляции системы, включая сетевые средства, составляет всего 10-15 мин, после чего можно начинать работу. Нетребовательность системы к ресурсам проявляется уже в том, что система с необходимой и достаточной средой разработки в виде компилятора Watcom C/C ++ (основной компилятор для QNX) умещается на 10 Мб.

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

Эти идеи позволили добиться нескольких важнейших преимуществ:

    предсказуемость, означающая ее применимость к задачам жесткого реального времени. Ни одна версия UNIX не может достичь подобного качества, поскольку код ядра слишком велик. Любой системный вызов из обработчика прерывания в UNIX может привести к непредсказуемой задержке (как и в Windows NT);

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

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

Система построена по технологии FLEET , которая характеризуетмя следующим. QNX является ОСРВ на основе микроядра (размером около 10 Кб). В качестве основного средства взаимодействия между процессами система использует передачу сообщений. Благодаря этому в 32-битовой среде возможно взаимодействие процессов с 32 и 16-битовыми кодами, причем сообщения передаются между любыми процессами, независимо от того, находятся ли процессы на одном компьютере или на разных узлах сети.

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

Операционная система QNX объединяет всю сеть ПК в единый набор ресурсов с абсолютной прозрачностью доступа к ним. Узлы могут добавляться и исключаться из сети, не влияя на целостность системы. Сетевая обработка данных в QNX является настолько гибкой, что можно объединить в одну сеть любой разнородный набор Intel совместимых компьютеров, соединенных через Arcnet, Ethernet, Token Ring или через последовательный порт, к которому также может быть подключен модем. Кроме того, возможно участие компьютера одновременно в нескольких сетях, и если одна из них окажется перегруженной или выйдет из строя, то QNX автоматически будет использовать другие доступные сети без потери информации.

QNX имеет некоторые ограничения, связанные с ориентацией системы на рынок встроенных систем реального времени:

    нет поддержки SMP;

    отсутствует запись виртуальной памяти на диск;

    неэффективная и нестандартная поддержка нитей;

    неполноценная реализация отображения файлов в памяти;

    нет поддержки UNIX-domain sockets;

    слабые средства безопасности в рамках собственного сетевого протокола.

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

В российской промышленности QNX встречается достаточно часто. Это объясняется наличием достаточного количества программного обеспечения под QNX (драйверы и т. д.) для различного оборудования, представленного на российском рынке.

2.2 VxWorks/Tornado

Операционная система реального времени VxWorks и инструментальная среда Tornado фирмы Wind River Systems предназначены для разработки ПО встроенных компьютеров, работающих в системах жесткого реального времени. Операционная система VxWorks является системой с кросс-средствами разработки прикладного программного обеспечения. Разработка ведется на инструментальном компьютере (host) в среде Tornado для последующего исполнения на целевой машине (target) под управлением VxWorks.

VxWorks поддерживает целевые архитектуры (targets):

    Motorola 680x0 и CPU32, PowerPC;

    Intel 386/486/Pentium, Intel 960;

    Spare, Mips R3000/4000;

    AMD 29K, Motorola 88110;

  • Инструментальные платформы, поддерживаемые для Tornado (hosts):

    Sun SPARCstation (SunOS и Solaris);

    HP 9000/400,700 (HP-UX);

    IBM RS6000 (AIX);

    Silicon Graphics (IRIX);

    DEC Alpha (OSF/1);

  • Поддерживаемые интерфейсы host-target:

    host-target Ethernet;

    внутрисхемный эмулятор ICE (In-Circuit Emulator);

    кросс-шина (backplane).

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

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

Все аппаратно-зависимые части VxWorks вынесены в отдельные модули для того, чтобы разработчик встроенной системы мог сам портировать VxWorks на свою нестандартную целевую машину. Этот комплект конфигурационных и инициализационных модулей называется BSP (Board Support Package) и поставляется для стандартных компьютеров (VME-процессор, PC или Sparcstation) в исходных текстах. Разработчик нестандартной машины может взять за образец BSP наиболее близкий по архитектуре стандартный компьютер и перенести VxWorks на свою машину путем разработки собственного BSP с помощью BSP Porting Kit.

2.2.1 Базовые сетевые средства VxWorks: UNIX-networking, SNMP и STREAMS.

VxWorks была первой операционной системой реального времени, в которой реализован протокол TCP/IP с учетом требований реального времени. С тех пор VxWorks поддерживает все сетевые средства, стандартные для UNIX: TCP/UDP/ICMP/IP/ARP, Sockets, SLIP/CSLIP/PPP, telnet/rlogin/rpc/rsh, ftp/tftp/bootp, NFS (клиент и сервер).

Wind River Systems анонсировала (1994) программу WindNet, по которой ведущие фирмы-производители программных средств в области коммуникаций интегрировали свои программные продукты с VxWorks.

На сегодняшний день - это сетевые протоколы Х.25, ISDN, ATM, SS7, Frame Relay и OSI; CASE-средства разработки распределенных систем на базе стандартов ROOM (Real-Time Object Oriented Modelling) и CORBA (Common Object Request Broker Architecture); менеджмент сетей по технологиям MBD (Management By Delegation) и CMIP/GDMO (Common Management Information Protocol/Guidelines for Definition of Managed Objects).

2.2.2 Мониторинг и отладка в реальном масштабе времени: WindView.

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

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

В последнее время высокопроизводительные микропроцессоры, а с ними и операционные системы реального времени, все чаще используются в так называемых "глубоко встроенных" (deeply embedded) применениях (автомобильная электроника, офисная и бытовая техника, измерительные и медицинские приборы и др.). К таким компьютерным системам предъявляются два основных требования: малые габариты и низкая стоимость, поэтому глубоко встроенные микропроцессорные системы ставят две проблемы на пути применения серийных ОСРВ: небольшие объемы используемой памяти и отсутствие "лишних" интерфейсов, по которым можно было бы связать целевую и инструментальную машины на этапе разработки встроенного ПО.

Специально для систем с сильно ограниченным объемом памяти компания Wind River Systems разработала редуцированное ядро WindStream, которое требует для работы не более 8 Кб ПЗУ и 2 Кб ОЗУ. При этом для WindStream применим весь спектр инструментальных средств VxWorks, включая WindView.

Инструментальная среда Tornado имеет открытую архитектуру, что позволяет другим фирмам-производителям инструментальных средств разработки ПО реального времени интегрировать свои программные продукты с Tornado. Пользователь может подключать к Tornado свои собственные специализированные средства разработки, а также расширять возможности инструментальных средств фирмы Wind River Systems.

В стандартную конфигурацию Tornado входят ядро VxWorks и системные библиотеки, GNU C/C ++ Toolkit, дистанционный отладчик уровня исходного языка CrossWind, оболочка WindSh, конфигуратор BSP WindConfig и др.

Существует множество программных продуктов, интегрированных с Tornado, производства других фирм.

2.3 RTLinux

2.3.1 Основные сложности при реализации систем реального времени в среде LINUX

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

Linux - современная POSIX-совместимая и Unix-подобная операционная система для ПК и рабочих станций, т. е. многопользовательская сетевая операционная система.

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

Характерные особенности Linux как ОС:

    многозадачность (является обязательным условием);

    многопользовательский режим;

    защищенный режим процессора (386 protected mode);

    защита памяти процесса (сбой программы не может вызвать зависания системы);

    разделение страниц по записи между экземплярами выполняемой программы. Это значит, что процессы-экземпляры программы могут использовать при выполнении одну и ту же память. Когда такой процесс пытается произвести запись в память, то 4-килобайтная страница, в которую идет запись, копируется на свободное место. Это свойство увеличивает быстродействие и экономит память;

    виртуальная память со страничной организацией (т. е. на диск из памяти вытесняется не весь неактивный процесс, а только требуемая страница); виртуальная память в самостоятельных разделах диска и/или файлах файловой системы; объем виртуальной памяти до 2 Гб; изменение размера виртуальной памяти во время выполнения программ;

    общая память программ и дискового кэша: вся свободная память используется для буферизации обмена с диском;

    динамические загружаемые разделяемые библиотеки;

    дамп программы для пост-мортем анализа: позволяет анализировать отладчиком не только выполняющуюся, но и завершившуюся аварийно программу;

    сертификация по стандарту POSIX.1, совместимость со стандартами System V и BSD на уровне исходных текстов;

    через iВS2-согласованный эмулятор совместимость с SCO, SVR3, SVR4 по загружаемым программам;

    наличие исходного текста всех программ, включая тексты ядра, драйверов, средств разработки и приложений. Эти тексты свободно распространяются. В настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих программ без исходных текстов, но все, что было свободным так и остается свободным;

    управление заданиями в стандарте POSIX;

    эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об эмуляции сопроцессора. Конечно, если сопроцессор имеется в наличии, то он и используется;

    множественные виртуальные консоли: на одном дисплее несколько одновременно независимых сеансов работы, переключаемых с клавиатуры;

    поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые системы System V); наличие собственной передовой файловой системы объемом до 4 Тб и с именами файлов до 255 знаков;

    прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как часть файловой системы Linux; поддержка VFAT (WNT, Windows 95);

    доступ (только чтение) к файловой системе HPFS-2 OS/2 2.1;

    поддержка всех стандартных форматов CD ROM;

    поддержка сети TCP/IP, включая ftp, telnet, NFS и т. д.

Рост популярности Linux побуждает разработчиков внимательнее присмотреться к этой операционной системе. В данный момент эта ОС готова к стабильной работе, а открытость ее исходных текстов и архитектуры наряду с растущей популярностью заставляет программистов переносить свои наработки на многие аппаратные платформы: SGI, IBM, Intel, Motorola и т. д.

Для задач РВ сообщество разработчиков Linux активно применяет специальные расширения - RTLinux, KURT и UTIME, позволяющие получить устойчивую среду реального времени. RTLinux представляет собой систему "жесткого" реального времени, a KURT (KU Real Time Linux) относится к системам "мягкого" реального времени. Linux-расширение UTIME, входящее в состав KURT, позволяет добиться увеличения частоты системных часов, что приводит к более быстрому переключению контекста задач.

RTLinux - это операционная система, в которой небольшое ядро реального времени сосуществует с Posix-like ядром Linux. Основная цель - сделать доступными сложные службы и оптимизированное поведение системы в стандартных ситуациях для системы с разделением времени, и, в то же время, выполнять задачи реального времени. В прошлом операционные системы реального времени примитивны - простые программы, которые предлагали пользователю чуть больше, чем просто библиотека основных функций. Но в наше время пользователи требуют доступ к TCP/IP, графическому дисплею и системе окон, базам данных и другим службам, которые не являются ни примитивными, ни простыми. Одно из решений - добавить non-real-time службы к базовому ядру реального времени, что и было проделано в VXworks и, немного по-другому, в микроядре QNX. Вторая возможность - модифицировать стандартное ядро и сделать его полностью прерываемым.

2.3.2 Организация RTLinux

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

В RTLinux все прерывания обслуживаются ядром реального времени, а затем передаются стандартному ядру, но только в том случае, если нет необходимости запускать одну из задач реального времени. Для того чтобы минимизировать количество изменений в стандартном ядре, этот механизм реализован при помощи эмулирования ICH (Interrupt Control Hardware). Ядро реального времени и пользовательские задачи Linux могут обмениваться данными через неблокируемые очереди и сегменты разделяемой памяти.

С точки зрения программиста очереди выглядят как стандартные последовательные устройства UNIX, доступ к которым возможен при помощи системных вызовов POSIX read/write/open/ioctl. Разделяемая память доступна через системный вызов mmap.

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

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

На практике оказалось, что идея RTLinux очень удачна. В самом худшем случае запаздывание прерываний на 486/33Mhz PC оказалось менее 30 мкс, что близко к аппаратному пределу. Для прикладных задач симбиоз систем реального времени и оптимизированной для "общего случая" оказался очень удачным. Наиболее часто используемая конфигурация RTLinux - примитивные задачи реального времени со статически распределяемой памятью без ее защиты, простым планировщиком с фиксированными приоритетами без защиты от нереализуемых планов, аппаратным запрещением прерываний, разделяемая память - единственный механизм синхронизации задач реального времени и ограниченный набором операций над FIFO-очередями, подсоединенными к обычным процессам Linux.

Ядро Linux позволяет в динамике загружать и выгружать модули ядра. Представив отдельные части ядра реального времени в виде модулей, легко изменять ядро реального времени. Уже написаны альтернативные планировщики и модуль семафоров. Во время работы системы можно загрузить модуль с задачами реального времени, затем выгрузить стандартный планировщик и загрузить, например, EDF планировщик. Можно пробовать разные комбинации модулей, пока не будет найдена оптимальная.

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

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

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

Самый короткий период для периодически вызываемых задач реального времени в RTLinux на Pentium 120 - менее 150 мкс. Задачи, вызываемые по прерыванию, могут иметь намного меньший период.

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

Необходимо отметить, что компания LynuxWorks начала поставки (17.05.2002) встраиваемой ОС BlueCat Linux для комплекта разработчика ПО Intel Internet Exchange Architecture Software Developers Kit (Intel IXA SDK) 2.0, предназначенного для семейства сетевых процессоров Intel IXP1200. ОС BlueCat Linux распространяется бесплатно совместно с Intel IXA SDK 2.0.

VxWorks давно стала де-факто стандартом для подавляющего большинства систем, использующих встроенные ОС. Флэш-память вычислительной системы IXP1200 содержит загрузчик ядра VxWorks. Для разработчиков это упрощает задачу написания новых программ. Кроме того, уже реализована возможность работы сетевого процессора под управлением ОС Linux (с расширениями реального времени). Осуществляется программная поддержка некоторыми производителями ОС Linux (например,LynuxWorks и т. д.).

2.4 Контроль и управление в реальном времени с использованием OS9

2.4.1 Введение

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

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

В системе контроля можно выделить два уровня:

    Уровень 1 для сбора и обработки локальных данных;

    Уровень 2 для сбора и анализа данных с удаленных объектов.

Рис.1. Общая концепция системы

Задачи на уровне 1 выполняются блоком GESCAP (например, рабочей станцией на процессоре 68010 фирмы Motorola с ОЗУ 1 Мбайт), а на уровне 2 - блоком GESVA (например, рабочей станцией на процессоре 68030 фирмы Motorola с ОЗУ 4 Мбайт). В блоках GESVA и GESCAP используется одна и та же операционная система (OS-9) и прикладное программное обеспечение. Различны только видеотерминалы и функциональные возможности. Благодаря этой однородности облегчается установка, использование и поддержание работоспособности системы.

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

Конфигурирование аналоговых или цифровых блоков ввода/вывода (аварийные сигналы, сообщения, приоритеты, и т.д.):

    логические операции (И, ИЛИ...) над входными данными;

    установление соответствия разъёмов каждому устройству ввода/вывода;

    перегруппировка устройств ввода/вывода;

    графическое взаимодействие с элементами анимации.

Функции отображения состояния:

    состояние блоков ввода/вывода, устройств, соединений, аварийных сигналов, бортовой журнал реального времени.

Графические функции:

    автоматическое расположение аварийных сигналов в изображениях;

    перемещение по изображениям источников данных;

    отображение кривых в реальном времени;

    видеоотображение кривых в реальном времени.

Функции связи:

    протокол связи JBUS/MODBUS (RS-232/RS-422);

    связь с системой помощи в локализации и устранении неисправностей (GESDOC).

Функции выдачи на печать:

    распечатка структуры системы;

    распечатка списка сигналов тревоги и событий.

Функции различного назначения:

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

2.4.2 Как развивалась эта прикладная система?

Основными требованиями к программному обеспечению были:

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

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

    многозадачная, прошиваемая в ПЗУ операционная система реального времени с небольшими требованиями к объему памяти.

В результате выбрана операционная система OS9, наилучшим образом отвечающая перечисленным требованиям.

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

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

WINOTOOLS предоставляет следующие утилиты:

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

SCRIPT - язык, позволяющий моделировать все диалоги с пользовательским интерфейсом до написания строки исходного кода. Эта утилита позволяет производить быструю проверку правильности пользовательского интерфейса.

DATABASE (БАЗА ДАННЫХ) - библиотека С-функций, обеспечивающая управление базой данных (соответствие данных и индексных файлов базы данных).

БИБЛИОТЕКА ВВОДА/ВЫВОДА - библиотека С-функций, обеспечивающая сопряжение пользовательского интерфейса с устройствами ввода/вывода.

2.5 Windows NT

2.5.1 Возможность использования Windows NT в качестве ОС реального времени

В последнее время приобретают популярность расширения реального времени для Windows NT. Это обусловлено с одной стороны - расширением областей применения компьютерного управления, с другой стороны - сравнительно малой известностью и высокой стоимостью специализированных операционных систем реального времени. Но даже если бы это было не так и о других системах было бы известно не меньше - все равно Win NT RTX была бы наиболее популярна. Ведь не даром соотношение пользователей ОС семейства Windows к пользователям Linux/Unix систем - 1000 к 1. Вполне логично, что человек, работая дома в одной системе, хочет видеть такую же, понятную ему удобную систему и на работе. Интерфейс Win32 является стандартным и хорошо знакомым большому числу программистов и пользователей. Под NT существует огромное число готовых приложений (в том числе коммуникационных), а также популярные средства разработки. К сожалению, Windows NT "в чистом виде" нельзя отнести к операционным системам реального времени. Обсуждению причин этого посвящены статьи Martin Timmerman и Jean-Christophe Monfret в Real-Time Magazine Q21997.

Вот некоторые из них:

    недостаточное количество real-time приоритетов;

    отсутствие наследования приоритетов, как средства борьбы с инверсией приоритетов;

    неподходящая для RTOS система обработки прерываний.

    В Windows NT доступ к прерываниям осуществляется из драйвера ядра, а сами прерывания обрабатываются в два этапа: сначала вызывается очень короткая Interrupt Service Routine (ISR), осуществляющая критическую обработку, основная обработка прерывания происходит в Deferred Procedure Call (DPC). Все DPC выполняются с одинаковым уровнем приоритета в порядке поступления (FIFO).

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

2.5.2 RTX - real-time extension для Windows NT от компании VenturCom

Одним из возможных решений является использование совместно с Windows NT подсистемы реального времени, исполняющейся на том же процессоре (если процессор один) или на выделенном процессоре(-ах) (если их несколько). Этот подход использован фирмой VenturCom в продукте RTX. Сущность подхода заключается в использовании модифицированного HAL (Hardware Abstraction Level). Изменять kernel Microsoft не разрешает, а исходный код HAL предоставляет своим партнерам, одним из которых является VenturCom.

После установки RTX стандартная NT Workstation или Server превращается в операционную систему реального времени с жестким детерминизмом (hard real-time). Сама NT об этом, правда, не подозревает. Ни ядро, ни исполняющая подсистема NT не были изменены. Подсистема реального времени видна из Windows NT как еще один драйвер устройства.

Операционная система Windows NT первоначально разрабатывалась как система общего назначения. Однако, на нынешнем рынке специализированных систем с целью обеспечения открытости на каждом системном уровне существует тенденция использования операционных систем Microsoft Windows. Это обусловлено следующими причинами:

    прикладной программный интерфейс (API) Win32 на данный момент является для программистов стандартом де-факто;

    графический интерфейс пользователя (GUI-интерфейс) популярен настолько, что GUI-интерфейсы других операционных систем начинают на него походить все больше;

    разработано огромное количество драйверов независимых производителей;

    разработано множество очень мощных интегрированных инструментальных пакетов (IDE).

2.5.3 Windows NT 4.0 как ОСРВ. Общие требования

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

    операционная система должна поддерживать многопоточность (многонитиевость - multithreaded) и вытеснение задач по приоритетам (preemptable);

    должно существовать понятие приоритета потока (нити);

    операционная система должна поддерживать механизмы синхронизации исполнения потоков (нитей) с предсказуемыми характеристиками;

    должен иметься механизм наследования приоритетов;

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

Первому требованию Windows NT явно удовлетворяет. Второму - тоже, но для режима реального времени уровней приоритета маловато. Практически невозможно спроектировать хорошую систему реального времени, например, с диспетчеризацией в зависимости от частоты (rate-monotonic scheduling), поскольку доступного количества приоритетных уровней исполнения потоков не хватит. Кроме того, в NT отсутствует механизм наследования приоритетов.

Для обработки прерываний с целью минимизации затрат времени на подпрограммы обслуживания прерываний (ISR-подпрограммы) в NT была введена концепция отложенных вызовов процедур (deferred procedure calls - DPC). Хотя приоритет этих вызовов выше, чем приоритет пользовательских и системных потоков, все они находятся на одном и том же уровне. Это означает, что все DPC-вызовы выстраиваются в FIFO-очередь и что прерывание высокого уровня будет обслужено только тогда, когда свое исполнение завершат все предшествующие ему DPC-вызовы. Вследствие этого, время отклика системы становится непредсказуемым, что противоречит пятому требованию.

В NT в основе управления памятью лежит механизм виртуальной памяти. Это влечет за собой защиту памяти, преобразование адресов и подкачку (свопинг). Для приложений РВ свопинг неприемлем. Страницы памяти могут быть заблокированы в физической памяти. Однако Джеффри Рихтер (Jeffrey Richter) в своей книге утверждает, что, если процесс не активен, NT может разблокировать страницы процесса и переписать их из физической памяти на диск.

2.5.4 Расширения реального времени для Windows NT. Расширение функциональности

Расширения реального времени добавляют к Windows NT специфическую для реального времени функциональность:

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

    Процессы реального времени и стандартные процессы Win32 имеют средства взаимодействия друг с другом.

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

    Одно и то же приложение может использовать как стандартные функции Win32, так и специфические функции API реального времени (RTAPI), что позволяет выделять критические участки кода приложений Windows NT и контролировать время и надежность их выполнения.

    Появляется возможность контроля за работоспособностью и временами реакции системы. "Зависания" стандартных приложений Windows NT или "крах" системы не приводят к "зависанию" приложений реального времени.

    Появляется возможность работы с быстрыми часами и таймерами высокого разрешения.

    Появляется возможность прямого доступа к памяти и физическим устройствам

2.5.4.1 Подсистема реального времени RTSS

Подсистема реального времени RTSS обеспечивает исполнение большинства функций и управление ресурсами расширений реального времени. С точки зрения реализации, RTSS выглядит как драйвер Windows NT и выполняется в режиме ядра. Это позволяет достаточно простым способом устроить взаимодействие между процессами реального времени и процессами Windows NT. RTSS обеспечивает исполнение функций RTAPI и содержит планировщик нитей реального времени со 128-ю фиксированными приоритетами. RTSS содержит также менеджер объектов, предоставляющий унифицированные механизмы использования системных ресурсов.

Управление объектами RTSS: Предоставляет возможности унифицированного управления объектами RTSS (создание,закрытие,доступ). Объектами RTSS являются: таймеры, обработчики прерываний и исключительных ситуаций (startup, shutdown, blue screen), нити, процессы, семафоры, мьютексы, разделяемая память, почтовые ящики, консольный и файловый ввод-вывод, регистры.

2.5.4.2 HAL реального времени

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

2.5.4.3 Программный интерфейс реального времени RTAPI

Программный интерфейс реального времени RTAPI является расширением Win32 и содержит, прежде всего, набор функций, необходимых для управления устройствами. RTAPI реализован в двух видах - как подмножество подсистемы реального времени (RTSS) и как динамическая библиотека (DLL), которая может вызываться из Win32-приложений. RTAPI содержит следующие группы функций:

    Управление процессами и нитями: Предоставляет Win32-совместимый интерфейс для управления, создания, изменения приоритетов, профилирования и завершения нитей реального времени.

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

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

    Доступ к физической памяти: Приложение пользователя получает возможность доступа к данным по физическим адресам памяти.

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

    Часы и таймеры: Содержит функции управления часами и таймерами (создание, удаление, отмена, инициализация таймеров, назначение обработчиков прерываний)

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

3. ОС РВ используемые в современных системах ЧПУ

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

  • RTMX (фирма RTMX-Uniflex);

    AMX (фирма Kadak Products Ltd.);

    OS-9000 (фирма Microwave Systems);

    Lynx OS (фирма Lynx Real-Time Systems);

    VRTX (фирма Ready Systems);

    FlexOS (фирма Novell Dedicated Sys Bus Unit);

    QNX (фирма Quantum Software Systems)

    ОС РВ собственной разработки.

3.1 ОС РВ собственной разработки

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

3.2 FlexOS

В настоящее время используется очень редко. Эта операционная система была современной и популярной, а сейчас является скорее устаревшей. У Siemens была своя операционная система FlexOS, свои языки, полевые шины. Потом Siemens провозгласил своим принципом открытость. Фактическим стандартом для более раннего Siemens"а и вообще программного обеспечения АСУТП разных фирм стала операционная система Windows NT, позволившая использовать в программном обеспечении весь багаж, накопленный в офисных системах.

3.3 QNX

Эта операционная система предназначена не только для персональных компьютеров, но и для самых разных бытовых и промышленных интеллектуальных устройств - систем, управляющих технологическими процессами, станков с ЧПУ, интернет-приставок, видеовоспроизводящих агрегатов, игровых консолей. Данная ОС во многом весьма примечательна и уникальна. В 1982 году в Канаде фирма "Quantum Software Systems, Limited" - QSSL, созданная г-ми Беллом и Доджем (Gordon Bell & Dan Dodge), представила миру новейшую многозадачную многопользовательскую операционную систему реального времени "Quick UNIX", разработка которой, как говорят, началась по заказу Министерства обороны Соединенных Штатов. Это была UNIX-подобная операционная система, вернее, совместимая со стандартом на переносимость приложений POSIX, в соответствии с которым сделаны также UNIX и его популярный клон Linux.

3.4 Windows XP

Как бы странно это ни прозвучало, но бывает, что Windows XP используется в качестве графического интерфейса оператора, а специальная операционная система в реальном времени используется для безопасности обеспечения функций ЧПУ. В случае возникновения проблемы на XP (напр. с подключением к сети) это никак не отразится на обработке или на самом станке, т.к. ЧПУ работает в своей операционной системе.

3.5 Windows NT4

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

    Например фирма Walter Grinders оснащает станки модели Helitronic_Power собственной открытой системой ЧПУ (тип HMC 500). В системе ЧПУ типа HMC 500 используется процессор типа Pentium, операционная система Windows NT и программое обеспечение Walter Window Mode. Программное обеспечение Walter Window Mode - собственная разработка фирмы Walter Grinders.

    Система WinPCNC является однокомпьютерной системой ЧПУ, построенной на мощной платформе персонального компьютера с операционной системой Windows NT и расширением реального времени RTX 4.1. Она относится к классу PCNC (Personal Computer Numerical Control), т.е. к классу так называемых "персональных систем управления", который справедливо считают сегодня наиболее перспективным классом систем ЧПУ нового поколения. Система использует единственный процессор для обслуживания всех ее функций, включая функции электроавтоматики. Аппаратная часть представлена стандартной аппаратурой персонального компьютера и дополнительными интерфейсными модулями для связи со следящими приводами подачи и главного движения, приводами электроавтоматики, панелью оператора. Все эти средства доступны сегодня на компьютерном рынке, а следовательно отсутствует необходимость в организации специального производства систем ЧПУ.

Конечно, хотелось бы иметь в качестве ОС РВ Windows NT. Но может ли потянуть Windows NT сегодня, даже с расширением реального времени (Real-Time Extensions) задачи, которые всегда решали ОС РВ? Многочисленные тесты показали, что на типовых компьютерных платформах на базе процессоров Pentium максимальное время реакции на прерывание (начиная от возникновения прерывания до входа в нить обработки, включая восстановление контекста) составляет 25-80 мкс, при условии значительной загрузки тестируемой системы: проверка диска (chkdsk), GUI приложения и интенсивный сетевой обмен. Эти цифры сравнимы с теми, что обеспечивают другие ОС РВ и превосходят некоторые из них.
Учитывая вышесказанное, имеет смысл начать поиск удачного решения Real-Time Extensions для Windows NT. Нужно сказать, что Windows NT не является открытой системой, и заранее ясно, что проекты Real-Time Extensions сторонних фирм будут только надстройками, не меняющими сути ОС.

Дополнение стандартного ядра NT ядром реального времени - этот подход лежит в основе предложений фирм Radisys, Imagination и LP Elektronik. Имеются две принципиально разные его реализации:

    разместить ядро реального времени внутри программы обслуживания прерываний Windows NT или в драйвере устройства;

    разместить ядро реального времени вне адресного пространства Windows NT.

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

3.6 Windows CE 2.0 - открытые системы ЧПУ

Фирма GE Fanuc Automation подготовила к выпуску системы ЧПУ серии Is - первые в мире открытые системы ЧПУ со встроенной операционной системой Windows CE 2.0. В серию входят три модели: мод. Series 160 Is, мод. Series 180 Is и мод.Series 210. Системы ЧПУ серии Is могут использоваться для управления металлорежущими станками различных типов, начиная от 2-координатных токарных станков и заканчивая 5-координатными обрабатывающими центрами, установками для лазерной резки, дыропробивными прессами и т.п.

Операционная система Windows CE 2.0 предназначена, как известно, для карманных компьютеров и поэтому отличается очень малым размером. Вместе с тем, ее возможностей вполне достаточно для реализации функций, которыми должны обладать современные открытые системы ЧПУ. Благодаря малому размеру ОС Windows CE 2.0, в системах ЧПУ серии Is удалось отказаться от жесткого диска. Для хранения операционной системы и управляющих программ используется флеш-память емкостью 45 мбайт. Отсутствие у систем ЧПУ серии Is жесткого диска делает их чрезвычайно устойчивыми к механическим воздействиям, которые трудно исключить при транспортировке и эксплуатации в условиях реального производства.

3.7 Nucleus

Операционная система Nucleus, предназначенная для встраиваемых приложений, была разработана компанией Accelerated Technology Inc. (ATI, США), основанной в 1990 г. двумя программистами. Они ставили перед собой вполне конкретную цель: создать очень компактную ОС реального времени для встраиваемых систем, независимую от типа процессора, полностью открытую (что подразумевает поставку с исходными текстами), хорошо документированную и имеющую приемлемую цену.
Если Nucleus сравнить, например, с такой известной ОС РВ QNX, то нетрудно заметить ряд их различий.

Nucleus является кросс-системой, в то время как QNX - одновременно и средой разработки, и средой исполнения. Под кросс-системой понимается такая технология разработки, при которой ПО создается на одной программно-аппаратной платформе, а исполняется на другой. Совмещение в QNX среды разработки и среды исполнения очень полезно в тех случаях, когда пользователь работает на IBM PC-совместимой архитектуре.

Nucleus позволяет разрабатывать ПО для многих процессоров, а QNX - только для IBM PC-совместимых.

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

Приобретая Nucleus, покупатель оплачивает ее только один раз: за тиражирование своего ПО фирма ATI дополнительной платы не взимает. Стоимость этой ОС вместе с необходимыми инструментальными средствами составляет 10-30 тыс. долл. При покупке QNX пользователь должен заплатить за полную систему (около 2500 долл. за ОС и компилятор Watcom C), а при тиражировании ПО - покупать у фирмы QSSL по крайней мере модульные лицензии за необходимый набор драйверов (от 50 до 1000 долл.).

QNX 4.x удовлетворяет стандарту POSIX 1003. Nucleus не отвечает этому стандарту, но он обладает достаточно мощным набором системных вызовов.

3.8 OSE 5.0

Sharp Microelectronics и Enea Embedded Technology сотрудничают при оптимизации BlueStreak System-on-Chip компонентов, специально примененяемых в мобильных конечных устройствах.

В первом проекте фирма Enea размещает версию 5.0 операционной системы реального времени OSE (RTOS) на 32-разрядном микроконтроллере LH7A400. Эта System-on-Chip, базирующаяся на ядре ARM922TT 200 мегагерц, уже включает в себя многочисленные периферийные модули, такие как USB Device, MultimediaCard Interface, внешний контроллер DMA, последовательные и параллельные интерфейсы, включая поддержку инфракрасного порта, а также программируемые контроллеры с прямыми интерфейсами жидкокристаллических дисплеев для всех распространенных типов дисплеев (STN, Color STN, TFT и Sharps Advanced-TFT). При этом поддерживаются разрешения до 1024x768 пикселей, с числом цветов до 64.000 и с 15 полутонами. Таким образом, BlueStreak SoC LH7A400 предназначен для использования в качестве процессора в мобильных High-End-устройствах.

3.9 OS-9

OS-9 относится к классу UNIX подобных операционных систем реального времени и предлагает к использованию многие привычные элементы среды UNIX. Однако, оригинальный модульный объектно-ориентированный дизайн системы сейчас также нов, как и тогда, когда он впервые создавался. OS-9 является чрезвычайно гибко конфигурируемой высокопроизводительной системой реального времени. Модульность системы означает, что она может быть масштабирована для удовлетворения нужд как маленьких встроенных систем, так и больших сетевых приложений. Все функциональные компоненты OS-9, включая ядро, иерархические файловые менеджеры, систему ввода/вывода и средства разработки, реализованы в виде независимых модулей. Комбинируя эти модули, разработчик может создавать системы с самой разной конфигурацией - от миниатюрных автономных ПЗУ ориентированных ядер до полномасштабных многопользовательских систем разработки. Как правило, разработка программ ведется в полнофункциональных конфигурациях. После того как будет отлажен код программы реального времени, отсоединяются модули разработки и ввода/вывода, и полученный код готов к исполнению под управлением ядра в целевой системе.

3.10 VxWorks/Tornado

Операционная система VxWorks является системой с кросс-средствами разработки прикладного программного обеспечения, то есть разработка ведется на инструментальном компьютере (host) в среде Tornado для последующего исполнения на целевой машине (target) под управлением VxWorks.

VxWorks поддерживает целевые архитектуры (targets): Motorola 680x0 и CPU32, Intel 386/486/Pentium/.., Intel 960, SPARC, Mips R3000/4000, ARM, Motorola 88110, HP PA-RISC, Hitachi SH7600, PowerPC, DEC Alpha, Siemens C16x.

Инструментальные платформы, поддерживаемые для Tornado (hosts): Sun SPARCstation (SunOS и Solaris), HP 9000/400,700 (HP-UX), IBM RS6000 (AIX), Silicon Graphics (IRIX), DEC Alpha (OSF/1), PC (Windows 95 и NT).

Поддерживаемые интерфейсы host-target: Ethernet, RS-232, внутрисхемный эмулятор ICE (In-Circuit Emulator), кросс-шина (backplane), ROM-эмулятор, BDM-интерфейс (Background Debug Mode).

Инструментальная среда Tornado имеет открытую архитектуру, что позволяет другим фирмам-производителям инструментальных средств разработки ПО реального времени интегрировать свои программные продукты с Tornado. Пользователь также может подключать к Tornado свои собственные специализированные средства разработки, а также расширять возможности инструментальных средств фирмы Wind River Systems.

В стандартную конфигурацию Tornado входят ядро VxWorks и системные библиотеки, GNU C/C++ Toolkit, дистанционный отладчик уровня исходного языка CrossWind, оболочка WindSh, конфигуратор BSP WindConfig и др.

3.12 RTX

Фирма VenturCom разработала подсистему реального времени RTX (Real-Time Extensions) для Windows NT с благословения и при поддержке Microsoft. Microsoft передала лицензию на исходные тексты такого компонента Windows NT, как Уровень Абстракции Аппаратуры (HAL, Hardware Abstraction Level), который в основном и определяет характеристики ОС по обработке прерываний. RTX добавляет дополнительные вызовы к интерфейсу прикладного программирования (RTAPI, Real-Time API), а также загружает модифицированный HAL, который <изолирует> аппаратные прерывания от ядра Windows NT. RTX предоставляет для системы таймер реального времени с расширением 1млс и уменьшает время отклика. RTX обеспечивает для процессов доступ к физическим адресам памяти и портов ввода/вывода, а также специальные методы работы со страничной памятью, исключающие свойственные Windows NT задержки. Соответствующим образом отрабатываются попытки перезагрузки или тяжелые остановы типа <голубой экран>. Кроме того, предлагаются интерфейсы, замещающие функции WIN32, ответственные за планировку и синхронизацию задач, межзадачный обмен сообщениями, работу с аппаратными прерываниями и т.д. Самое интересное, что для этого не нужны изменения Windows NT и это не отразится на работоспособности существующих программ.

Для разработчиков встраиваемых систем VenturCom предлагает версию Windows NT, которая требует менее 10 Мбайт ПЗУ и 8 Мбайт ОЗУ. Подкачка страниц виртуальной памяти при этом запрещена, а в качестве дополнительных драйверов предлагаются драйверы Null-Display и Null-Input, позволяющие системе работать без дисплея и клавиатуры.

3.13 Falcon

Под этим красивым кодовым названием мы можем легко распознать знакомую многим операционную систему iRMX. После того как Intel передала права на эту ОСРВ компании RadiSys, последняя неустанно трудилась над интеграцией полученного продукта с платформой Windows NT. Фирма выбрала стандартный путь лицензирования у Microsoft исходных текстов уровня HAL, с их последующим изменением под требования жесткого реального времени.

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

4. Обзор ЧПУ

Ниже приведена таблица соответствия - в каких современных ЧПУ, какие операционные системы используются.

Система ЧПУ Операционная система
Siemens GmbH
840 D/ 810 D Windows/UNIX Real Time
840 Di MS Win NT/ XP + RTX
802 D Real Time DOS
802 S/C Операционная система собственной разработки
GE Fanuc
0T-D, 1018T, 3000C, 6M, 7,SYS P - Model E QNX 6.2Windows NT
160i-MB Windows 2000 (ISO-DIN программируемая)
Series 210 Is Windowes CE 2.0
Series 180 Is Windowes CE 2.0
Series 160 Is Windowes CE 2.0
Балт-Систем СПб
NC201 Операционная система собственной разработки (нет информации)
NC110
NС210 Операционная система собственной разработки(нет информации)
MSH
MSH PC-104 MS Win NT/ XP + RTX
MSH TURBO-U MS Win NT/ XP + RTX
MSH TURBO-M MS Win NT/ XP + RTX
MSH TURBO-120M MS Win NT/ XP + RTX
FMS
FMS-3000 - Н.Новгород
FMS-3100 - Н.Новгород Программное обеспечение системы реализовано на базе ядра жесткого реального времени с использованием библиотеки RT-Kernel,
Heidenhain (Германия)
TNC 145TNC 151TNC 155TNC 355TNC 4110TNC 426TNC 530 Используются следующие ОС:QNX 6.2DOSWindowsUnixLinux
Gildemeister
Eltra PilotEltra-pilot GD-4A Windows NT4
MAHO (Германия)
MAHO 332MAHO 432 MS DOS, MS Windows 3.x
NCT
NCT 2000 Linux RT или Windows RT
Numerik
CNC 600CNC 645CNC 646 Windows NT4
WinPCNC одно-компьютерная система ЧПУ, построенная на платформе персонального компьютера с ОС Windows NT и расширением реального времени RTX 4.1 фирмы VentureCom
КРТ4-00 - Контур Терминальная частьMS Win NT/ XP + RTX

5. Выводы

Так какую ОС выбрать? Если рассматривать двухпроцессорную архитектуру ЧПУ, то на модуль РС, выполняющий терминальную задачу, лучше установить надёжную ОС с удобным интерфейсом (Windows NT), а на модуль NC, решающий геометрическую и логическую задачи, поставить ОС РВ, допустим QNX, которая хорошо структурирована, имеет развитый набор специфических механизмов реального времени, компактна и предсказуема.
Вычислительные мощности современных персональных компьютеров постоянно растут, и сегодня реально построение однопроцессорной системы ЧПУ. Для ее реализации необходимо объединить две задачи, PC и NC, под управлением единой ОС.

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

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

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

6. Используемая литература

  • Timmerman M., Monfret J-C., "Windows NT as Real-Time OS?", Real- Time Magazine 2/97, 6-13
  • Сорокин С.А. Системы реального времени. СТА. 1997, №2, с. 22-29
  • Шалунов С. ОС Hurd - разработка FSF на основе микроядра. Открытые системы. 1997. №3
  • Володин С.В., Макаров А.Н., Утрихин Ю.Д., Фараджаев В.А. Общесистемное проектирование АСУ реального времени. М. 1984
  • Место систем отображения информации в АСУ реального времени.
  • Windows NT Real-Time Extensions: an Overview, Real-Time Magazine, 97Q2, Dr. ir. Martin Timmerman, Managing Director, Jean-Christophe Monfret, Project Manager, Real-Time Consult.
  • Сосонкин В.Л., Мартинов Г.М. Aнализ современного мирового уровня архитектурных решений в области ЧПУ
  • Мартинов Г.М., Сосонкин В.Л. Проблема реального времени