Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций ИТЮД.doc
Скачиваний:
3106
Добавлен:
11.04.2015
Размер:
16.67 Mб
Скачать

Тема 2. Операционные системы: назначение, основные функции

1. Эволюция операционных систем

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

1.1. Появление первых операционных систем

Выше отмечено, что идея компьютера была предложена Ч. Бэббиджем в середине XIX века. Его механическая «анали­тическая машина» так и не смогла по-настоящему заработать, потому что те тех­нологии не удовлетворяли требованиям, необходимым для изготовления нужных деталей точной механики. Конечно, никакой речи об опе­рационной системе для этого «компьютера» не шло.

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

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

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

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

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

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

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

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

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