Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilety_OS.docx
Скачиваний:
1
Добавлен:
29.02.2020
Размер:
2.72 Mб
Скачать

Билет 1. Функции ОС

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

  1. Управления ресурсами вычислительной системы (ВС)

  2. Создания интерфейсов

  3. Обеспечения защиты ресурсов ВС

  4. Оценки эффективности функционирования ВС

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

Ресурсы вычислительной системы.

  1. Время центрального процессора

  2. Память – оперативная и виртуальная

  3. Информация (файлы)

  4. Устройства хранения информации (винчестер, flash, DVD, …)

Интерфейсы ОС

  • Командная строка

  • Графический интерфейс пользователя (GUI)

  • Интерфейс прикладных программ (API)

Последовательность обращения и передачи данных (сверху вниз и снизу вверх):

Пользователь – ППО – ОС – Аппаратура – ОС – ППО – Пользователь.

ППО – прикладное ПО.

Компоненты операционной системы:

  • Загрузчик

  • Ядро

  • Командный процессор (интерпретатор)

  • Драйверы устройств

  • Интерфейс

Билет 2. Многоуровневая организация ОС

Первой системой, построенной таким образом, была система THE, созданная в Technische Hogeschool Eindhoven в Голландии Э. Дейкстрой (Е. W. Dijkstra) и его студентами в 1968 году. Система THE была простой пакетной системой для голландского компьютера Electrologica X8, имевшего память 32 К 27-разрядных слов. Как показано в табл. 1.3, у системы было шесть уровней.

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

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

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

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

Таблица 1.3. Структура операционной системы THE

Уровень

Функция

5

Оператор

4

Программы пользователя

3

Управление вводом-выводом

2

Связь оператора с процессом

1

Управление основной памятью и магнитным барабаном

0

Распределение ресурсов процессора и обеспечение многозадачного режима

Дальнейшее обобщение многоуровневой концепции было сделано в системе MULTICS. Вместо уровней для описания MULTICS использовались серии концентрических колец, где внутренние кольца обладали более высокими привилегиями по отношению к внешним (что, собственно, не меняло сути многоуровневой системы). Когда процедуре из внешнего кольца требовалось вызвать процедуру внутреннего кольца, ей нужно было создать эквивалент системного вызова, то есть выполнить инструкцию TRAP, параметры которой тщательно проверялись на допустимость перед тем, как разрешить продолжение вызова. Хотя вся операционная система в MULTICS являлась частью адресного пространства каждого пользовательского процесса, аппаратура позволяла определять отдельные процедуры (а фактически сегменты памяти) как защищенные от чтения, записи или выполнения. Следует отметить, что система уровней в конструкции THE играла лишь вспомогательную роль, поскольку все части системы, в конечном счете, компоновались вместе в единую исполняемую программу, а в MULTICS кольцеобразный механизм главным образом существовал в процессе выполнения и реализовывался за счет аппаратного обеспечения. Преимущества кольцеобразного механизма проявлялись в том, что он мог быть легко расширен и на структуру пользовательских подсистем. Например, профессор может написать программу для тестирования и оценки студенческих программ и запустить эту программу в кольце n, а студенческие программы будут выполняться в кольце n + 1, так что студенты не смогут изменить свои оценки.

Билет 3. Критерии классификации ОС. Классификация ОС. Примеры ОС. Области применения ОС различных типов.

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

1. Классификация операционных систем по мощности аппаратных средств.

1.1. Операционные системы мэйнфреймов – больших компьютеров, которые еще используются в центрах данных корпораций. Мэйнфреймы отличаются от персональных компьютеров по возможностям ввода-вывода. Часто встречаются мэйнфреймы с большим количеством дисков и терабайтами данных. Мэйнфреймы возвращаются в виде мощных web-серверов, серверов для крупномасштабных электронно-ком­мер­­ческих сайтов и серверов для транзакций в бизнесе. Операционные системы для мэйнфреймов в основном ориентированы на обработку множества одновременных заданий, большинству из которых требуется огромное количество операций ввода-вывода. Обычно они предлагают три вида обслуживания:

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

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

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

Указанные функции тесно связаны между собой, и зачастую операционная система мэйнфрейма выполняет их все, например, операционная система OS/390, произошедшая от OS/360.

