В ы с ш е е п р о ф е с с и о н а л ь н о е о б р а з о в а н и е информатика и программироВание осноВы информатики


10.3.2. распределение ресурсов Эвм между



Pdf көрінісі
бет104/196
Дата09.01.2022
өлшемі4,7 Mb.
#23908
түріУчебник
1   ...   100   101   102   103   104   105   106   107   ...   196
Байланысты:
1 Основы информатики

154
10.3.2. распределение ресурсов Эвм между 
процессами
После запуска программы создается соответствующий ей процесс,
которому выделяются ресурсы ЭВМ. Каждый процесс получает адрес-
ное пространство в ОЗУ, содержащее стек, регистры, счетчик команд
и  другие  необходимые  элементы.  Также  ресурсами  являются  время
процессора и доступ к устройствам ввода-вывода.
В каждый момент времени процесс может находиться в одном из
следующих состояний:
создание — подготовка условий для исполнения процессором;

выполнение — непосредственное исполнение процессором;

ожидание  по  причине  занятости  какого-либо  требуемого  ре-

сурса;
готовность — процесс не исполняется, но все необходимые для

выполнения процесса, кроме времени процессора, предоставлены;
завершение  —  нормальное  или  аварийное  окончание  работы

процесса, после которого время процессора и другие ресурсы ему не
предоставляются.
Процесс  могут  породить  ОС,  пользователь  или  другой  процесс.
ОС может выполнять несколько процессов одновременно, однако в
каждый  момент  времени  выполняется  только  один  процесс.  Таким
образом,  создается  иллюзия  многозадачности  за  счет  мгновенного
перераспределения ресурсов ЭВМ, прежде всего времени процессо-
ра.  Завершение  процесса  осуществляется  ОС,  другими  процессами
или пользователем, например, закрывающим программу.
Специальная программа-планировщик, являющаяся частью ОС,
распределяет ресурсы ЭВМ между процессами. Таким образом, про-
цессы конкурируют за ресурсы. Каждый процесс имеет приоритет, в
соответствии  с  которым  он  получает  ресурсы  ЭВМ.  Наибольший
приоритет имеют компоненты ОС, наименьший — программы поль-
зователя.  Приоритет  процесса  зависит  также  от  частоты  запроса
процессом ресурсов. Чем более требователен процесс к ресурсам, тем
более высокий приоритет он имеет.
Пример  распределения  времени  процессора  между  процессами
представлен на рис. 10.3.
Рис. 10.3. Пример распределения времени процессора между процессами


155
Переключение  между  процессами  осуществляется  каждые  не-
сколько миллисекунд. Поэтому у пользователя создается впечатление
одновременной работы нескольких процессов. Однако в некоторых
случаях  доступ  к  устройствам  ввода-вывода  следующего  процесса
осуществляется только после того, как другой процесс освободил его:
например, распечатка документов на принтере несколькими пользо-
вателями.
Пример  распределения  ОЗУ  между  процессами  представлен  на
рис. 10.4.
После  запуска  процесса  ему  выделяется  адресное  пространство.
В  памяти  могут  располагаться  несколько  процессов,  причем  один
процесс не имеет доступ к адресному пространству другого процесса.
Если объема ОЗУ не хватает для выполнения всех процессов, то вы-
деляется  виртуальная  память  на  жестком  диске,  где  хранится  часть
данных процесса. Жесткий диск, на котором располагается виртуаль-
ная  память,  гораздо  медленнее,  чем  ОЗУ,  поэтому  в  виртуальной
памяти хранятся процессы, остановленные в данный момент или с
самым низким приоритетом.
В рамках одного процесса могут создаваться потоки. Потоки со-
обща используют ресурсы, выделяемые для процесса, прежде всего
объем ОЗУ. По существу, потоки выполняются в рамках одного про-
цесса точно так же, как процессы выполняются на одном компьюте-
ре. Но в каждый отдельный момент выполняется один процесс и один
поток, только переключение между ними осуществляется очень бы-
стро.
Основной  причиной  появления  потоков  является  возможность

Достарыңызбен бөлісу:
1   ...   100   101   102   103   104   105   106   107   ...   196




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет