Многопроцессорные системы

В последние годы потребности в обмене информацией и ресурсами привели к широкому распространению связанных систем вычислительных машин, которые называются сетями (networks, или net). Сегодня большие машины, которые обслуживают много пользователей, уступили место множеству небольших машин, объединенных в сеть, с помощью которой пользователи коллективно используют ресурсы, такие как пакеты прикладных программ и средства хранения данных. Примером может служить Интернет (Internet) — сеть, которая соединяет миллионы машин по всему миру. Более подробно Интернет рассматривается в разделах 3.5 и 3.6.

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

Сети являются только одним из примеров многопроцессорного проектирования, которое влечет за собой разработку новых операционных систем. В то время как сети представляют собой многопроцессорные системы, объединяющие машины, каждая из которых может содержать только один центральный процессор, другие многопроцессорные системы представляют собой отдельные компьютеры, содержащие несколько процессоров. Операционная система для такой машины должна не только координировать разные действия, выполняемые одновременно, но еще и контролировать назначение заданий процессорам машины. Этот процесс включает в себя выравнивание нагрузки (load balancing) — динамическое распределение задач различных заданий между процессорами для их эффективного использования, и масштабирование (scaling) — разбиение задания на несколько подзаданий в соответствии с числом доступных процессоров.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: