Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Королев, Л. Н. Структуры ЭВМ и их математическое обеспечение учебное пособие

.pdf
Скачиваний:
25
Добавлен:
21.10.2023
Размер:
10.26 Mб
Скачать

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

Таре System, разработанную для машин серии 360, уже можно назвать законченной операционной системой, рассчитанной на минимальный состав оборудования из 8К байтов памяти, трех магнитных лент, перфокарточного оборудования и печати. Эта система, ориентирован­ ная на работу с магнитными лентами, включает в себя систему накопления и работы с библиотекой подпро­ грамм, расположенной на магнитных лентах. В эту библиотеку включены все программы работы с внешними устройствами. Операционная система предусматривает работу в режиме последовательной обработки задач, предусматривает возможность повторения задач с конт­ рольных точек. Система может работать с экранным пультом, воспринимать приказы с телетайпа дистанцион­ ного пульта. Но в эту систему еще не включены трансля­ торы с языков высокого уровня COBOL, FORTRAN, PL-1.

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

Следующая операционная система BOS, обладающая теми же функциональными возможностями, что и Таре System, ориентирована на малые модели с небольшим объемом оперативной памяти, имеющей в своем составе дисковую память. На дисковой памяти хранятся нере­ зидентные части операционной системы. Библиотека ориентирована также на использование дисков. Все это сделало систему BOS достаточно эффективной в исполь­ зовании. Структура организации работы с массивами в системе BOS совпадает с принятой в развернутых опе­ рационных системах DOS и OS/360. Эта система также

130

не включает трансляторов с языков, но имеет в своем составе язык ассемблера (типа автокод).

Следующей операционной системой, рассчитанной на использование только памяти на магнитных лентах, является система TOS. Кроме всех тех возможностей, которыми обладают системы Таре System и BOS, в эту систему включены возможности мультипрограммного режима. Одновременно могут решаться три задачи, одна из которых — фоновая, требующая не менее 10К бай­ тов памяти, и две внешние, управление которыми может осуществляться с пультов оператора. В этой системе достигнуто гораздо более хорошее совмещение работы нескольких внешних устройств ввода-вывода и внешней памяти на магнитных лентах. Для того чтобы TOS могла работать, машина должна быть укомплектована памятью не менее 32К байтов, четырьмя магнитными лентами и иметь по крайней мере один селекторный или мульти­ плексный канал.

Максимальный состав оборудования, с которым мо­ жет работать система,— это 1024К байтов памяти, шесть селекторных и один мультиплексный канал. По суще­ ству, TOS способна управлять полным набором внешних устройств Системы 360, за исключением дисков и бараба­ нов и устройств восприятия графической информации.

Дальнейшим развитием системы TOS явилась хорошо известная система DOS, ориентированная на использова­ ние дисков. Эта система обладает всеми теми возможно­ стями, что TOS и BOS, которые могут считаться частными случаями DOS при использовании магнитных лент. DOS интенсивно использует сменные диски, и эффектив­ ность этой системы гораздо более высокая, чем систем, использующих ленты.

В систему DOS включены трансляторы более высокого уровня, чем в TOS, трансляторы так называемого уровня 10К. В системе DOS существуют программы, управляю­ щие режимом работы с удаленных пультов, т. е. управ­ ляющие режимом телеобработки с телеграфных терми­ налов.

Анализ показывает, что операционная система DOS в два раза производительнее на малых и средних моделях, чем система OS/360. Так же как и в системе TOS, в муль­ типрограммном режиме допускается решение трех задач, причем существует три потока со статически настраи-

5*

131

ваемыми ресурсами памяти и в каждом потоке последо­ вательно обрабатываются задача за задачей. Фоновая задача может занимать ресурсы от 10К и более, надфоновые, внешне управляемые задачи могут занимать до 512К байтов памяти. DOS охватывает своим управле­ нием всю гамму внешних устройств Системы 360, за исключением некоторых типов стационарных дисков, барабанов, оптических читающих устройств и устройств считывания графической информации.

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

Операционная система OS/360 является «высшей мо­ делью» ряда операционных систем, разработанных для семейства IBM-360. Ее назначение состоит в том, чтобы обеспечить управление работой мощных моделей Систе-» мы 360, начиная с 50-й и кончая 195-й. Основные ее возможности таковы:

обеспечение одновременной работы переменного числа задач и их частей;

независимость от внешних устройств, что означает, по существу, динамическое распределение каналов и внешних устройств между задачами;

каталогизация всех программ и данных, поступив­ ших в систему, что означает, что все программы и данные

помещаются в системную библиотеку, из которой затем все это выбирается по мере необходимости и сохраняется по мере надобности;

планирование потока задач с учетом приоритета;

динамическое распределение памяти;

использование более мощных транслирующих си­

стем;

обеспечение работы со всей гаммой внешних уст­ ройств Системы 360, включая устройства восприятия графической информации;

обеспечение работы с телефонными и телеграфны­ ми линиями;

возможность работать в различных режимах муль­ типрограммирования: в режиме с фиксированным числом работ, в режиме с переменным числом работ, в режиме

132

поточной обработки без динамического распределения памяти.

Основными элементами OS/360 являются:

управление задачами (job management),

управление данными (data management),

управление работами (task management).

В операционную систему входят также сервисные и обслуживающие программы и тесты, работающие в муль­ типрограммном режиме. Мы не будем давать подробной характеристики OS/360, так как это выходит за рамки нашей книги. Отметим только ряд ее интересных свойств.

Прежде всего, OS/360 — это многофункциональная операционная система, рассчитанная на управление вы­ сокими моделями Системы 360 в различных сферах при­ менения этих моделей. Разработчики стремились по­ строить ее по модульному принципу, который позволяет, комбинируя стандартные модули надлежащим образом, получать рабочие системы, отвечающие конкретному типу машин и конкретной комплектации. Этим занимается специальная программа — генератор системы. На вход программы подается информация, описывающая тип машины, состав ее внешнего оборудования, желаемые режимы использования. Генератор системы, анализируя эту информацию, считывает с системной магнитной ленты необходимые для работы в заданных режимах и в задан­ ной комплектации модули, компонует эти модули на дисках, увязывая их по параметрам и взаимным ссылкам. Таким образом, в процессе генерации формируется опе­ рационная система, соответствующая данному типу ма­ шин и режиму их использования. Процесс генерации иногда занимает несколько часов, однако он необходим только один раз при настройке системы. Следует отме­ тить, что модули OS/360 хранятся на системной магнит­ ной ленте в виде, пригодном для генерации, т. е. факти­ чески в форме стандартных макроопределений. Несом­ ненно, что универсализация и стандартизация модулей влечет за собой некоторую потерю эффективности при их выполнении, тем более что система команд и архитектура Системы 360 мало приспособлены для организации эффек­ тивных методов связи между модулями и их динамиче­ ской загрузкой. В литературе часто можно встретить нарекания на OS/360, отчасти вызванные соображениями конкуренции, но в большинстве своем отмечающие

133

малую эффективность OS/360 и ее тяжеловесность. Эта си­ стема разрабатывалась несколько лет, и в настоящее время ее объем оценивается в 930 тысяч инструкций. Таким образом, OS/360 — это одна из самых больших программ в мире и, что очень важно, эта программа хорошо документирована и описана, и ее значение в области развития операционных систем весьма велико.

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

(В-5500, В-6500, ILLIAC-IV, GE-645 и др.) и которые становятся серьезным конкурентом для архитектуры IBM, принятой за основу некоторыми фирмами как стандарт.

Г л а в а 2

 

ЭВМ «АТЛАС» И

«АТЛАС-2»

§ 1. Вычислительная

система «Атлас»

Весьма заметный след в области разработки вычис­ лительных машин оставила машина «Атлас», которая соз­ давалась совместно Манчестерским университетом и фир­ мой «Ферранти Лимитед». Разработка этой машины нача­ лась в конце 50-х годов, и первый образец машины «Атлас» был построен в конце 1962 г. Создатели этой машины поставили перед собой задачу сконструировать вычис­ лительную систему, которая позволила бы организовать решение задач таким образом, чтобы максимально ис­ пользовать все устройства машины, максимально исполь­ зовать эффект мультипрограммирования, т. е. поставили перед собой задачу построить систему, удовлетворяющую требованиям, выдвинутым: развитием операционных сис­ тем (ОС). По-видимому, родоначальниками современных ОС следует считать разработчиков машины «Атлас», которые определили ее функции и оценили то огромное значение, которое ОС будет иметь в будущем.

Четкая формулировка идеи «памяти одного уровня» и оригинальная ее реализация в машине «Атлас» также являются большой заслугой разработчиков машины «Атлас». Кроме того, разработчики ставили перед собой задачу создания сверхпроизводительной машины, и ко

времени

своего

появления

ЭВМ «Атлас» действитель­

но была

одной

из наиболее

быстродействующих ЭВМ

мира, способной

выполнять

до 700 тысяч операций в

секунду.

 

 

 

135

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

I бури.

Рассмотрим основные структурные характеристики вычислительной системы «Атлас».

Наибольший интерес представляет собой организа­ ция так называемой главной, основной памяти, общий объем которой равен 114 688 словам. Разрядность слова составляет 48 двоичных знаков (битов). Эта память де­ лится на оперативную ферритовую память емкостью не менее 16 384 слов и на вторичную память на четырех бы­ стрых магнитных барабанах, общая емкость которых равна нескольким сотням тысяч слов. Вся главная па­ мять разбита на страницы фиксированного объема по