1.2. Серверные операционные системы – системы, которые работают на серверах и представляют собой очень большие персональные компьютеры, рабочие станции или мэйнфреймы. Они одновременно обслуживают множество пользователей и дают возможность им делить между собой программные и аппаратные ресурсы. Серверы предоставляют возможность работы с печатающими устройствами, файлами или Интернетом. Интернет-провайдеры обычно запускают в работу несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входящие запросы. Типичными серверными операционными системами являются  UNIX и Windows 2000, теперь в этих целях стала использоваться и операционная система Linux.

1.3. Операционные системы для персональных компьютеров. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются для работы с текстом, электронными таблицами и для доступа к Интернету. Например: Windows 98, Windows 2000, ОС компьютера Macintosh и Linux. В настоящее время распространены следующие семейства операционных систем: DOS (первый представитель этого семейства – система MS-DOS, Microsoft Disk Operating System – дисковая операционная система фирмы Microsoft была выпушена в 1981 г. в связи с появлением IBM PC); OS/2; UNIX; Windows; операционные системы реального времени.

1.4. Встроенные операционные системы – простые операционные системы, устанавливаемые в принтерах, кассовых аппаратах и других внешних устройствах. Состоят из микроядра и функциональных блоков, обеспечивающих подключение в сеть внешнего устройства. Такие системы, управляющие действиями устройств, работают на машинах, обычно не считающихся компьютерами, например, в телевизорах, микроволновых печах, мобильных телефонах и карманных компьютерах. Карманный компьютер (PDA, Personal Digital Assistant – персональный цифровой помощник) – это маленький компьютер, помещающийся в кармане брюк, выполняющий небольшой набор функций (телефонной записной книжки и блокнота). Данный класс систем часто обладает такими же характеристиками, что и системы реального времени, но при этом имеют особый размер, память и ограничение мощности, что выделяет их в обособленный класс. Например, операционные системы: Palm OS, Windows CE (Consumer Electronics – бытовая техника).

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

2. Классификация операционных систем для компьютеров по выполняемым функциям.

2.1. Дисковые операционные системы (ДОС) – системы, берущие на себя выполнение только простых функций. Как правило, они представляют собой некий резидентный набор подпрограмм. ДОС загружает пользовательскую программу в память и передает ей управление, по завершении работы программа передает управление ДОС. Например, различные загрузочные мониторы для машин классаSpectrum. Как правило, такие системы работают одновременно только с одной программой. Прямым наследником одного из таких резидентных мониторов является дисковая операционная система MS-DOS дляIBM PC-сов­мес­тимых ПК. Существование систем этого класса обусловлено их простотой и тем, что они потребляют мало ресурсов.

2.2. Операционные системы общего назначения (ОС). К этому классу относятся системы, берущие на себя выполнение всех функций. Разделение на ОС и ДОС идет от систем IBM DOS/360 и OS/360 для больших компьютеров, клоны которых известны под названием ЕС ЭВМ серии 10ХХ. ОС общего назначения рассчитаны на интерактивную работу одного или нескольких пользователей в режиме разделения времени при не очень жестких требованиях ко времени реакции системы на внешние события. Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных программ. Обычно подобные системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся широко распространенные системы семейства Windows 2000 и семейства Unix.

2.3. Системы виртуальных машин (СВМ) – операционные системы, допускающие одновременную работу нескольких программ, но создающие при этом для каждой программы иллюзию того, что машина находится в полном ее распоряжении, как при работе под управлением ДОС. Зачастую, программой оказывается полноценная операционная система. Например: операционная система VMWare для машин с архитектурой х86 или VM для System/370 и ее потомков. Виртуальные машины являются ценным средством при разработке и тестировании кросс-платформенных приложений. Реже они используются для отладки модулей ядра или самой операционной системы. Такие системы отличаются высокими накладными расходами и сравнительно низкой надежностью, поэтому относительно редко находят промышленное применение. Часто СВМ являются подсистемой операционных систем общего назначения: MS DOS и MS Windows-эмуляторы для UNIX и OS/2, подсистема WoW в Windows NT/2000/XP, DOS в Windows З.х/95/98/МЕ, эмулятор RT-11 в VAX/ VMS. В системах виртуальных машин, как правило, приходится уделять много внимания эмуляции работы аппаратуры. Например, несколько программ могут начать программировать системный таймер. СВМ должна отследить такие попытки и создать для каждой из программ иллюзию, что она запрограммировала таймер именно так, как «хотела».

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

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

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

