Лекционный курс в 6-7 семестрах для специальности 510200 Лекция 1

Вид материалаЛекция
Подобный материал:



“Системное программное обеспечение”


Лекционный курс в 6-7 семестрах для специальности 510200




Лекция 1



Глава 1. Введение в операционные системы.



1. Операционная система. Определение и назначение. Функции операционных систем. Основные качества ОС. Поколения операционных систем. Краткий обзор современных ОС (самостоятельно).

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

Литература

  • [Дейтел 87] Дейтел Г., Введение в операционные системы. М."Мир",1987.
  • [Кейлингерт 85] Кейлингерт П., Элементы операционных систем, М."Мир", 1985.
  • [Кейслер 86] Кейслер С., Проектирование операционных систем для малых ЭВМ, М."Мир", 1986.
  • [Колин 75] Колин А., Введение в операционные системы, М."Мир", 1975.
  • [Цикритзис 77] Цикритзис Д., Бернстайн Ф., Операционные системы, М."Мир", 1977.


Определение


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

Назначение


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



Функции


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

Требования


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


Поколения


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


Нулевое поколение (40-е годы)

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


Первое поколение (50-е годы)

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

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

К концу 50-х годов ведущие фирмы - изготовители компьютеров поставляли ОС со следующими характеристиками:
  • пакетная обработка одного потока задач,
  • наличие стандартных подпрограмм ввода/вывода или системы управления вводом-выводом IOCSinput-output control system (небольшого пакета программ, управляющих осуществлением операций ввода/вывода),
  • возможности автоматического перехода от программы к программе,
  • средства восстановления после ошибок, обеспечивающие автоматическую “очистку” машины в случае аварийного завершения очередной задачи,
  • языки управления заданиями, предоставляющие пользователям возможность достаточно подробно описывать свои задания и требуемые ресурсы.


Считается, что первую ОС создала в начале 50-х годов для своих компьютеров IBM-701 исследовательская лаборатория фирмы General Motors. А создание ассоциации пользователей SHERE, работающих на машинах фирмы IBM привело к возникновению к 1957 году множества ОС, разработанных самими пользователями и удовлетворяющих выше перечисленным характеристикам.


Второе поколение (60-е годы)

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

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

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

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

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

Следует также отметить разработку фирмы Burroughs для своих компьютеров В5000 - ОS MCP (Master Control Program - Главная управляющая программа), в которой были реализованы многие современные концепции ОС:
  • мультипрограммирование,
  • мультипроцессорная обработка,
  • виртуальная память,
  • написание операционной системы на языке высокого уровня,
  • возможность отладки программ на исходном языке.



Третье поколение (70-е годы)

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


Безусловным лидером этого поколения ОС является OS/360, а также ОС, фактически копировавшие архитектуру OS/360 компаний Siemens (ФРГ) и Hitachi (Япония). Другую стратегию приняли такие фирмы - изготовители компьютеров, как Burroughs и General Electric, которые разрабатывали машины не совместимые с компьютерами серии 360, но более мощные и экономичные. Но все же именно IBM завладела рынком ОС 60-х, создав четыре основные ОС:
  • DOS/360 для младших моделей системы 360,
  • OS/MFT (мультипрограммирование с фиксированным числом задач) для средних и старших моделей 360,
  • OS/MVT (мультипрограммирование с переменным числом задач) для старших моделей 360,
  • СР-67/CMS (управляющая программа-67 диалоговая мониторная система) для мощной модели 360/67, имеющей виртуальную память и предусматривающей работу в режиме разделения времени.



Четвертое поколение (80-е годы)

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

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


Вопросы

  1. Дайте определение операционной системы.
  2. Перечислите функции операционной системы.
  3. Опишите различия между мультипрограммным и мультипроцессорным режимами работы ОС.
  4. Что такое независимость программ от внешних устройств? Почему это так важно для пользователей?
  5. В чем заключались главные цели разработчиков первых ОС?
  6. Какова основная причина возникновения мультипрограммирования?
  7. Перечислите основные качества, которыми должна обладать ОС.