Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Понятие о мультипрограммном режиме работы





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

Сейчас мы познакомимся с весьма сложным понятием – мультипрограммным (иногда говорят, многопрограммным) режимом работы ЭВМ. Мультипрограммный режим работы означает, что в оперативной памяти компьютера одновременно находится несколько независимых друг от друга и готовых к счёту программ.[78] Особо следует подчеркнуть, что это могут быть и программы разных пользователей.

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

Частично мы уже обосновали необходимость присутствия в оперативной памяти нескольких программ, когда изучали систему прерываний. Как правило, при возникновении прерывания происходит автоматическое переключение на некоторую другую программы, которая тоже, конечно, должна находиться в оперативной памяти. Здесь, однако, можно возразить, что все программы, на которые производится автоматическое переключение при прерывании, являются системными программами (входят в операционную систему),[79] а при определении мультипрограммного режима работы мы особо подчёркивали, что в оперативной памяти могут одновременно находиться несколько разных программ обычных пользователей.

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

  Оперативная память  
     
  Программа Васи    
  Программа Пети    
  ...    
  Программы операционой системы  
     
Рис. 14.1. Одновременное нахождение в памяти нескольких программ пользователей.
     

Правда, здесь возникает следующая трудность: так как центральный процессор на компьютере один, то в каждый момент времени может выполняться или программа Васи, или программа Пети (ну, или служебная программа операционной системы). Эта трудность преодолевается введением специального режима работы ЭВМ – режима разделения времени, который является частным случаем мультипрограммного режима. В режиме разделения времени, используя сигналы прерывания от встроенных в компьютер часов (таймера), процедура-обработчик этого прерывания переключает центральный процессор с одной задачи пользователя на другую по истечению определённого кванта времени (обычно порядка нескольких единиц или десятков миллисекунд). В этом режиме и у Васи и у Пети создаётся иллюзия, что только его программа всё время считается на компьютере (правда, почему-то медленнее ).

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

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

     
  Диски Сеть Мышь  
  Клавиатура  
     
  Дисплей   Оперативная память   Печать  
  Центральный процессор  
     
Рис. 14.2. Центральная и периферийная части компьютера.
             

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

Read(MyFile,X); Y:=X+1;

Очевидно, что оператор присваивания Y:=X+1 не сможет начать выполняться, пока из файла не будет прочитано значение переменной X. Вот здесь нам и пригодится способность компьютера автоматически переключаться на выполнение других программ, тоже расположенных в оперативной памяти. Пока одна программа выполняет свои команды на центральном процессоре, другая может выводить свои данные на принтер, третья – читать массив с диска в оперативную память, четвёртая – ждать ввода символа с клавиатуры и т.д. Правда, для того, чтобы обеспечить такую возможность, мало наличия на компьютере одной системы прерываний. Прежде всего, необходимо научить периферийные устройства компьютера работать параллельно и относительно независимо от центрального процессора.

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

Date: 2015-10-18; view: 461; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию