Записки парасистемного программиста - [12]
4. Четвертый уровень пирамиды состоит из следующих составных частей: — Основные библиотеки; — "Копилки предбанников", по одной на каждую основную библиотеку; — Группы поколений резерва, по одной группе на каждую основную библиотеку. Каждая группа поколений резерва — это несколько томов мл, одинаковых по структуре и содержащих следующие наборы данных: — Копия основной библиотеки; — Копия "копилки предбанников", в которой накоплено то, чем эта копия основной библиотеки отличается от предыдущей; — Копия следующей "копилки предбанников". Все это хозяйство защищено от несанкционированного доступа. За него отвечает системный программист. Смена поколений резерва (новое поколение резерва на МЛ самого старого) выполняется автоматически. Создание нового поколения резерва и опустошение "копилки предбанников" воможно лишь при успешном завершении формирования нового тома мл. Опишем подробнее алгоритм выполнения процедуры REZAPAS, которая создает новые поколения резерва.
В приведенном ниже алгоритме каждый пункт выполняется лишь при правильном выполнении всех предыдущих.
— Прочесть старую копию копилки и основной библиотеки на последнем поколении резерва;
— Записать в конец последнего поколения резерва новую копию копилки;
— Проверить записанное чтением;
— Найти через каталог том МЛ с самым старым поколением резерва и распределить его под новое поколение;
— Записать на новое поколение (опять) копию новой копилки;
— Записать следом копию новой (текущей) основной библиотеки;
— Проверить чтением новое поколение резерва;
— Закаталогизировать новое поколение резерва (закаталогизировав якобы находящийся на нем фиктивный набор данных из группы поколений). Только теперь новое поколение резерва перешло из кандидатов в "настоящие";
— Опустошить копилку.
Таким образом, в ведении системного программиста (и только в его) находятся всегда как минимум два экземпляра любого модуля. Вся эта система, кроме того, поддерживает пары библиотек, обеспечивая их взаимо-однозначное соответствие. Из вышеприведенного этюда можно заметить, что такая система может облегчить жизнь подразделению системных программистов. Защищеность ее от ошибок и гибкость базируемых на ней программных систем значительно выше, чем у традиционной. Несчастье заключено лишь в том, что в полном объеме такой системы нет. Ос ЕС ЭВМ не обеспечивает автоматически ни предбанника, ни поколения раздела библиотеки (или хотя бы "призрака" раздела библиотеки). Организация такой системы в рамках ОС ЕС требует от ее пользователя выдерживания такого большого количества дополнительных ограничений на способ организации програмных систем, базирующихся на "пирамиде", что легче, наверное, заставить всех пассажиров трамвая сортироваться по номеру своей остановки, а всех покупателей называть у кассы сначала номер отдела, а потом сумму. Как видно из описанного выше, "пирамида" базируется практически на следующих идеях: разделение ответственности; локализация во времени и пространстве процессов модификации крупного файла (слияние с "предбанником"); автоматизация рутинной работы по ведению поколений резерва. А в результате, все могут спать спокойно, болеть, когда им хочется и — чего уж лицемерить — даже попадать под трамвай.
Как легко, все-таки, переводить с английского на русский модальные глаголы. По английски "to have to", "to be to", "must", "might", "should", а по русски (не Пушкины же) все одно — "должен".
Этюд.
В документации написано: "В поле операнда должен находиться символ кода дкои, отличный от ъхъ". Как понимать эту фразу? Давайте пофантазируем. Сначала рассмотрим ситуацию, когда поле операнда может быть и пустым, но уж, если оно не пусто, то:
1. Наличие в нем символа ъхъ диагностируется, как ошибка, процесс прекращается;
2. Наличие символа ъхъ диагностируется, как ошибка, он заменяется на 'Y', процесс продолжается;
3. Символ ъхъ допустим, но случай его использования в поле операнда описан в другом месте документации.
4. Эффект от наличия ъхъ в поле операнда неопределен.
5. Символ ъхъ поместить в поле операнда невозможно (отсутствует на клавиатуре);
6. ЪХъ означает конец поля операндов;
7. Написание символа ъхъ в поле операнда — противоправовое действие (как проезд на запрещающий сигнал светофора).
Теперь вспомним еще одну возможность: "поле операнда "должно" быть не пустым". Фантазировать над этим последним "должно" мы не будем, а просто возведем число предыдущих вариантов в квадрат, чтобы учесть, например, такую комбинацию: "отсутствие символов в поле операнда приводит к аварийному окончанию, а наличие в нем символа ъхъ к замене его на 'Y' с продолжением обработки". Hе имея ничего против модальных глаголов, могу посоветовать потенциальным пользователям каких-либо программных систем, не искушать свою судьбу, связав ее с системой, документация которой не раскрывает неопределенностей своих императивных высказываний.
Перед нами "раненый" DD-оператор языка управленния заданиями ОС ес:
>//АLРНА DDD DСNАМЕ=ВLIN,SРАSЕ=(ТRС,20),UNТ=SYSDА, //
>DIРS=(NЕW,САТGL),VОL=SЕR=КОМ
вы узнали его? Hу, конечно же, это практикантка Светочка хотела написать:
Грацианский Николай Павлович. О разделах земель у бургундов и у вестготов // Средние века. Выпуск 1. М.; Л., 1942. стр. 7—19.
Монография составлена на основании диссертации на соискание ученой степени кандидата исторических наук, защищенной на историческом факультете Санкт-Петербургского Университета в 1997 г.
В монографии освещаются ключевые моменты социально-политического развития Пскова XI–XIV вв. в контексте его взаимоотношений с Новгородской республикой. В первой части исследования автор рассматривает историю псковского летописания и реконструирует начальный псковский свод 50-х годов XIV в., в во второй и третьей частях на основании изученной источниковой базы анализирует социально-политические процессы в средневековом Пскове. По многим спорным и малоизученным вопросам Северо-Западной Руси предложена оригинальная трактовка фактов и событий.
Книга для чтения стройно, в меру детально, увлекательно освещает историю возникновения, развития, расцвета и падения Ромейского царства — Византийской империи, историю византийской Церкви, культуры и искусства, экономику, повседневную жизнь и менталитет византийцев. Разделы первых двух частей книги сопровождаются заданиями для самостоятельной работы, самообучения и подборкой письменных источников, позволяющих читателям изучать факты и развивать навыки самостоятельного критического осмысления прочитанного.
"Предлагаемый вниманию читателей очерк имеет целью представить в связной форме свод важнейших данных по истории Крыма в последовательности событий от того далекого начала, с какого идут исторические свидетельства о жизни этой части нашего великого отечества. Свет истории озарил этот край на целое тысячелетие раньше, чем забрезжили его первые лучи для древнейших центров нашей государственности. Связь Крыма с античным миром и великой эллинской культурой составляет особенную прелесть истории этой земли и своим последствием имеет нахождение в его почве неисчерпаемых археологических богатств, разработка которых является важной задачей русской науки.
Автор монографии — член-корреспондент АН СССР, заслуженный деятель науки РСФСР. В книге рассказывается о главных событиях и фактах японской истории второй половины XVI века, имевших значение переломных для этой страны. Автор прослеживает основные этапы жизни и деятельности правителя и выдающегося полководца средневековой Японии Тоётоми Хидэёси, анализирует сложный и противоречивый характер этой незаурядной личности, его взаимоотношения с окружающими, причины его побед и поражений. Книга повествует о феодальных войнах и народных движениях, рисует политические портреты крупнейших исторических личностей той эпохи, описывает нравы и обычаи японцев того времени.