- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
К группе параметров, влияющих на сложность разработки комплексов программ, относятся:
• величина программы, выраженная числом строк, команд или количеством программных модулей в комплексе;
• количество обрабатываемых переменных или объем памяти для размещения базы данных;
• трудоемкость разработки комплекса программ;
• длительность разработки;
• количество специалистов, участвующих в создании комплекса программ.
В 70-е годы стало ясно, что, варьируя требования к функциональным характеристикам программ, можно в значительных пределах изменять сложность и длительность их создания. Вычислительная сложность была непосредственно связана с ресурсами вычислительной системы, необходимыми для получения совокупности законченных результатов, и могла быть представлена тремя компонентами:
• временная сложность отражала необходимую длительность исполнения комплекса программ или время обработки на ЭВМ совокупности исходных данных до получения требуемых результатов;
• программная сложность характеризовалась длиной текста программы или размером памяти ЭВМ, необходимой для размещения программного комплекса;
• информационную сложность рекомендовалось представлять, как объем базы данных, обрабатываемых комплексом программ, или как емкость оперативной и внешней памяти, используемой для накопления и хранения информации при исполнении программного продукта.
Эти параметры сложности программ при эксплуатации связаны между собой, и увеличение сложности по одному из показателей в некоторых пределах позволяет снижать сложность по другому показателю. Наиболее характерна такая связь между тремя основными характеристиками функционирования программ. длительностью исполнения, объемом базы данных и длиной текста программы. В системах реального времени временная сложность непосредственно отражается допустимым временем отклика (ожидания выходных результатов) на некоторые исходные данные. Пропускная способность комплекса программ при его исполнении на конкретной ЭВМ характеризует динамику обработки исходных данных, и сложность исполнения программ в реальном масштабе времени.
Программная сложность в первом приближении может измеряться количеством команд (строк текста), используемых в тексте данного комплекса программ. Относительная простота определения количества команд привела к широкому применению этого параметра в качестве инженерной меры программной сложности. Однако различия количества используемых байт в памяти ЭВМ на одну операцию затрудняют подсчет сложности программ по количеству команд, поэтому часто используются оценки по объему памяти, занимаемой программами (байт или слов конкретной ЭВМ). Такая оценка затрудняет сравнение программной сложности решения задач при применении ЭВМ с различной структурой команд.
В процессе эксплуатации комплекса программ основная сложность может быть сосредоточена в подготовке исходных данных и в анализе результатов. Это наиболее характерно для человеко-машинных систем обработки информации, в которых основные решения принимаются человеком. Сложность ручной подготовки, корректировки и сверки больших массивов данных (например, для материально-технического обеспечения или бухгалтерского учета) может значительно превышать программную или временную сложность функционирования программ. Для таких задач может быть велика психологическая сложность анализа и селекции результирующих данных, рассчитанных на ЭВМ.
Потребности в вычислительных ресурсах для систем в 1970-е – 80-е годы росли быстрее, чем реальные характеристики ЭВМ, что обострило проблему реализации и функционирования сложных комплексов программ в условиях ограниченных ресурсов. Одним из важнейших и наиболее общих показателей, характеризующих возможность применения ЭВМ, являлась их производительность. Уже на стадии формулирования исследовательских, информационных или управленческих задач приходилось сопоставлять доступную производительность ЭВМ с необходимыми затратами времени для их решения или с допустимой длительностью ожидания результатов (длительностью отклика). В этом смысле использование ЭВМ являлось их использованием в реальном масштабе времени. Поэтому весьма актуальным для всех типов систем стало исследование эффективного распределения ограниченной производительности ЭВМ для решения групп различных функциональных задач и разработка методов рациональной организации вычислительного процесса в реальном времени.
Проведенные в 70-е годы исследования показали, что на эффективность использования производительности вычислительных систем в наибольшей степени влияли следующие факторы:
• характеристики и параметры потоков сообщений, как от внешних абонентов, так и внутри системы, поступающих для вызова на решение определенных программ;
• характеристики программ и длительности процессов обработки сообщений различных типов и назначения;
• общая загрузка и загрузка вычислительной системы отдельными программными компонентами;
• количество процессоров и структура связей между ними, а также с общей памятью;
• методы распределения ресурсов ЭВМ, их точность и степень учета различных параметров, а также совокупная сложность и необходимая частость корректировки распределений ресурсов;
• затраты на операции распределения ресурсов в ЭВМ и их соотношение с получаемым эффектом от повышения качества распределения.
Проведенные исследования позволили классифицировать и оценить методы распределения вычислительных ресурсов, а также организации вычислительного процесса в зависимости от степени неопределенности априорной информации об основных динамических характеристиках поступления внешних сообщений и их обработки:
• полностью детерминированные, использующие точную априорную информацию о временных характеристиках и потребных ресурсах времени для реализации каждой заявки на обработку информации;
• стохастические, применительно к некоторым типам или группам заявок, когда априорно известны и различимы их статистические характеристики поступления и длительности обработки;
• полностью стохастические, когда неизвестны априорные характеристики поступления и длительности обработки информации, невозможно их классифицировать и разделить на определенные типы.
При анализе распределения ресурсов, определяющими являются не столько отдельные значения интенсивностей поступления заявок и их обслуживания, сколько соотношение этих параметров, которое характеризует загрузку ЭВМ в реальном времени. Когда интенсивность поступления заявок на обработку превышает интенсивность их обслуживания, недостаток времени может приводить к неограниченному накоплению заявок в очереди на обработку. Если не принять мер по прореживанию заявок-сообщений, то они могут переполнять память ЭВМ. В то же время при малых загрузках, ЭВМ используется по производительности нерационально, и можно было бы применить для той же цели более дешевую и менее производительную ЭВМ.
Для сокращения затрат на распределения при частом их проведении исследованы дисциплины оперативной диспетчеризации, которые обеспечивают приоритетные распределения, достаточно близкие к оптимальному. Эти правила основываются на предварительных экспериментальных исследованиях различных методов распределения ресурсов или на аналитических исследованиях некоторых обобщенных моделей. Анализ эффективности дисциплин диспетчеризации с учетом затрат на прерывание обработки и переключение программ показал, что при большой загрузке системы их эффективность весьма чувствительна к затратам на прерывания. При сравнительно небольших затратах на прерывания дисциплины с относительными и абсолютными приоритетами сравнимы по эффективности.
5.2. Характеристики и методы оценки качества компонентов и комплексов программ реального времени – 1975-е годы
В 1970-е годы был предпринят ряд попыток дать количественную оценку понятию качества программного продукта путем разработки ряда показателей, численно характеризующих свойства и требования заказчика, лежащие в основе этого понятия. Широко распространенному в 60-е годы подходу к программам, заключавшемуся в тезисе: «лишь бы программа работала», все более четко противопоставлялся тезис: «с какими характеристиками качества функционирует программа, и при каких затратах достигаются результаты». Стало ясным, что для превращения программирования в современную инженерную дисциплину, разработку программных продуктов следует осуществлять промышленными методами, с обязательным применением различных способов измерения характеристик качества программ, и установлением между ними причинно-следственных связей.