Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.07 Mб
Скачать

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

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

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

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

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

3.2 Архитектура операционной системы

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

3.2.1Программное обеспечение

Начнем обсуждение программного обеспечения с рассмотрения его классификации. В предлагаемой классификации различное программное обеспечение помещается в тот или иной класс по тому же принципу, как разные часовые пояса обязывают жителей близлежащих городов устанавливать на часах разное время, хотя никакой заметной разницы между временем захода и восхода солнца на их территории не существует. Кроме того, в случае классификации программного обеспечения динамические свойства предмета и отсутствие точных определений привели к противоречивой терминологии. Например, пользователи операционной системы Microsoft Windows знают, что существует программная группа, которая называется «Программы» (Accessories) и включает в себя как приложения, так и обслуживающие программы. Предлагаемую классификацию следует рассматривать как средство нахождения точки опоры при рассмотрении сложного вопроса, а не как общепринятый факт.

Начнем с разделения всего программного обеспечения на две большие группы: прикладное программное обеспечение (application software) и системное программное обеспечение (system software) (рис. 3.3). К прикладному программному обеспечению относятся программы, выполняющие задачи, касающиеся предметной области применения машины. Компьютер, который используется для составления каталогов в производственной компании, и компьютер, с которым работает инженер, будут содержать разные приложения. К прикладному программному обеспечению также относятся электронные таблицы, базы данных, системы подготовки публикаций, системы бухгалтерского учета, системы разработки программ и компьютерные игры.

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