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