Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС (1114685), страница 3
Текст из файла (страница 3)
Результатвыполнения программы выводился на устройство печати. В случае возникновения ошибки работакомпьютера по выполнению команд программы прерывалась, и возникшая ситуация отображалась5на индикаторах пульта управления, содержание которых анализировалось программистом.Программирование в машинных кодах привносило ряд проблем, связанных с техническимисложностями написания, модификации и отладки программы.
Кроме того, в задачу программиставходило кодирование всех необходимых операций ввода/вывода с помощью специальныхмашинных команд управления внешними устройствами. В этот период от пользователякомпьютера требовались не только алгоритмические знания и навыки решения конкретнойприкладной задачи, но и достаточно хорошие знания организации и использования аппаратурыкомпьютера, доскональное знание системы команд и кодировки, используемой в данномкомпьютере, знание особенностей программирования устройств ввода/вывода, т.е. программистдолжен был быть, отчасти, и инженером-электронщиком. На этапе существования компьютеровпервого поколения появился класс программ, обеспечивающих определенные сервисные функциипрограммирования — это ассемблеры, первые языки высокого уровня и трансляторы для этихязыков, а также простейшие средства организации и использования библиотек программ.
Крометого, можно говорить о зарождении класса сервисных, управляющих программ:представителями этого класса являлись программы чтения и загрузки в оперативную памятьпрограмм и данных с внешних устройств. Эти программы были предопределены фирмойразработчиком компьютеров и вводились в оперативную память с использованием аппаратнойконсоли. Так при помощи консоли было возможно вручную ввести в оперативную памятьпоследовательность команд, составляющих управляющую программу, и осуществить ее запуск. Вслучае если управляющая программа размещалась на внешнем запоминающем устройстве, черезаппаратную консоль вводилась последовательность команд, обеспечивающих чтение кодауправляющей программы в оперативную память и передачу управления на ее точку входа.Компьютеры второго поколения: конец 50-х годов — вторая половина 60-х годов ХХвека. Традиционно, с компьютерами второго поколения связывается использованиеполупроводниковых приборов — диодов и транзисторов, которые по функциональной емкости,размеру, энергопотреблению в десятки раз превосходили возможности электронно-вакуумныхламп.
В результате компьютеры второго поколения стали обладать существенно более развитымилогическими возможностями и в тысячи раз превосходили компьютеры первого поколения попроизводительности. Широкое распространение получили новые высокопроизводительныевнешние устройства ЭВМ. Все это определило и активное совершенствование программногообеспечения и способов использования компьютеров.
Можно с уверенностью утверждать, чтореальное зарождение понятия операционной системы связано именно с появлением исовершенствованием архитектуры компьютеров второго поколения.Этапом в развитии форм использования компьютеров стала пакетная обработка заданий,суть которой состояла в следующем. В компьютере работала специальная управляющаяпрограмма, в функции которой входила последовательная загрузка в оперативную память и запускна выполнение программ из заранее подготовленного пакета программ. Пакет программфизически может быть представлен в виде «большой» стопки перфокарт, в которой программынаходятся последовательно.
В этом случае управляющая программа по завершении выполнениятекущей программы осуществляет чтение очередной программы через устройство считыванияперфокарт, загрузку ее в оперативную память и передача управления на фиксированную точкувхода в программу (адрес памяти с которого должно начинаться выполнение программы). Позавершении программы или после возникновения в программе ошибки, которая вызываетаварийную остановку выполнения программы, управление передается в управляющую программу(1).6Программа_1Программа_2УстройствочтениязапросданныхУправляющаяпрограммаданныеОперативнаяпамятьошибкаПрограмма_3ПрограммаВыполнениепрограммыПрограмма_NНормальноезавершениеПакет программРис.
1. Пакетная обработка заданий.Такой процесс продолжался до тех пор, пока все программы из пакета не будут выполнены.Развитие подобных управляющих программ послужило основой появлению первых прообразовоперационных систем, которые в разных случаях назывались мониторными системами,супервизорами или диспетчерами.Следующим этапом развития понятия операционная система стало появление компьютероввторого поколения, имевших аппаратную поддержку режима мультипрограммирования —режима, при котором одновременно находилась в обработке не одна, а несколько программ. Приэтом в каждый момент времени команды одной из обрабатываемых программ выполнялисьпроцессором, другие выполняли обмен данными с внешними устройствами, третьи были готовы квыполнению процессором и ожидали своей очереди. В СССР представителем машин второгопоколения, обеспечивавших поддержку мультипрограммной обработки, была вычислительнаямашина БЭСМ-6, созданная под руководством академика С.А.Лебедева.
Для данного компьютерабыла разработана серия операционных систем, которые по своей структуре и основным функциямбыли достаточно близки к современным ОС (НД-69, НД-70, ОС ДУБНА, ДИСПАК, ОС ИПМ идр.). Прародительницей подавляющего большинства этих операционных систем была система подназванием Д-68 (Диспетчер–68), разработанная под руководством Л.Н.Королева.Развитие мультипрограммных систем, расширение спектра решаемых задач исущественное увеличение количества пользователей компьютеров потребовало развития«дружественности» интерфейсов между пользователем и системой.
С точки зренияинструментальных средств программирования это развитие языков программирования и системпрограммирования, которое представимо в следующей эволюционной последовательности:система команд компьютера автокоды и ассемблеры языки программирования высокогоуровня проблемно-ориентированные языки программирования (1).Операционные системы также получили свое развитие в этот период времени: появилисьязыки управления заданиями, которые позволяли пользователю до начала выполнения егопрограммы сформировать набор требований по организации выполнения программы.
Появилисьпервые прообразы современных файловых систем — систем, позволяющих систематизировать иупростить способы хранения и доступа пользователей к данным, размещенным на внешнихзапоминающих устройствах, что позволило пользователю работать с данными во внешней памятине в терминах физических устройств и координат местоположения данных на этих физическихустройствах, а в терминах имен или адресов некоторых наборов данных. В связи с этим упользователя появилась возможность абстрагироваться от знания особенностей и способоворганизации хранения и доступа к данным конкретных физических устройств, что во многомпослужило основой для появления виртуальных устройств.7Проблемно-ориентированные языкипрограммированияЯзыки программированиявысокого уровняАвтокоды иассемблерыСистема командкомпьютераВремяРис.
2. Развитие языков и систем программирования.Компьютеры третьего поколения: конец 60-х — начало 70-х годов ХХ века. Основнымотличием компьютеров этого поколения было использование в качестве элементной базыинтегральных схем, что определило увеличение производительности компьютеров, существенноеснижение их размеров, веса, появление новых, высокопроизводительных внешних устройств. И,наверное, главной особенностью архитектуры компьютеров третьего поколения было началоаппаратной унификации их узлов и устройств, позволившей стимулировать создание семействкомпьютеров, аппаратная комплектация которых могла достаточно просто варьироватьсявладельцем компьютера. Наиболее яркими представителями таких семейств были компьютерысерий IBM-360 фирмы IBM и семейство малых компьютеров PDP-11 фирмы DEC.
Компьютерыпервых двух поколений строились, как единые, аппаратно-целостные устройства, комплектация ивозможности которых были существенно предопределены на этапе их производства. Ихаппаратная модификация, обычно, была крайне затруднительна. Третье поколение компьютеровстроилось на модульном принципе, что позволяло, при необходимости, осуществлять замену ирасширение состава внешних устройств, увеличивать размеры оперативной памяти, заменятьпроцессор на более производительный. Все это повлияло и на развитие и структуру операционныхсистем, которые вслед за аппаратурой приобрели модульную организацию с унификациеймежмодульных интерфейсов. В операционных системах появились специальные программыуправления устройствами — драйверы устройств, которые имели стандартные интерфейсы,позволявшие при аппаратной модификации компьютера достаточно просто обеспечиватьпрограммный доступ к новым или модифицированным устройствам.