2.5. Средства кросс-разработки – это системы, которые предназначены для создания программ в двухмашинной конфигурации, когда редактирование, компиляция, а зачастую и отладка кода производятся на инструментальной машине, а потом скомпилированный код загружается в целевую систему. Чаще всего они используются для написания и отладки программ, позднее прошиваемых в постоянно запоминающем устройстве (ПЗУ). Примерами таких операционных систем являются системы программирования микроконтроллеров Intel, Atmel, PIC и др., системы Windows СЕ, Palm OS и т. д. Такие системы, как правило, включают в себя:

–   набор компиляторов и ассемблеров, работающих на инструментальной машине с нормальной операционной системой;

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

–   средства отладки.

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

2.6. Системы промежуточных типов. Существуют системы, которые нельзя отнести к одному из вышеперечисленных классов. Например:

–   система RT-11, которая, по сути своей, является ДОС, но позволяет одновременное исполнение нескольких программ с довольно богатыми средствами взаимодействия и синхронизации;

–   MS Windows 3.x и Windows 95, которые как операционные системы общего назначения используют аппаратные средства процессора для защиты и виртуализации памяти и даже могут обеспечивать некоторое подобие многозадачности, но не защищают себя и программы от ошибок других программ, подобно ДОС;

–   системы реального времени, подобные QNX, могут использоваться в качестве самостоятельной операционной системы, загружаемой с жесткого диска в оперативную память; в то же время, будучи прошиты в постоянном запоминающем устройстве (ПЗУ), они могут быть отнесены одновременно к операционным системам общего назначения и к системам кросс-разработки.

3. Классификация операционных систем по числу одновременно выполняемых задач:

–   однозадачные операционные системы – системы, которые поддерживают режим выполнения только одной программы в отдельный момент времени, например, MS-DOS;

–   многозадачные операционные системы – системы, которые поддерживают параллельное выполнение нескольких программ в рамках одной вычислительной системы в один момент времени, например: UNIX, OS/2, Windows.

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

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

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

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

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

–   однопользовательские операционные системы – системы, которые поддерживают работу только одного пользователя (MS-DOS, Windows 3.x);

–   многопользовательские операционные системы – системы, которые поддерживают одновременную работу на ЭВМ нескольких пользователей за различными терминалами (Windows NT, Unix).

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

5. Классификация операционных систем по разрядности кода:

–   8-разрядные;

–   16-разрядные;

–   32-разрядные;

–   64-разрядные.

Разрядность показывает, какую разрядность внутренней шины данных центрального процессора способна поддержать операционная система, и определяет программы, с которыми она будет работать. Все современные операционные системы поддерживают 32-разрядный интерфейс прикладных программ. Разрядность кода интерфейса прикладных программ имеет непосредственное отношение к адресному пространству оперативного запоминающего устройства (ОЗУ). Адресное пространство памяти – это область адресов памяти, распределяющейся между операционной системой и данными; между видеопамятью, памятью BIOS, блоком информации запрещенного режима работы и т. д. Операционная система может поддерживать два режима работы центрального процессора: реальный и защищенный. Вреальном режиме работы процессора, характерном для MS-DOS, все программы и данные располагаются в одной области оперативной памяти, т. е. пользователь может войти в системную программу и случайно испортить ее. Защищенный режим работы процессора поддерживается 32-разрядными операционными системами и позволяет хранить программы и данные отдельно в соответствии с их важностью в системе.

6. Классификация операционных систем по количеству поддерживаемых процессоров:

–   однопроцессорные;

–   многопроцессорные.

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

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

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

–   асимметричные – системы, в которых процессоры неравноправны, обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.

7. Классификация операционных систем по типу доступа пользователя к ЭВМ:

–    операционные системы пакетной обработки – из программ, подлежащих выполнению, формируется пакет (набор) заданий, вводимых в ЭВМ и выполняемых в порядке очередности с возможным учетом приоритетности;

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

