Информатика. Курс лекций. Громов Ю.Ю - 63 стр.

UptoLike

принтер освободится, операционная система может переслать данные с диска на принтер. В этом случае операционная сис-
тема придала неразделяемому ресурсу вид разделяемого, создав иллюзию наличия в системе более чем одного принтера.
Подобная методика предварительного сохранения выводимых данных в целях ожидания подходящего момента для их дей-
ствительного вывода получила название спулинга (spooling). В настоящее время она весьма распространена в операционных
системах для любых платформ.
Безусловно, при конкуренции процессов за машинные ресурсы возникают и другие проблемы. Например, программа
управления файлами должна предоставлять доступ к одному и тому же файлу сразу нескольким процессам, если они только
считывают данные этого файла. Однако если нескольким процессам в одно и то же время потребуется изменить содержимое
файла, это может привести к конфликтной ситуации. Поэтому программа управления файлами должна предоставлять доступ
к файлам с учетом конкретных потребностей процессов, в каждый момент позволяя сразу нескольким процессам иметь дос-
туп для чтения файла, но разрешая только одному процессу иметь доступ для записи в файл. Некоторые системы допускают
разделение файла на части, в результате чего различные процессы получают возможность одновременно изменять различ-
ные части одного файла. Кроме того, могут возникать и другие проблемы, требующие своего решения. Например, как про-
информировать процессы, получившие доступ для чтения, о том, что процесс с доступом для записи изменяет файл?
Вопросы для самопроверки
1. Предположим, что процессы А и В функционируют в системе с разделением времени и что каждый из них нуждается
в одном и том же неделимом ресурсе на короткий период времени. (Например, каждый процесс может печатать ряд незави-
симых коротких сообщений.) В этой ситуации каждый процесс может многократно запрашивать доступ к ресурсу, освобож-
дать его, а затем вновь запрашивать доступ. Какой недостаток существует в схеме контроля доступа к этому ресурсу, по-
строенной по приведенному ниже принципу? Исходно флажку присваивается значение 0. Если процесс А запрашивает ре-
сурс и значение флажка равно 0, следует удовлетворить этот запрос. В противном случае необходимо перевести процесс А в
состояние ожидания. Если процесс В запрашивает ресурс и флажок имеет значение 1, следует удовлетворить этот запрос. В
противном случае необходимо перевести процесс В в состояние ожидания. Каждый раз, когда процесс А заканчивает работу
с ресурсом, значение флажка следует изменить на 1. Каждый раз, когда процесс В заканчивает работу с ресурсом, следует
изменить значение флажка на 0.
2. Предположим, что дорога имеет двустороннее движение, которое переходит в одностороннее при прохождении через
туннель. Для координации использования туннеля была применена следующая система сигналов. Когда машина въезжает в
туннель с любого его конца, над обоими входами загорается красный свет. Когда автомобиль выезжает, свет гаснет. Если
при подъезде машины красный свет включен, она ожидает, пока он не будет выключен, и только после этого въезжает в тун-
нель. Какой недостаток в этой системе?
3. Предположим, что предложено несколько решений для устранения возможности взаимной блокировки при встрече
двух автомобилей на мосту с односторонним движением. Определите, какое из трех условий, упомянутых выше в данном
разделе, снимается каждым из следующих решений.
Автомобиль не заезжает на мост до тех пор, пока он не освободится.
Если на мосту встречаются две машины, одна из них едет назад.
Добавляется вторая полоса движения.
4. Предположим, что каждый процесс в системе с разделением времени будет представлен точкой; дополнительно ри-
суется стрелка от одной точки к другой, если процесс, представленный первой точкой, ожидает освобождения ресурса, кото-
рый используется вторым процессом. Математики называют этот чертеж ориентированным графом. Какая особенность в
структуре ориентированного графа будет указывать на наличие в системе ситуации взаимной блокировки?
3.5. СЕТИ
Ранние компьютерные сети состояли из машин, соединяемых для передачи файлов. Программное обеспечение, необхо-
димое для управления такими коммуникациями между машинами, добавлялось к операционной системе в форме обслужи-
вающего программного обеспечения. Сегодня взаимодействие между компьютерами с помощью сетей широко распростра-
нено. Многие современные системы программного обеспечения, такие, как всемирные информационно-поисковые системы,
системы бухгалтерского учета компаний и даже некоторые компью-терные игры, являются распределенными системами
(distributed system), т.е. они состоят из элементов, функционирующих на разных компьютерах сети. Поэтому программное
обеспечение, необходимое для поддержки таких систем, трансформировалось из простых пакетов обслуживающих программ
в систему сетевого программного обеспечения, обеспечивающую сложную инфраструктуру сети. В каком-то смысле сетевое
программное обеспечение развивается в операционную систему сети. В оставшейся части этой главы мы рассмотрим неко-
торые вопросы, связанные с этой областью системного программного обеспечения.
Классификация сетей. Каждая компьютерная сеть принадлежит к одной из следующих обширных категорий: локаль-
ные вычислительные сетиЛВС (local area networks – LAN) и глобальные вычислительные сетиГВС (wide area networks
WAN). Локальная сеть, как правило, состоит из нескольких компьютеров, находящихся в одном здании или комплексе зда-
ний. Например, компьютеры, используемые в университетском городке или на одном заводе, могут быть соединены единой
локальной сетью. Глобальная сеть соединяет машины, которые могут находиться в противоположных концах города или
света. Основное различие между локальными и глобальными сетями заключается в технологиях, используемых для установ-
ления путей соединения. Например, использование спутниковых линий связи характерно для глобальных сетей, но не для
локальных. В связи с этим сегодня программное обеспечение обычно заключается в небольшой изолированной части всего
пакета сетевого программного обеспечения, а это означает, что с точки зрения перспектив развития программного обеспече-
ния различие между локальными и глобальными сетями становится все менее и менее важным.
По типу физической среды передачи данных различают беспроводные (спутниковые, радиорелейные, оптические) и ка-
бельные сети, в которых может использоваться телефонный, оптоволоконный или коаксиальный кабель, а также кабель с ви-
той парой (скрученные между собой для уменьшения влияний внешних помех несколько пар проводов).