Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дж. Лодон_Управление информационными системами.doc
Скачиваний:
73
Добавлен:
31.07.2019
Размер:
66.83 Mб
Скачать

Virtual storage (виртуальное хранилище)

Выполнение программ более эффективным образом путем их деления на ма­ленькие порции (фиксированной или изменяемой длины). При этом в первич­ной памяти хранится одновременно лишь небольшая порция программы.

Мультипрограммное, реализованная в однопользовательской операцион­ной системе (например, на персональном компьютере), называется многозадач­ностью. Свойство многозадачности позволяет операционным системам вызывать различные части одной и той же программы, которые в этом случае называются потоками. Например, программы текстовых процессоров могут форматировать один документ, причем в это же время осуществлять проверку орфографии и грам­матики другого документа.

Виртуальное хранилище

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

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

Разделение времени

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

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

В среде разделения времени тысячи пользователей получают доступ к выделен­ным им квантам компьютерного времени. В пределах выделенного времени каж­дый пользователь может использовать компьютер для выполнения любой тре­буемой операции; по завершении выделенного периода времени квант времени ЦПУ поступает в распоряжение другого пользователя. Благодаря подобной орга­низации многие пользователи могут получать одновременный доступ к централь­ному процессору, причем каждый из них получает в свое распоряжение лишь отдельные кванты машинного времени. Учитывая то, что ЦПУ оперирует на «на-носекундном уровне», за тысячную долю секунды может выполняться значитель­ный объем вычислительных операций.

Многопроцессорная обработка

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

Трансляция с языков программирования и утилиты

К семейству системных программ относятся специальные программы — трансля­торы с языков программирования, с помощью которых выполняется трансляция

T ime sharing (разделение времени)

Разделение ресурсов компьютера между несколькими пользователями, осу­ществляемое путем предоставления фиксированных квантов времени ЦПУ каждой пользовательской программе на поочередной основе. Multiprocessing (многопроцессорная обработка)

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

программ с языков программирования высокого уровня, таких как Cobol, Fortran или С, в машинные коды, которые могут выполняться компьютером. Подобный тип системного ПО называется компилятором или интерпретатором. Программа на языке высокого уровня, не прошедшая этап трансляции в коды машинного языка, называется исходным кодом. Компилятор транслирует исходный код в машинный код, называемый объектным кодом. Непосредственно перед этаном выполнения компьютером модули объектного кода объединяются с другими мо­дулями объектного кода в процессе редактирования связей. В результате появ­ляется загрузочный модуль, который фактически исполняется компьютером. Процесс трансляции с языка программирования демонстрируется на рис. 6.4.

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

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

S ource code (исходный код)

Программные инструкции, написанные на языке программирования высоко-| го уровня, транслируемые в коды машинного языка, выполняемого компью­тером.

Compiler (компилятор)

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

Object code (объектный код)

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