–    операционные системы реального времени – системы, которые обеспечивают определенное гарантированное время ответа машины на запрос пользователя с управлением им какими-либо внешними по отношению к ЭВМ событиями, процессами или объектами.

8. Классификация операционных систем по типу использования ресурсов.

8.1. Стандартные операционные системы (операционные системы общего назначения) – используются для реализации следующих задач:

–   управления аппаратными средствами компьютера;

–   создания рабочей среды и интерфейса пользователя;

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

–   организации ввода-вывода;

–   хранения и управления файлами и данными.

Наиболее известными стандартными операционными системами являются MS-DOS, MS-Windows 95-98, Windows-2000, Professional, MS-Windows Nt, Ibm OS /2, At&T, Unix.

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

–   одноранговые операционные системы, которые могут устанавливаться на любой рабочей станции и использоваться самостоятельно в виде отдельных программных средств, либо входить в состав пакетов, другую половину которых представляют программы, обслуживающие мощные компьютеры управления сетями – серверы, например: OS/2, Windows Nt Workstation;

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

К числу серверных операционных систем с высокой производительностью и широкими сетевыми возможностями относятся: Windows NT Server Novell Net Ware, OS/2 SMP и др. Операционная системаWindows 2000 Server базируется на платформе Windows NT Server, в отличие от которой имеет более высокую производительность и надежность. В состав семейства входят Windows 2000 Server для рабочих групп, Windows 2000 Advanced Server для приложений и более надежных серверов, Windows 2000 Data Saved Server или Windows 2000 Data Centered Server для наиболее ответственных систем обработки данных.

9. Классификация операционных систем по типу используемого интерфейса:

–   текстовые – операционные системы, основанные на интерфейсе командной строки, например: OS/360, CP/M, первые версии MS-DOS и UNIX;

–   поддерживающие графический интерфейс, например, семейства операционных систем Microsoft Windows.

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

–   системы для больших компьютеров фирмы IBM: OS/390, z/OS и IBM VM;

–   семейство Unix обширное, постоянно развивающееся, выделяют три рода: Unix System V Release 4.x: Sunsoft Solans, SCO UnixWare; Berkeley Software Distribution Unix: BSDI, FreeBSD; Linux;

–   семейство прямых и косвенных потомков Control Program/Monitor (СР/М) фирмы Digital Research; в этом семействе выделяют широко известное подсемейство \sisname{Win 32}-платформ;

–   семейство практически вымершее, но оставившее в наследство ряд важных и интересных концепций: операционные системы для мини- и микрокомпьютеров фирмы DEC: RT-11, RSX-11 и VAX/VMS;

–   семейства операционных систем Windows, в настоящее время существует несколько различающихся направлений в семействе:

·  Windows NT/2000;

·  Windows XP;

·  Windows 2003 Server.

Каждое направление состоит из некоторого числа модификаций версий Windows, что позволяет выделить две области применения:

–   версии персональные, такие как Windows XP Home Edition;

–   версии для рабочих станций сетей, Windows 2000 Professional, Windows XP Professional;

–   версии для серверов сетей, Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows 2003 Server.

Среди общего числа версий Windows есть преемники принципиально нового направления, технологии NT (New Technology, разрабатываемой Microsoft с 1989 г.). К операционным системам технологии NTпредъявляется ряд повышенных требований, в сравнении с потребительскими версиями Windows: поддержка многопроцессорных систем, вытесняющая многозадачность, работа с виртуальной памятью, защищенная файловая система и др. К ним относятся все версии операционных систем Windows 2000 и Windows XP. Системные файлы этих модификаций одинаковы, как и ядро операционных систем. Они различаются между собой по числу поддерживаемых процессоров, объему поддерживаемой физической памяти, одновременному числу сетевых подключений и наличием дополнительных сетевых сервисов.

В сравнении с предыдущими версиями (Windows 95/98/ME), у операционных систем технологии NT имеется ряд существенных отличий:

–   повышение надежности работы ядра системы и исключение возможности зависания операционной системы из-за зависания или некорректной работы пользовательской программы;

–   возможность использования не только файловых систем из предыдущих версий Windows: FAT16 и FAT32, но и более безопасной и надежной файловой системы NTFS (NT File System);

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

–   на одном компьютере можно запускать не только версии Windows 2000/XP, но и более ранние версии Windows 95/98/МЕ, для чего используется конфигурация с двойной загрузкой, где можно выбрать требуемую операционную систему в данном сеансе работы.

Выбор типа операционной системы часто представляет собой сложную задачу. Некоторые приложения накладывают жесткие требования, которым удовлетворяет только небольшое количество систем. Например, задачи управления промышленным или исследовательским оборудованием в режиме жесткого реального времени вынуждают делать выбор между специализированными операционными системами реального времени и некоторыми операционными системами общего назначения, такими как Unix System V Release 4. Хотя Unix SVR4 теоретически способна обеспечивать гарантированное время реакции, системы этого семейства имеют ряд недостатков с точки зрения задач реального времени, поэтому чаще всего предпочтительными оказываются специализированные операционные системы (QNX, VxWorks, OS-9 и пр.). Другие приложения, например серверы баз данных, требуют высокой надежности и производительности, что отсекает системы класса ДОС и MS-Windows.

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

Билет 4. ОС РВ

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

Это определение означает, что:

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

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

 

Чем принципиально отличаются операционные системы реального времени от операционных систем общего назначения?

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

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

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

Различают системы реального времени двух типов - системы жесткого реального времени и системы мягкого реального времени.

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

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

  • может произойти катастрофа в случае задержки реакции,

  • стоимость опоздания может оказаться бесконечно велика.

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

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

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

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

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

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

Среди коммерческих систем реального времени можно выделить группу ведущих систем - по объемам продаж и по популярности. Эти системы: VxWorks, OS9, pSOS, LynxOS, QNX, VRTX.

Билет 5. ОС семейства Microsoft Windows 1 и 2 поколений. Достоинства, недостатки. Области применения.

http://ru.wikipedia.org/wiki/Windows_1.0

http://ru.wikipedia.org/wiki/Windows_2.0x

Билет 6. Cmd

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

Некоторые команды распознаются и выполняются непосредственно самим командным интерпретатором — такие команды называются внутренними (например, COPY или DIR). Другие команды ОС представляют собой отдельные программы, расположенные по умолчанию в том же каталоге, что и Cmd.exe, которые Windows загружает и выполняет аналогично другим программам. Такие команды называются внешними (например, MORE или XCOPY).

Рассмотрим структуру самой командной строки и принцип работы с ней. Для того, чтобы выполнить команду, после приглашения командной строки (например, C:\>) следует ввести имя этой команды (регистр не важен), ее параметры и ключи (если они необходимы) и нажать клавишу <Enter>. Например:

C:\>COPY C:\myfile.txt A:\ /V

Имя команды здесь — COPY, параметры — C:\myfile.txt и A:\, а ключом является /V. Отметим, что в некоторых командах ключи могут начинаться не с символа /, а с символа – (минус), например, -V.

Многие команды Windows имеют большое количество дополнительных параметров и ключей, запомнить которые зачастую бывает трудно. Большинство команд снабжено встроенной справкой, в которой кратко описываются назначение и синтаксис данной команды. Получить доступ к такой справке можно путем ввода команды с ключом /?. Например, если выполнить команду ATTRIB /?, то в окне MS-DOS мы увидим следующий текст:

Отображение и изменение атрибутов файлов.

ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[диск:][путь]имя_файла] [/S]

+ Установка атрибута.

- Снятие атрибута.

R Атрибут "Только чтение".

A Атрибут "Архивный".

S Атрибут "Системный".

H Атрибут "Скрытый".

/S Обработка файлов во всех вложенных папках указанного пути.

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

XCOPY /? | MORE

В этом случае после заполнения очередного экрана вывод помощи будет прерываться до нажатия любой клавиши. Кроме того, используя символы перенаправления вывода > и >>, можно текст, выводимый на экран, направить в текстовый файл для дальнейшего просмотра. Например, для вывода текста справки к команде XCOPY в текстовый файл xcopy.txt, используется следующая команда:

XCOPY /? > XCOPY.TXT

Замечание. Вместо имени файла можно указывать обозначения устройств компьютера. В Windows поддерживаются следующие имена устройств: PRN (принтер), CON (терминал: при вводе это клавиатура, при выводе - монитор), NUL (пустое устройство, все операции ввода/вывода для него игнорируются).

