Случается и наоборот. Перевод группы, привыкшей работать на ограниченных системах команд, на программирование с использованием «богатых» систем так же может привести к ужасающим результатам. Прежде всего, они не справляются с богатством, как и повсюду, где оно достается людям. Продуктивность их работы чрезвычайно низка.
Теоретически большие системы команд можно использовать более эффективно, это относится и к стадии разработки. Не надо только думать, что это всегда так.
Наилучшим способом замерять производительность машины было пропустить на ней именно Вашу программу, определив время ее обработки прямо по секундомеру.
Такой способ труден и дорог. Некоторые еще не запрограммированные задачи приходится программировать специально для подобных замеров. Для замеров нужно использовать задачи, которые могут быть просчитаны на разных машинах. Такие задачи называются эталонными пакетами.
Что же можно охарактеризовать с помощью эталонных пакетов и замеров времени? Все, что имеется в вычислительной системе — аппаратуру, отдельные программы (а следовательно, и умение тех, кто занимался их программированием), трансляторы, программное обеспечение, устройства ввода/вывода, размер машинного слова, систему команд, операционную систему, действия операторов.
Из того, что машина А выигрывает у машины В, нельзя делать вывод о том, что ее аппаратура работает быстрее. Плохое программное обеспечение могло свести на нет все хорошее, что имеется в машине В.
Чтобы вычислительная система работала эффективно, необходимо так ее сбалансировать, чтобы она подходила для решения поставленных перед ней задач, чтобы процессор был загружен в равной мере с устройствами ввода/вывода, не опережал их работу, но и не отставал от них. Кроме того, система должна включать в себя высококачественное программное обеспечение. В хорошо сбалансированной системе одновременно работают почти все устройства.
Что измеряется | |
---|---|
Пропускная способность характеризует систему в целом: команды + программное обеспечение + операторы + магнитофоны, а также искусство программистов и качество аппаратуры ЭВМ | МКС измеряет внутреннюю скорость центрального процессора и памяти |
С помощью замеров времени | С помощью измерений на смесях команд |
Как измеряется |
Рис. 3.2. Пропускная способность системы и МКС как средства оценки производительности вычислительной машины.
На рис. 3.2 наглядно подытоживаются наши рассуждения о производительности.
Глава 4
Таксономия программного обеспечения
Каким же образом мы справляемся со всем своеобразием вычислительной машины? Помогает нам распределение по категориям и классам, разделение предмета на составные части и куски. Именно это мы и собираемся проделать в этой главе с программным обеспечением.
Мы уже видели, что по типам использования все вычислительные машины могут быть разбиты на несколько категорий, мы насчитали пять таких категорий. Эти же пять категорий оказываются полезными и для понимания внешних влияний, испытываемых программным обеспечением. Как мы увидим, они могут не совпадать с обычным делением программного обеспечения на некоторые типы.
Здесь представлена таксономия программного обеспечения, которая может быть полезной для обсуждения и понимания проблем, возникающих при разработке, использовании и продолжающейся разработке программного обеспечения больших и сложных систем.
Как мы уже видели, есть пять типов использования систем с программным обеспечением:
Тип I. Использование для обработки данных.
Тип II. Использование для проведения научных расчетов.
Тип III. Использование для информационных систем.
Тип IV. Использование в диалоговых системах решения задач.
Тип V. Использование для управления процессами.