Читаем Записки парасистемного программиста полностью

Энтропия — грозный противник любой СОД. Вооруженная случаем, она наносит свои удары в самых непредвиденных местах, стремясь прорвать нашу оборону, сорвать планы нашего наступления, и если удастся, то уничтожить нашу СОД. Она не так слепа, как кажется, на ее стороне законы больших чисел, естественного, если хотите, отбора самых удачных каверз. Законы больших чисел приводят к законам "бутерброда", "где тонко, там и рвется" и т. п. Первую линию обороны — автоматическую реакцию программного обеспечения на сбои людей и техники мы уже рассмотрели. Когда эта линия обороны прорвана, в бой вступают люди. Рассмотрели мы и еще одну линию обороны, ее силы и средства — системы страхового копирования и восстановления программ и данных. Чаще всего — это вторая линия обороны, но я считаю, что эта линия должна быть третьей. А что же во второй линии? Там должны стоять проверенные в боях, прошедшие сквозь огонь и воду, пусть даже и поредевшие от потерь войска. Эти так просто не отступят.

Этюд.

В программы АСУ "кадры" вкрались ошибки. Одна из них была вызвана тем, что не была учтена возможность приема на работу лиц, родившихся в прошлом веке. В результате, бабушка 1899 года рождения попала в несоюзную молодежь. Еще из-за одной ошибки генеральный директор объединения попал в молодые специалисты. Были и еще кое-какие мелочи. Наконец, ошибки были исправлены и новая версия системы была сдана в эксплутацию. А дальше было вот что. В 23 часа 30 мин. Hа работу после занятий на вечернем факультете пришла девочка оля. Она — так называемый диспетчер СОД. В ее обязанности входит "держать" вторую линию обороны. К утру ВЦ должен выдать результаты работы некоторых СОД, в том числе и АСУ "кадры".

В 2 часа 25 минут оля получает из машинного зала распечатку, из которой следует, что один из шагов задания по "кадрам" закончился аварийно с кодом завершения 0с5. Что это такое — оля не знает. Она ведь только на третьем курсе. Hо оля четко знает, как использовать последний шанс получить результат. Она знает, где лежит инструкция в которой написано на понятном для оли языке, что нужно сделать, чтобы вернуться к предыдущей версии программного обеспечения АСУ "Кадры". Все действия оли сводятся к нажатию нескольких кнопок на устройстве подготовки данных или терминале. Остальное довершит программное обеспечение. Оля принимает решение — и вот уже из засады на перерез прорвавшемуся врагу вылетели проверенные в боях эскадроны.

Да, утром из сводок кто-то вычеркнет бабушку — несоюзную молодежь и генерального дирректора — молодого специалиста. Hо дело сделано, получены в остальном правильные результаты, то есть достигнута цель, для которой, собственно, и функционирует СОД, включая ЭВМ, программное обеспечение и храбрую девочку Олю. Увы, я рассказал вам сказку. Мне не приходилось встречать СОД, которая держала бы в своем горячем резерве предыдущую версию программного обеспечения с полуавтоматическим способом перехода на него. Создавать альтернативный вариант, конечно, дорого. Это годится, скажем, для систем обеспечения посадки на Луну. Hо предыдущая версия ПО (или даже отдельной программы) есть почти всегда, а исправление ошибок, иногда и не удачное, делается так часто.

Ос ЕС, как среда функционирования ПО СОД, не самым лучшим образом приспособленна для быстрого переключения с одной версии программы на другую. Просто сделать глобальный переход: шаг на версию назад для всех СОД (и даже самой ос ес). Труднее (но еще можно) сделать шаг назад для всех процессов одной СОД, если программы этой СОД собранны в одной библиотеке. Hо в большом ВЦ в мультипрограммном режиме, когда разные задачи одной и разных сод взаимодействуют друг с другом, девочка Оля не справится с задачей возврата к предыдущей версии только для одного процесса. Дело обеспечения девочки Оли кнопкой одни парасистемные программисты не решат. Здесь нужно участие разработчиков операционных систем. И не просто участие, а целевая установка, взгляд на жизнь, архитектурное решение. В ОС ЕС, например, для этого не хватает поколений разделов библиотеки и средств доступа к ним. Самое главное, что все кнопки для всех СОД должны быть однотипными. Иначе девочке оли придется трудно, а держать ночью на каждой СОД по одному ведущему инженеру можно позволить себе, опять-таки, лишь для обеспечения посадки на Луну.

4.11. Заметки по поводу.
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

Программирование, программы, базы данных / Программирование / Книги по IT