Перенаправление ввода/вывода и конвейеризация (композиция) команд

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

  • выводить сообщения программ не на экран (стандартный выходной поток), а в файл или на принтер (перенаправление вывода);

  • читать входные данные не с клавиатуры (стандартный входной поток), а из заранее подготовленного файла (перенаправление ввода);

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

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

команда > имя_файла

Если при этом заданный для вывода файл уже существовал, то он перезаписывается, если не существовал — создается. Можно также не создавать файл заново, а дописывать информацию, выводимую командой, в конец существующего файла. Для этого команда перенаправления вывода должна быть задана так:

команда >> имя_файла

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

команда < имя_файла

Приведем несколько примеров перенаправления ввода/вывода.

  1. Вывод встроенной справки для команды COPY в файл copy.txt:

COPY /? > copy.txt

  1. Добавление текста справки для команды XCOPY в файл copy.txt:

XCOPY /? >> copy.txt

  1. Вывод текущей даты в файл date.txt (DATE /T — это команда для просмотра и изменения системной даты, T ключ для получения только даты без запроса нового значения):

DATE /T > date.txt

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

команда 2> имя_файла

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

команда > имя_файла 2>&1

Например, в приведенной ниже команде стандартный выходной поток и стандартный поток ошибок перенаправляются в файл copy.txt:

XCOPY A:\1.txt C: > copy.txt 2>&1

Наконец, с помощью конструкции

команда1 | команда2

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

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

ECHO [сообщение]

которая выводит сообщение на экран. Пример использования этой команды.

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

ECHO y | DEL *.*

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

команда1 команда2

Выполняет команду1 используя ее поток вывода как поток ввода при выполнении команды2, что равносильно использованию двух перенаправлений и временного файла:

команда1 > ВременныйФайл # помещаем результат команды1 во временный файл команда2 < ВременныйФайл # берем в качестве аргументов для команды2 данные из временного файла

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

Для доступа из командного файла к параметрам командной строки применяются символы %0, %1, …, %9 или %*. При этом вместо %0 подставляется имя выполняемого пакетного файла, вместо %1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а вместо %* — все аргументы. Если в командной строке при вызове пакетного файла задано меньше девяти параметров, то "лишние" переменные из %1 – %9 замещаются пустыми строками.

Условное выполнение и группировка команд

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

Используя символ амперсанда &, можно разделить несколько утилит в одной командной строке, при этом они будут выполняться друг за другом. Например, если набрать команду DIR & PAUSE & COPY /? и нажать клавишу <Enter>, то вначале на экран будет выведено содержимое текущего каталога, а после нажатия любой клавиши — встроенная справка команды COPY.

Условная обработка команд в Windows осуществляется с помощью символов && и || следующим образом. Двойной амперсанд && запускает команду, стоящую за ним в командной строке, только в том случае, если команда, стоящая перед амперсандами была выполнена успешно. Например, если в корневом каталоге диска C: есть файл plan.txt, то выполнение строки TYPE C:\plan.txt && DIR приведет к выводу на экран этого файла и содержимого текущего каталога. Если же файл C:\plan.txt не существует, то команда DIR выполняться не будет.

Два символа || осуществляют в командной строке обратное действие, т.е. запускают команду, стоящую за этими символами, только в том случае, если команда, идущая перед ними, не была успешно выполнена. Таким образом, если в предыдущем примере файл C:\plan.txt будет отсутствовать, то в результате выполнения строки TYPE C:\plan.txt || DIR на экран выведется содержимое текущего каталога.

Отметим, что условная обработка действует только на ближайшую команду, то есть в строке

TYPE C:\plan.txt && DIR & COPY /?

команда COPY /? запустится в любом случае, независимо от результата выполнения команды TYPE C:\plan.txt.

Несколько утилит можно сгруппировать в командной строке с помощью круглых скобок. Рассмотрим, например, две строки:

TYPE C:\plan.txt && DIR & COPY /?

TYPE C:\plan.txt && (DIR & COPY /?)

В первой из них символ условной обработки && действует только на команду DIR, во второй — одновременно на две команды: DIR и COPY.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]