Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 1-8 / ОС_01.doc
Скачиваний:
131
Добавлен:
04.04.2013
Размер:
103.94 Кб
Скачать

19.11.02, 21.11.02, 21.01.03

Os-basic 01. Введение в операционные системы

Встречающиеся в модуле понятия:

ОС,

расширенная (виртуальная) машина,

управление ресурсами,

ресурс, делимый/неделимый ресурс,

процесс,

критерии эффективности,

пропускная способность,

реактивность,

планирование ресурсов,

отслеживание состояния ресурса,

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

системы пакетной обработки,

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

многотерминальные системы,

сетевые ОС,

многозадачные и однозадачные ОС, вытесняющая/невытесняющая многозадачность,

многопользовательские и однопользовательские ОС,

многонитевая обработка, многопроцессорная/однопроцессорная система,

монолитное ядро, микроядро,

прикладная среда,

распределенная обработка

Определение операционной системы. ОС как расширенная машина. ОС как система управления ресурсами. Эволюция ОС. Периоды: Первый период (до 1955 г.). Второй период (1955 - 1965). Третий период (1965 – 70–е гг.). Четвертый период (70-е – 80-е гг.). Пятый период (1980 – 90-е гг.). Шестой период – современный этап развития ОС.Классификация ОС. Особенности алгоритмов управления ресурсами (многозадачные, однозадачные ОС, многопользовательские, однопользовательские ОС, поддерживающие и не поддерживающие многонитевую обработку, многопроцессорные и однопроцессорные системы). Особенности аппаратных платформ (ОС ПК, миникомпьютеров, мейнфреймов, кластеров, сетей ЭВМ). Особенности областей использования ОС (системы пакетной обработки, разделения времени, реального времени). Особенности методов построения ОС (ОС с монолитным ядром, микроядерные ОС, объектно-ориентированный подход).

    1. Определение операционной системы

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

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

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

  • повышение эффективности использования компьютера путем рационального управления его ресурсами.

      1. ОС как расширенная машина

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

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

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

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

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

      1. ОС как система управления ресурсами

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

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

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

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

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

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

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

  • разрешение конфликтов между процессами.

Рис. 1.1. Взаимодействие человека с компьютером через операционную систему

Нужно ли здесь это?

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

    1. Эволюция ОС

Период

Развитие ОС

до 1955 г.

В XIX веке Чарльз Бэбидж предложил идею компьютера. Но технологии того времени не могли обеспечить изготовление деталей точной механики, которые были необходимы для этой машины. И его «аналитическая машина» так и не смогла заработать.

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

1955 – 1965 гг.

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

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

1965 – начало 70-х гг.

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

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

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

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

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

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

70-е – 1980 гг.

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

К середине 70-х гг. получили большое распространение миникомпьютеры: Nova, PDP-11, HP. Их архитектура стала значительно проще, что упростило и операционные системы. ОС миникомпьютеров стали делать специализированными, например, только для управления в реальном времени (RT11 для PDP-11) или только для поддержания режима разделения времени. Эти операционные системы не были многопользовательскими.

1980 – 90-е гг.

Этот период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. Функционально они ничем не отличались от миникомпьютеров типа PDP-11, но цена у них была существенно ниже. Что позволило иметь собственный компьютер практически каждому человеку, а не отделу или институту. Компьютеры стали использоваться неспециалистами, что потребовало «дружественности» от программного обеспечения. На рынке операционных систем в эти годы доминировали две системы: MS-DOS и Unix. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486.

Мультипрограммная многопользовательская ОС Unix использовалась, в основном, на "неинтеловских" компьютерах, особенно построенных на базе высокопроизводительных RISC-процессоров. Все десятилетие происходило усовершенствование этой ОС, в результате чего стали появляться ее новые разновидности: SunOS, HP-UX, Irix, AIX.

Значительное распространение персональных компьютеров послужило катализатором для бурного роста локальных сетей. Ещё одной важной разработкой этого десятилетия стало появление стека протоколов TCP/IP, становление Интернета, стандартизация технологий локальных сетей, и более интенсивное развитие сетевых операционных систем (OS-Net фирмы Nowell, OS/2 фирм Microsoft и IBM).

Современный этап развития ОС

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

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

К корпоративным ОС в настоящее время относят Windows 2000, Windows NT, различные Unix-системы.

Соседние файлы в папке Лекции 1-8