512слов.

Воперативной памяти на ферритовых сердечниках

может находиться, таким образом, не менее 32 страниц. Аппаратура и операционная система заботятся о том, чтобы в оперативной памяти в каждый данный момент времени находились именно те страницы, к которым про­ исходят наиболее частые обращения. Как это реализова­ но, мы рассмотрим ниже. Кроме того, в машине «Атлас» имеется так называемая фиксированная, или односто­ ронняя, память с быстрой выборкой, служащая для хра­ нения наиболее часто используемых подпрограмм опера­ ционной системы. Именно в этой памяти хранятся основ­ ные программы операционной системы и в том числе программы, ведающие распределением страниц между барабанами и ОЗУ, программы, управляющие обменом. Фиксированная память выполнена на матрицах, состоя­ щих из ячеек с навитой проволокой. Чтобы в такой ячейке задать код, равный 1, следует поместить в ячейку ферри­ товый стержень. Отсутствие стержня в ячейке означает код, равный 0. Разработана специальная технология, позволяющая размещать необходимую информацию в этой памяти. Таким образом, из нее можно только считывать

i36

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

Вторичная память на барабанах связана с оператив­ ной памятью по четырем каналам. Время считывания одно­ го блока в 512 слов с магнитных барабанов составляет 2 мсек, а среднее время ожидания начала считывания равно 6 мсек. Эти показатели для своего времени были весьма высоки. Кроме оперативной, вторичной и фиксированной памяти в «Атласе» имеется так называе­ мая V-память, состоящая из регистров управления маши­ ной, входных и выходных регистров, связанных с маг­ нитными лентами и барабанами и другим периферийным оборудованием. В состав V-памяти входят регистры соот­ ветствия математических и физических адресов стра­ ниц, с помощью которых управляющие программы опре­ деляют местонахождение соответствующих блоков ин­ формации на магнитных барабанах. Физически регистры V-памяти разбросаны по разным частям машины, но имеют строго фиксированные адреса, используя которые можно обращаться к регистрам из системных программ. Кроме того, в машине существует очень быстрая реги­ стровая память для 128 индексных регистров, так на­ зываемых В-регистров, которые используются для ин­ дексирования, базирования и выполняют еще ряд дру­ гих важных функций, как-то: запоминание признаков для осуществления условных переходов, хранение номе­ ра следующей команды для возврата из подпрограмм, хранение информации для возврата из прерывания и т. д.

В состав внешней памяти машины «Атлас» включены магнитные ленты. Зона на магнитной ленте соответствует странице (512 слов), запись и считывание производятся целыми страницами. Запоминающее устройство на маг­ нитных лентах используется как архив, а также для раз­ мещения областей ввода и вывода в режиме пакетной об­ работки задач.

Крупноблочная схема вычислительной системы «Ат­ лас» представлена на рис. 10.

137

Система команд машины «Атлас» представляет собой хорошо развитую одноадресную дважды модифициро­ ванную систему. Команды машины фиксированной дли­ ны, единого формата. Одна команда размещается в одном 48-разрядном слове. Формат команды (рис. 11) содер­ жит 10-разрядное поле кода операций (F), два поля по

Г Вившиеистшстба I

L jm -sm __ j

Рис. 10.

семи разрядов для указании адресов индекс-регистров или модификаторов (ВА и Вм) и 24-разрядное адресное

иоле N.

Адресное поле служит для указания самого операнда (непосредственная адресация), для указания кода пря­ мого адреса или для образования дважды индексируемого

Щ

М р

F

ВА

В/,1

 

 

 

Рис.

 

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

ме

■ редактирования, перевода из десятичной системы счисления в двоичную и т. д.

Три старших разряда адресного поля указывают тип памяти, к которой происходит обращение. Например, если старший разряд адресного поля равен нулю, то производится обращение к главной памяти (феррито­ вая память+магнитные барабаны). Таким образом, объем виртуальной памяти единого уровня составляет

г220 слов (1 388 608), это позволяет при составлении задач практически не чувствовать никаких ограничений го

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

f ной памяти не должен превышать 128 тысяч слов.

Как мы знаем, в фиксированной памяти расположе­ ны управляющие программы операционной системы; поэтому, если в рабочих программах появился адрес

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

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

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

Sh-от весьма краткий и неполный обзор структуры ко­ манд машины «Атлас» демонстрирует некоторую филосо­ фию ее разработчиков, которая может быть охарактери­ зована следующим образом. Пользователю (программис­

139

Соседние файлы в папке книги из ГПНТБ