Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВОПРОСЫ ГОСУДАРСТВЕННОГО ЭКЗАМЕНА.docx
Скачиваний:
322
Добавлен:
12.04.2015
Размер:
5.76 Mб
Скачать

1. Первый период (1945–1955 гг.). Ламповые машины.

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

2. Второй период (1955 г.– начало 60-х). Эвм на основе транзисторов.

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

3. Третий период (начало 60-х – 1980 г.). Эвм на основе интегральных микросхем.

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

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

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

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

• Развитие параллелизма в архитектуре. Прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций.

4. Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы

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

Современные тенденции развития ОС

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

  • Графические оболочки. Любая современная ОС имеет графический пользовательский интерфейс.

  • Поддержка новых сетевых технологий и Web-технологий. Сети и Интернет активно развиваются. Появляются новые стандарты и протоколы – IPv6, HTML 5 (для облачных вычислений) и т.д. Современные ОС развиваются в направлении поддержки всех новых сетевых технологий.

  • Усиленное внимание к механизмам безопасности и защиты. Все современные ОС уделяют повышенное внимание безопасности: при просмотре веб-страниц браузеры выполняют их проверку; загрузки и инсталляции программ из сети выполняются только с явного согласия пользователя и т.д.

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

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

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

  • Развитие файловых систем с целью защиты информации и значительного увеличения размера файлов (для мультимедиа). Современные требования обработки мультимедийной информации приводят к тому, что старые файловые системы (например, FAT) оказываются недостаточными для хранения мультимедийных файлов. Например, максимальный размер файла в системе FAT – 4 гигабайта – легко может быть превышен при переписи на компьютер цифровой видеопленки длительностью 10-15 минут. Поэтому разрабатываются новые файловые системы, допускающие хранение очень больших файлов, например, система ZFS в ОС Solaris. Другим требованием является обеспечение конфиденциальности информации, которое приводит к необходимости реализации в файловых системах возможности криптования (которая реализована, например, в файловой системе ZFS).

  • Поддержка облачных вычислений – совсем новая тенденция в развитии ОС, начало которой положила "облачная" ОС Windows Azure фирмы Microsoft.

Типы ОС: однопрограммные и мультипрограммные; ОС пакетной обработки и системы с разделением времени; системы реального времени; сетевые ОС, многопроцессорные системы.

По числу одновременно выполняемых задач ОС делятся на 2 класса: однопрограммные (однозадачные) – например, MS-DOS, MSX, и многопрограммные (многозадачные) – например, ОС ЕС ЭВМ, OS/360, OS/2, UNIX, Windows разных версий.

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

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

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

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

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

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

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

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

Сетевые ОС

Сетевая операционная система (англ. Network operating system) – это операционная система, которая обеспечивает обработку, хранение и передачу данных в информационной сети.

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

Существуют специальные сетевые ОС, которым приданы функции обычных систем (например, Windows NT) и обычные ОС (Windows XP), которым приданы сетевые функции. Практически все современные ОС имеют встроенные сетевые функции.

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

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

Одноранговые сети. Все узлы имеют одинаковые возможности доступа к ресурсам друг друга. На всех узлах устанавливаются типовые ОС, предоставляющие узлу возможности как клиента, так и сервера. Такие ОС называются одноранговыми. Одноранговые сети используются чаще всего для небольших рабочих групп. Число узлов в такой сети обычно не превышает десяти. Примерами одноранговых ОС являются Windows 2000 Professional, Windows XP, Windows NT Workstation.

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

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

Отличительными чертами серверных ОС являются:

  • расширенный набор сетевых служб

  • наличие эффективных служб защиты и восстановления ОС после сбоя

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

  • наличие средств информационной безопасности и их соответствие требованиям стандартов

  • поддержка мощных аппаратных платформ, в том числе многопроцессорных

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

Примерами серверных ОС являются UNIX, Windows NT Server, Windows 2000 Server, Windows 2003 Server. Компания Microsoft выпускает по две версии одной и той же ОС: одна для сервера, например, Windows NT Server, а другая для обычного узла сети, например, Windows NT Workstation.

В процессе развития сетевых ОС возникли два подхода к их построению.

1) Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом локальная ОС включает минимум сетевых функций, достаточный для взаимодействия с оболочкой. Основные задачи сетевого взаимодействия возлагаются на оболочку. Примерами являются MS DOS 7.0+, LANtastic, Personal Ware, OS/2+ LAN Manager.

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

При рассмотрении структуры ОС и особенностей ее работы пользуются моделями "клиент-сервер" и "режим пользователя - режим ядра".

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

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

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

Многопроцессорные системы

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

Многопроцессорная обработка реализована в таких ОС, как Linux, Solaris, Windows NT, и ряде других.

Многопроцессорные ОС разделяют на симметричные и асимметричные.

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

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

Литература: [1], [2], [3], [4].