Файл: Состав и свойства вычислительных систем. Информационное и математическое обеспечение вычислительных систем (Классификация, состав и свойства вычислительных систем).pdf
Добавлен: 30.03.2023
Просмотров: 277
Скачиваний: 2
Параллельные интерфейсы обычно имеют более сложное устройство, чем последовательные, однако они обеспечивают более высокую производительность, поэтому их применяют там, где важна скорость передачи данных: для подключения печатающих устройств, устройств ввода графической информации, устройств записи данных на внешний носитель и т. п. Производительность параллельных интерфейсов измеряют байтами в секунду (байт/с; Кбайт/с; Мбайт/с).
Устройство последовательных интерфейсов проще, как правило, для них не надо синхронизировать работу передающего и принимающего устройства, поэтому их часто называют асинхронными интерфейсами. Однако, пропускная способность их меньше и коэффициент полезного действия ниже, т.к. из-за отсутствия синхронизации посылок полезные данные начинаются и завершаются посылками служебных данных, т.е. на один байт полезных данных могут приходиться 1—3 служебных бита (состав и структуру посылки определяет конкретный протокол) [13]. Поскольку обмен данными через последовательные устройства производится не байтами, а битами, их производительность измеряют битами в секунду (бит/с, Кбит/с, Мбит/с).
Последовательные интерфейсы применяют для подключения «медленных» устройств: простейших устройств печати низкого качества, устройств ввода и вывода знаковой и сигнальной информации, контрольных датчиков, малопроизводительных устройств связи и т. п., а также в тех случаях, когда нет существенных ограничений по продолжительности обмена данными (большинство цифровых фотокамер) [5].
Программное обеспечение составляют программы — упорядоченные последовательности команд. Конечной целью любой компьютерной программы является управление аппаратными средствами. Даже если на первый взгляд программа не взаимодействует с оборудованием, не требует никакого ввода данных с устройств ввода и не осуществляет вывод данных на устройства вывода, в любом случае ее работа основана на управлении аппаратными устройствами компьютера [15, с. 153].
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и в непрерывном взаимодействии. Несмотря на то, что эти две категории рассматриваются отдельно, между ними существует диалектическая связь, и раздельное их рассмотрение является, по меньшей мере, условным.
Состав программного обеспечения вычислительной системы называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь — многие программы работают, опираясь на другие программы более низкого уровня, т.е. можно говорить о межпрограммном интерфейсе [5]. Возможность существования такого интерфейса также основана на существовании технических условий и протоколов взаимодействия, а на практике он обеспечивается распределением программного обеспечения на несколько взаимодействующих между собой уровней (см. рисунок 2). Каждый следующий уровень опирается на программное обеспечение предшествующих уровней.
Прикладное ПО
Служебное ПО
Системное ПО
Базовое ПО
Рисунок 2 – Уровни программного обеспечения вычислительной системы [13]
Такое разделение удобно на всех этапах работы с вычислительной системой, начиная с установки программ и заканчивая практической эксплуатацией и техническим обслуживанием. Следует обратить внимание на то, что каждый вышележащий уровень повышает функциональность всей системы [10, с. 206]. Так, например, вычислительная система с программным обеспечением базового уровня не способна выполнять большинство функций, но позволяет установить системное программное обеспечение.
Базовый уровень — самый низкий уровень программного обеспечения, он отвечает за взаимодействие с базовыми аппаратными средствами. Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах — постоянных запоминающих устройствах (ПЗУ— Read Only Memory, ROM). Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации.
В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ — Erasable and Programmable Read Only Memory, EPROM) [11, с. 143]. В этом случае изменение содержания ПЗУ можно выполнять как непосредственно в составе вычислительной системы (флэш-технология), так и отдельно от нее, на специальных устройствах, называемых программаторами.
Системный уровень — переходный. Программы, работающие на этом уровне, обеспечивают взаимодействие прочих программ компьютерной системы с программами базового уровня и непосредственно с аппаратным обеспечением, т.е. выполняют «посреднические» функции [9, с. 101].
От программного обеспечения этого уровня во многом зависят эксплуатационные показатели вычислительной системы в целом. Так, например, при подключении к вычислительной системе нового оборудования на системном уровне должна быть установлена программа, которая обеспечивает для других программ взаимосвязь с этим оборудованием. Конкретные программы, отвечающие за взаимодействие с конкретными устройствами, называются драйверами устройств — они входят в состав программного обеспечения системного уровня [5].
Другой класс программ системного уровня отвечает за взаимодействие с пользователем. Именно благодаря им, он получает возможность вводить данные в вычислительную систему, управлять ее работой и получать результат в удобной для себя форме. Эти программные средства называют средствами обеспечения пользовательского интерфейса. От них напрямую зависит удобство работы с компьютером и производительность труда на рабочем месте.
Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Если компьютер оснащен программным обеспечением системного уровня, то он уже подготовлен к установке программ более высоких уровней, к взаимодействию программных средств с оборудованием и, самое главное, к взаимодействию с пользователем [9, с. 118]. То есть наличие ядра ОС — непременное условие для возможности практической работы человека с вычислительной системой.
Программное обеспечение служебного уровня взаимодействует как с программами базового уровня, так и с программами системного уровня. Основное назначение служебных программ (их также называют утилитами) состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы [13]. Во многих случаях они используются для расширения или улучшения функций системных программ. Некоторые служебные программы (как правило, это программы обслуживания) изначально включают в состав ОС, но большинство служебных программ являются для нее внешними и служат для расширения ее функций.
В разработке и эксплуатации служебных программ существует два альтернативных направления: интеграция с операционной системой и автономное функционирование. В первом случае служебные программы могут изменять потребительские свойства системных программ, делая их более удобными для практической работы. Во втором случае они слабо связаны с системным программным обеспечением, но предоставляют пользователю больше возможностей для персональной настройки их взаимодействия с аппаратным и программным обеспечением [5].
Программное обеспечение прикладного уровня представляет собой комплекс прикладных программ, с помощью которых на данном рабочем месте выполняются конкретные задания. Спектр этих заданий очень разнообразен — от производственных до творческих и развлекательно—обучающих. Огромный функциональный диапазон возможных приложений средств вычислительной техники обусловлен наличием прикладных программ для разных видов деятельности.
Между прикладным программным обеспечением и системным существует непосредственная взаимосвязь (первое опирается на второе). Поэтому можно утверждать, что универсальность ВС, доступность прикладного программного обеспечения и широта функциональных возможностей компьютера напрямую зависят от типа используемой ОС, от того, какие системные средства содержит ее ядро, как она обеспечивает взаимодействие триединого комплекса человек — программа — оборудование [4, с. 218].
Операционная система занимает особое место в составе программного обеспечения вычислительной системы, представляя собой комплекс взаимосвязанных программ, которые предназначены для управления ресурсами компьютера и организации взаимодействия с пользователем [7, с. 55]. Как уже говорилось ранее, в логической структуре типичной вычислительной системы ОС занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами (драйверами), с одной стороны, и прикладными программами с другой.
Разработчикам программного обеспечения ОС позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций [5]. С 1990-х гг. и по сей день наиболее распространенными операционными системами являются системы семейства Windows, UNIX и UNIX—подобные системы.
Основные функции ОС:
- исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.) [11, с. 207];
- загрузка программ в оперативную память и их выполнение;
- стандартизированный доступ к периферийным устройствам (устройства ввода—вывода);
- управление оперативной памятью (распределение между процессами, организация виртуальной памяти);
- управление доступом к данным на энергонезависимых носителях (таких как жесткий диск, оптические диски и др.), организованным в той или иной файловой системе [3];
- обеспечение пользовательского интерфейса;
- сохранение информации об ошибках системы.
Дополнительные функции:
- параллельное или псевдопараллельное выполнение задач (многозадачность);
- эффективное распределение ресурсов вычислительной системы между процессами;
- разграничение доступа различных процессов к ресурсам;
- организация надежных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам [5];
- взаимодействие между процессами: обмен данными, взаимная синхронизация;
- защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений;
- многопользовательский режим работы и разграничение прав доступа
Многозадачность и распределение полномочий требуют определенной иерархии привилегий компонентов в самой операционной системе. В составе операционной системы различают три группы компонентов:
- ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
- системные библиотеки;
- оболочка с утилитами [13].
Большинство программ, как системных (входящих в ОС), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система, а точнее, ее ядро управляет оборудованием.
В определении состава ОС значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать свои компоненты, включая модификацию [6, с. 156]. Поэтому в полный состав ОС включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Типичная структура вычислительной системы включает в себя три основных типа устройств: процессор, память, устройства ввода—вывода (рисунок 3).
:
Рисунок 3 — Структура вычислительной сети [5]
Память включает в себя оперативную память (ОЗУ, RAM – Random Access Memory) и постоянную память (ПЗУ, ROM – Read Only Memory), которая служит для хранения данных и программ. Устройства ввода/вывода (УВВ, I/O – Input/Output Devices) служат для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов [5]. Все устройства вычислительной системы объединяются общей системной шиной (системной магистралью или каналом).
Системная магистраль включает в себя четыре основные шины нижнего уровня:
- шина адреса (Address Bus);
- шина данных (Data Bus);
- шина управления (Control Bus);
- шина питания (Power Bus).
Шина адреса служит для определения адреса (номера) устройства, с которым процессор обменивается информацией в данный момент. Каждому устройству, кроме процессора, каждой ячейке памяти в микропроцессорной системе присваивается собственный адрес [4, с. 259]. Когда код какого—то адреса выставляется процессором на шине адреса, устройство, которому этот адрес приписан, понимает, что ему предстоит обмен информацией. Шина адреса может быть однонаправленной или двунаправленной.
Шина данных – это основная шина, которая используется для передачи информационных кодов между всеми устройствами микропроцессорной системы [11, с. 219]. Обычно в пересылке информации участвует процессор, передающий код данных в какое—либо устройство или ячейку памяти, или же принимающий код данных из какого—либо устройства или ячейки памяти. Но возможна также и передача информации между устройствами без участия процессора. Шина данных всегда двунаправленная.