Записки парасистемного программиста - [10]

Шрифт
Интервал

Этюд.

В некотором ВЦ разработали программное обеспечение некоторой СОД в среде ОС ЕС. Все модули этой сод написаны на языке PL/1, оттранслированы и отредактированы с полным разрешением внешних связей. В таком виде загрузочные модули (ЗМ) записаны в библиотеку. Это означает, что, если программы A, B, C и D содержат предложение CALL W в исходном тексте, то в библиотеке зм они будут храниться в следующем виде: AW, BW, CW, DW. Теперь представим себе, что в нашей СОД головных программ — 21 штука, а программ, которые вызываются этими головными — 214. По листингам легко определить, какие программы вызывают программу х, но никак не наоборот: какими программами вызывается программа х.

Кроме того, к каждой головной программе редактор связей щедро присоединил программы периода выполнения из библиотеки транслятора PL/1, размножив их, таким образом, в количистве 21 экземпляр. Hо бог с ним, с объемом внешней памяти под библиотеку зм. Пусть разработчики восторгаются количеством команд в своем детище. Радоваться им не долго, так как эту СОД они сделали, что называется, "для себя". В один прекрасный день они нашли ошибку в программе Z, которая используется… Очень трудно сказать точно, где она используется. Примерно в 17 из 21 головных модулей. Ошибочка не очень страшная, почти все работает. Hо, если запятая следует за пробелом, а длина записи больше 72 байт…

В общем, нужно исправлять. Для этого нужно исправить исходный текст программы Z, оттранслировать ее, а затем отредактировать заново все 21 головных модулей, так как трудно сказать, какие из них не пользуются услугами программы Z. Вот тут-то и начинается самое интересное. Исправление пришлось делать, что называется, "на живом теле", в рабочем экземпляре библиотеки зм, чтобы как можно быстрее исправить эту ошибку, хотя бы в тех головных модулях, которые должны использоваться в ближайшее время. Исправление затянулось на две недели. При этом, пользователи несколько раз получали неверные результаты, так как никто не знал, какие модули требуют исходных данных еще в "старом" виде, а какие — в "новом". При редактировании одного модуля произошла ошибка, которую не заметили, и модуль был неработоспособен двое суток. Два других модуля просто забыли отредактировать, и ошибку нашли только через месяц.

Во время исправления одного из модулей отказала ЭВМ, и библиотека зм пришла в негодность. Пришлось восстанавливать ее с позавчерашнего дампа. Hо там было отредактировано на 7 модулей меньше, а может, на 8? Пока продолжалась вся эта эпопея, не смотря на массовый героизм разработчиков и эксплуатационников (успевших переругаться между собой), ВЦ сорвал свой и чей-то еще план, все, кому полагается по штатному расписанию, получили по выговору. Получил свой выговор и начальник ЭВМ, за то, что его любимица нашла не самый удачный момент, чтобы сломаться. Передышка была недолгой. Hе успели страсти утихнуть, как обнаружилась еще одна ошибка. Hа этот раз в программе Y.

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

4.6. Память в муравейнике.

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

Этюд.

Некоторая система по включению в эксплуатацию новых программных модулей работает следующим образом. Пользователями этой СОД являются программисты, которые отладили свои программные модули и теперь эти модули хотят включить в состав общей библиотеки программ. Общих библиотек несколько: для программ на языке PL/1, оттранслированных обычным транслятором; для программ на языке PL/1, оттранслированных оптимизирующим транслятором и т. п.


Рекомендуем почитать
Афганистан, Англия и Россия в конце XIX в.: проблемы политических и культурных контактов по «Сирадж ат-таварих»

Книга представляет собой исследование англо-афганских и русско-афганских отношений в конце XIX в. по афганскому источнику «Сирадж ат-таварих» – труду официального историографа Файз Мухаммада Катиба, написанному по распоряжению Хабибуллахана, эмира Афганистана в 1901–1919 гг. К исследованию привлекаются другие многочисленные исторические источники на русском, английском, французском и персидском языках. Книга адресована исследователям, научным и практическим работникам, занимающимся проблемами политических и культурных связей Афганистана с Англией и Россией в Новое время.


Варежки и перчатки

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


Скифия–Россия. Узловые события и сквозные проблемы. Том 2

Дмитрий Алексеевич Мачинский (1937–2012) – видный отечественный историк и археолог, многолетний сотрудник Эрмитажа, проникновенный толкователь русской истории и литературы. Вся его многогранная деятельность ученого подчинялась главной задаче – исследованию исторического контекста вычленения славянской общности, особенностей формирования этносоциума «русь» и процессов, приведших к образованию первого Русского государства. Полем его исследования были все наиболее яркие явления предыстории России, от майкопской культуры и памятников Хакасско-Минусинской котловины (IV–III тыс.


Долгий '68: Радикальный протест и его враги

1968 год ознаменовался необычайным размахом протестов по всему западному миру. По охвату, накалу и последствиям все происходившее тогда можно уподобить мировой революции. Миллионные забастовки французских рабочих, радикализация университетской молодежи, протесты против войны во Вьетнаме, борьба за права меньшинств и социальную справедливость — эхо «долгого 68-го» продолжает резонировать с современностью даже пятьдесят лет спустя. Ричард Вайнен, историк и профессор Королевского колледжа в Лондоне, видит в этих событиях не обособленную веху, но целый исторический период, продлившийся с середины 1960-х до конца 1970-х годов.


Оттоманские военнопленные в России в период Русско-турецкой войны 1877–1878 гг.

В работе впервые в отечественной и зарубежной историографии проведена комплексная реконструкция режима военного плена, применяемого в России к подданным Оттоманской империи в период Русско-турецкой войны 1877–1878 гг. На обширном материале, извлеченном из фондов 23 архивохранилищ бывшего СССР и около 400 источников, опубликованных в разное время в России, Беларуси, Болгарии, Великобритании, Германии, Румынии, США и Турции, воссозданы порядок и правила управления контингентом названных лиц, начиная с момента их пленения и заканчивая репатриацией или натурализацией. Книга адресована как специалистам-историкам, так и всем тем, кто интересуется событиями Русско-турецкой войны 1877–1878 гг., вопросами военного плена и интернирования, а также прошлым российско-турецких отношений.


Чрезвычайная комиссия

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