И во-вторых, искин это не комплекс, его можно и заменить на более производительный. Это сделать гораздо проще и дешевле, чем менять весь комплекс. И опять у меня «хомячком» для экспериментов должен был послужить наш старичок, снятый со спасательного бота.
Транс. Выход.
* * *
Я отправил одного из ремонтников в трюм за обычным транспортным искином. Подобные компьютеры были одной из самых распространённых и недорогих моделей, которые можно встретить повсеместно. Дождался, когда он вернется и принесет искин.
По иронии судьбы ремонтник выбрал еще и поврежденный, вернее недавно восстановленный агрегат. Тестер показал, что он вполне исправен, правда, его производительная мощность снижена на тридцать процентов. Я пожал плечами.
«Для эксперимента, как и мой куцый медицинский комплекс, это самое то», – подумал я. После чего забрал искин и, перейдя в соседнее помещение, снял боковую панель медбокса. Быстро вытащил установленный в него искин и, немного помучившись, вставил тот, что принес с собою. Он, хоть я этого и не предполагал, был чуть большего размера.
Проверив, что все подключил правильно, я перелил через общее хранилище корабля прошивку с медицинского искина на установленный. Обновил под него драйвера, благо они хранились там же на искине. И потом даже не собирая бокс обратно, активировал его.
Все работало сверхидеально.
Мощностей обычного, самого дешёвого транспортного искина, который стоил, по просмотренным мною прайсам, в три раза дешевле специализированного медицинского, хватало за глаза. Общая загрузка не превышала пятнадцати процентов при работе на стандартных операциях и повышалась до шестидесяти пяти – семидесяти при подключении специализированных функций.
Проверив свою догадку по сообщениям в сети, я понял, что подобные модернизации до сих пор никто не проводил. Подумав, я понял, что и в моей базе знаний ничего подобного не было. Это оказалась полностью моя идея.
Собрав бокс, я оставил там установленный в него искин, а медицинский забрал с собой. Мне было интересно, в чем же такая их особая ценность? По всему выходило, что это какой-то большой лохотрон. Но пока я ничего более конкретного сказать не мог.
После этого я вернулся в ремонтный отсек. Следовало доработать алгоритм.
Пока я экспериментировал со своим медкомплексом, мне в голову пришло пару идей, которые еще больше должны были позволить адаптировать этот новый медицинский модуль к различным медицинским комплексам.
* * *
Счет. Транс.
Первым делом я реализовал процедуру миграции с одного искина на другой. Правда, перед этим вписал меню выбора источника и получателя прошивки. В этот момент оба компьютера должны были быть подключены к медицинскому комплексу.
Как раз на этот или подобный случай я специально проверил, чтобы там были добавлены дополнительные интерфейсы, позволяющие выполнить подобную процедуру. И думаю, такие или аналогичные интерфейсные подключения уж точно есть и в более продвинутых моделях.
После миграции производилась автоматическая установка драйверов под новую прошивку искина, превращающую его в специализированный медицинский элемент структуры комплекса. На последнем этапе предлагалось провести физическую замену искинов, снять оригинальный и на его место установить новый.
В итоге общий процесс работы алгоритма по переходу в однопользовательский режим у меня выходил такой.
Первое. Его я скомпоновал в отдельную надстройку, которую требовалось установить в существующую прошивку комплекса.
Второе. Дальше появлялся дополнительный режим работы оператора – «однопользовательский», который или регистрировал нового оператора, или работал с уже прошитыми в него индивидуальными настройками.
Третье. На следующем шаге, если мощностей медкомплекса было достаточно или он был вполне современным, никаких иных манипуляций проводить с ним не требовалось.
Четвертое. Но если это была какая-то устаревшая или не слишком мощная (бюджетная) модель, то оператору предлагался выбор. Или отключить функции, несовместимые с данной моделью медкомплекса, или произвести его модернизацию в соответствии с предложенными рекомендациями.
Пятое. Эти же рекомендация я вынес и в главное меню, давая возможность хотя бы примерно оценить оператору текущую производительность работы медкомплекса и его будущую производительность, которую он получит после замены искина.
Шестое. Ну и при выборе модернизации, оператору предлагался или небольшой программный разгон, или аппаратный, с подобной инструкцией по пошаговой замене искина.
Седьмое. Саму процедуру миграции я просто вшил в последний пункт, обозначенный кнопкой «Запустить», после выбора которого она стартовала автоматически.
Восьмое. Последним шагом я производил привязку модуля к аппаратной части, чтобы этот же модуль не было возможности раскатить на несколько комплексов. А инсталляционный пакет затирался самостоятельно изнутри системы.
С искина повторную установку выполнить уже было невозможно. А инсталлятор для повторной установки не годился, так как по мере передачи данных он безвозвратно саморазрушался, по принципу войсковых баз знаний.
Почему не воспользоваться хорошей идеей?
Еще раз, оценив на виртуальной модели работу всех компонентов модуля, я решил не полениться и провести еще один эксперимент, но уже на полностью готовом продукте со всеми его составными частями.
Транс. Выход.
* * *
После этого я специально прошёл в соседний отсек и подключил к медбоксу его старый искин. А затем запустил комплекс именно с него.
Следом я провел установку своего универсального программного обновления для медицинского оборудования. Перешёл в однопользовательский режим. И начал выбирать соответственно все доступные пункты меню.
Так. Основной функционал работает, как и раньше, до смены искина. Все остальные опции обрезаны. Вижу пояснение, говорящее о том, что для полнофункциональной работы не хватает мощностей основного искина.
Провожу небольшую программную оптимизацию. Теперь открыт доступ к еще нескольким спецоперациям, но все равно основная часть функционала закрыта от пользователя.
Дальше. Переход к самому главному и интересному.
Шаг по подключению искина пропускаю. Он уже установлен.
Миграция и обновление драйверов.
Перезапуск медицинского комплекса и его старт с нового искина.
Доступны все реализованные функции.
И, не знаю, кажется мне это или нет, но, по-моему, даже на дорогущем комплексе Талии этот функционал работает значительно медленнее.
Отклик системы идеален. Нет задержек или подвисаний. Все работает превосходно. Что и требовалось.
Так и непонятно, почему такой простой алгоритм и до сих пор не реализован? Даже в будущем он будет жёстко привязан к аппаратной части оборудования. Но это так, мелочи.