Законы развития технических систем и программное обеспечение
Законы развития технических систем и программное обеспечение И сказал Малтак Ди школяру:
— У меня в руке шестнадцать бусин. Если я отдам тебе шесть из них, сколько у меня останется?
— Десять, джетах.
— Протяни руку.
Школяр повиновался. Малтак Ди отсчитал ему шесть бусин и разжал ладонь. Она оказалась пустой.
— Ты солгал, джетах!
— Верно. На мой вопрос ты должен был ответить: "Сперва раскрой ладонь, джетах, и дай мне увидеть твои шестнадцать бусин". Твой же ответ основывался на незнании.
— Это несправедливо, джетах!
— А этот ответ основан на глупости.
Предание о Малтаке Ди, Кода Нушада, Талман.
Барри Лонгиер, "Грядущий завет"
В настоящее время в компьютерной и популярной литературе, да и просто в СМИ, активно используются такие обороты, как бурное развитие информационных технологий, современное програм-мное обеспечение, прогрессивная информационная технология, современная операционная система, современный компьютер и тому подобные. Кроме того, эти фразы носят характер безапелляционных утверждений, являющихся совершенно очевидными для всех и каждого.
Поскольку, во-первых, внедрение в массовое сознание определенных стереотипов свидетельствует о наличии соответствующих коммерческих интересов, а, во-вторых, научный подход к познанию предполагает подвергать все исходные данные разумному сомнению, давайте попробуем разобраться в современном состоянии развития информационных технологий.
Одним из наиболее показательных и интересных с практической точки зрения примеров является развитие операционных систем. Во избежание сложностей, связанных с учетом различий между Большими, Малыми и МикроЭВМ, давайте остановимся на операционных системах для настольных ПК, т.е. МикроЭВМ. Эта тема и будет рассмотрена в настоящей статье.
Определимся в терминах
РАЗВИТИЕ — необратимое, направленное, закономерное изменение материи и сознания, их универсальное свойство; в результате развития возникает новое качественное состояние объекта — его состава или структуры. ("Советский энциклопедический словарь", Москва, "Советская энциклопедия" 1983).
ПРОГРЕСС — направление развития, для которого характерен переход от низшего к высшему, от менее совершенного к более совершенному. О прогрессе можно говорить применительно к системе в целом, отдельным ее элементам, структуре развивающегося объекта. (Там же).
Исходя из приведенных определений, уже можно сделать следующие выводы:
1. Развитие, как таковое, предполагает закономерность изменений, но не обязательно является прогрессом.
2. Прогрессивность развития можно определить, только опираясь на критерии совершенства развивающегося объекта.
Применительно к анализу развития операционных систем необходимо, во-первых, установить сам факт развития, во-вторых, определить его направление и, в-третьих, оценить степень прогрессивного развития объекта.
Так как развитие, в сущности, является качественным изменением объекта во времени, а операционные системы (ОС) претерпевают (порой очень значительные) изменения с самого начала своего существования до сих пор, можно с определенной степенью уверенности утверждать, что они развиваются.
Единственным "но" здесь является относительная редкость именно качественных изменений в ОС, т.е. изменения их структурной или функциональной составляющей. То есть далеко не все изменения в ОС можно считать их развитием.
Для определения вектора развития и оценки прогресса в развитии ОС необходим ряд критериев.
Поскольку информационные системы можно, практически без оговорок, причислить к классу технических систем[4], к ним применимы законы развития технических систем, сформулированные в рамках теории развития технических систем, базирующейся на теории решения изобретательских задач (ТРИЗ)[1].
В рамках ТРИЗ прогрессивным развитием считается качественное изменение технических систем, происходящее в результате разрешения технических противоречий. Под техническим противоречием понимается препятствие на пути развития системы, которое невозможно преодолеть компромиссным путем.
Степень прогрессивности развития систем определяется их соответствием следующим законам развития:
1. Увеличение степени идеальности.
Система идеальна, если ее нет, а функция осуществляется. Таким образом, физическое существование системы не является обязательным условием выполнения ее функций, что используется при ее усовершенствовании.
2. Повышение динамичности и управляемости.
Развитие технических систем происходит:
— от систем с постоянными параметрами к системам с параметрами, изменяющимися при изменении параметров работы системы;
— от узкофункциональных систем, предназначенных для выполнения конкретной цели, к широкофункциональным системам, позволяющим изменять функции перенастройкой системы;
— к системам с дифференцированными внутренними условиями, условия в оперативной зоне стремятся стать оптимальными для проведения технологического процесса (температура, давление, газовый состав или, для вычислительных машин, скорость обработки информации), в то время как условия на входе и выходе системы определяются внешней средой и человеком;
— к системам с увеличенным числом степеней свободы;
— к системам с изменяемыми связями между элементами;
— от неуправляемых систем к управляемым с повышением степени управления системами;
— от систем со статической устойчивостью к системам, устойчивым динамически, то есть только за счет управления;
— к использованию самопрограммирующихся, самообучающихся, самовосстанавливающихся систем.
3. Согласование в технических системах.
Согласование может проходить в три этапа:
— согласование параметров подсистем для повышения полезного эффекта или исключения вредного;
— направленное рассогласование параметров подсистем для дальнейшего повышения или получения нового полезного эффекта;
— переход к динамическому согласованию-рассогласованию при подготовке к работе или в процессе работы подсистемы;
Согласование подсистем сложных систем предполагает:
— исключение промежуточных согласующих подсистем;
— переход к использованию одних и тех же подсистем для выполнения различных функций, обобществление отдельных узлов различных подсистем;
— стремление к укрупнению, усложнению элементарных частей системы;
— стандартизацию элементарных частей систем.
4. Переход в надсистему.
Исчерпав возможности развития, система включается в надсистему в качестве одной из ее частей, при этом дальнейшее развитие идет, преимущественно, на уровне надсистемы.
Переход в надсистему осуществляется тремя основными путями:
— созданием надсистемы из однородных элементов;
— созданием надсистем из конкурирующих (альтернативных) систем;
— созданием надсистемы из антагонистических систем (систем с противоположными функциями).
5. Переход на микроуровень.
6. Повышение полноты частей технической системы и вытеснение из нее человека.
Вытеснение человека происходит последовательно, на следующих уровнях:
— исполнительный уровень;
— уровень управления;
— информационный уровень.
Попробуем теперь, исходя из изложенных критериев оценки, проанализировать развитие ОС.
Увеличение степени идеальности
Исходя из данного критерия, прогрессивное развитие любой операционной системы предполагает увеличение количества выполняемых функций и качества их выполнения с одновременным уменьшением потребностей в ресурсах (аппаратных, денежных, трудовых и т.п.), необходимых для реализации этих функций. К сожалению, в этой части прогресса не наблюдается.
Как правило, внедрение в ОС новых функций или улучшение старых ведет к увеличению объема занимаемого дискового пространства и требований к аппаратным ресурсам.
Наиболее прогрессивными в этом плане можно назвать UNIX-системы (не считая, конечно, DOS), в них реализован и отлажен базовый набор функций, что повлияло на относительную стабильность требований к ресурсам, в то же время, обновления и исправления таких систем чаще всего не приводят к существенным изменениям системных требований.
Примерно на этом же уровне находится IBM OS/2, MacOS и NeXT по тем же соображениям. Системы семейства Linux труднее оценить по этим показателям ввиду некоторой хаотичности их изменения и большому количеству несовпадающих по объему и функциям дистрибутивов, в то же время есть диcтрибутивы Linux, позволяющие загружать работоспособную ОС всего с одного или двух гибких магнитных дисков.
Наконец, поскольку нельзя совсем ничего не сказать об этой ОС, Microsoft Windows по указанному критерию находится на максимально возможном удалении от идеала, поскольку с каждой новой своей версией она "раздувается" как минимум в 2 раза и требует резкого увеличения "мощности" аппаратных ресурсов вкупе с частым снижением качества и надежности выполнения своих функций. Добавление же новых функций происходит ценой совершенно несоразмерного роста системных требований.
Подтверждением таких выводов является выбор ОС для карманных ЭВМ, для которых сейчас характерен максимальный дефицит ресурсов.
Наиболее применяемой системой до недавнего времени была DOS, применяется также Windows CE (предоставляющая очень урезанный набор функций ОС) и, с недавних пор, Linux (здесь, разумеется, не учитываются микро-ОС, разработанные специально для карманных ЭВМ). Показателен также и выбор ОС для систем реального режима времени.
В качестве одного из идеальных решений можно, например, предложить применение объектно-ориентированного проектирования к аппаратным средствам ЭВМ. Тогда работа ЭВМ будет обеспечиваться взаимодействием следующих объектов: объект "процессор" будет отвечать за загрузку программ и планирование задач, объект "монитор" будет отвечать за вывод элементов изображения на экран, объект "накопитель" будет отвечать за файловую систему и хранение файлов, объект "консоль" будет отвечать за интерфейс и ввод данных пользователем и т.п. При этом, соответствующие методы объекта будут реализованы аппаратно. Таким образом, программа будет работать напрямую с "железом", как таковой операционной системы на ЭВМ не будет, а ее функции будут выполняться. Зачатки этого подхода реализованы в архитектуре Jini корпорации Sun Microsystems.
Повышение динамичности и управляемости
К прогрессивным изменениям по указанному критерию можно отнести: возможность оперативного изменения настроек ОС, различные системы расширения возможностей ОС (драйверы, сервисы, подключаемые модули), технологию автонастройки ОС под аппаратную конфигурацию (plug'n'play), технологию динамической загрузки библиотек подпрограмм, динамическую подстройку ОС под загруженность аппаратуры, разработки в области пользовательского интерфейса. Отрицательным фактом является то, что большая часть перечисленных функций ОС реализована уже достаточно давно, а последние реализации оконного интерфейса ориентированы на диалоговый режим работы в ущерб пакетному, что ведет к снижению управляемости ОС.
По качеству реализации большинства перечисленных функций лидируют системы UNIX, IBM OS/2, MacOS и NeXT. Система MS Windows обеспечивает высокую эстетичность пользовательского интерфейса и лидирует по заявленным функциям самонастройки и самоконфигурации, что же касается конкретной их реализации, ее уровень аналогичен таковому в Linux, хотя причины невысокого качества ряда функций этих двух ОС совершено различны.
Оптимальным вариантом ОС по данному критерию можно назвать систему, полностью состоящую из динамических модулей (включая ядро ОС), производящую автоматическую динамическую настройку на конфигурацию аппаратуры и манеру работы пользователя и оптимизирующую свое быстродействие для конкретной конфигурации. Интерфейс такой ОС должен быть максимально близок к пользователю (с учетом соответствующих стандартов), в то время как функциональная ее часть должна быть оптимизирована под максимальную скорость и стабильность обработки данных.
Согласование в технических системах
Применением закона согласования подсистем являются многозадачность и планирование задач, системы буферизации памяти, ручное управление цветовой гаммой пользовательского интерфейса и частотой обновления изображения, использование системных библиотек функций, технология "микроядра" ОС, стандартизация блоков ОС и программных интерфейсов. Как и в рамках предыдущего критерия, большинство перечисленных функций ОС достаточно давно реализованы на практике. Тем не менее, до настоящего времени на уровне системных библиотек ОС остается большое количество дублирующихся программных блоков, существует большое количество промежуточных согласующих подсистем, большая часть блоков согласования-рассогласования работает в статическом режиме.
В рамках улучшения ОС по данному критерию можно, например, предложить: динамическое изменение цветовой гаммы пользовательского интерфейса, частоты обновления и четкости изображения в зависимости от времени суток и времени года с целью обеспечения максимальных эффективности и удобства работы пользователя; предоставление пользователю специальной возможности установки частоты обновления изображения, устраняющей эффект мерцания экрана в помещениях с лампами дневного света; упрощение внутренней структуры ОС для ускорения доступа программ к аппаратуре; доведение дублирования блоков системного кода до минимально возможного уровня и др.
Переход в надсистему
Как было указано выше, переход в надсистему, как правило, происходит при исчерпании системой возможностей для дальнейшего развития. В настоящий момент такой переход происходит по двум направлениям: а) запись ОС в ПЗУ ЭВМ и б) переход от ОС к операционному окружению. Примером первого направления может служить Caldera DR DOS for Thin Clients и ФизтехСофт DOS. Вторым же направлением активно занимаются корпорация Microsoft (ASP, ActiveX, VBScript, FrontPage Extentions, Internet Explorer, технологии ".NET", C#) и корпорация Sun Microsystems (Java, Java script, Jini, Jxta, технологии ".COM", технологии ".NET"), принимает участие и корпорация IBM (Java, Lotus Domino, Lotus Notes, серверы транзакций и др.).
Также примером, относящимся ко второму направлению, могут служить рабочие станции Sun SPARC (Sun Microsystems) и PowerMac (Apple Computers), которые оборудуются специальными платами совместимости с платформой IBM-Intel, что позволяет на одной ЭВМ одновременно работать в нескольких ОС, используя преимущества каждой из них для оптимизации эффективности работы.
Переход на микроуровень
Переходу на микроуровень для ОС, скорее всего, соответствует аппаратная реализация частей системы или ОС целиком. Частично это пересекается с законом повышения степени идеальности систем, а частично — с переходом ОС в надсистему (запись ОС в ПЗУ). В настоящий момент такой подход реализован лишь частично.
Например, реализация функций оконного интерфейса MS Windows аппаратурой графических карт ЭВМ, объектный подход к аппаратным средствам в технологии Jini, загрузка ОС из постоянной памяти карманных ЭВМ, управление аппаратной конфигурацией при помощи Plug'n'Play BIOS и т.п.
Повышение полноты частей технической системы и вытеснение из нее человека
Современные операционные системы, в своем большинстве, являются функционально полными.
Серверные версии этих ОС уже сейчас способны длительное время автоматически функционировать в автономном режиме (без участия человека) после предварительной настройки. Бесспорными лидерами в данной области являются системы семейства UNIX, высокий уровень автономности и у систем-клонов Linux, серверные версии ОС IBM OS/2 и Windows NT тоже способны функционировать в автоматическом режиме.
Системы MS Windows, MacOS, NeXT и BeOS больше ориентированы на персональное использование, таким образом, человек является для них необходимым условием функционирования.
Все вышеописанное можно представить в виде следующей оценочной таблицы (шкала оценки от 0 до 3).
* Под UNIX здесь понимаются все реализации ОС данного семейства, отвечающие стандарту POSIX
Выводы
Оказывается, наиболее прогрессивными являются операционные системы, объявленные устаревшими, несовершенными и вообще умершими.
В то же время "признанный лидер" среди операционных систем (MS Windows) реально не так уж и прогрессивна. Следовательно, пословица "не все то золото, что блестит" забыта незаслуженно.
Разумеется, разговор не идет о том, чтобы немедленно выбросить всю продукцию фирмы Microsoft и тут же перейти в ряды пользователей других ОС.
Просто при выборе оптимального варианта операционной системы для определенного круга задач необходимо учитывать не рекламные лозунги, а реальные свойства программного продукта. Необходимо также отметить, что подобный анализ применим к любым программным продуктам и информационным технологиям.
Литература:
[1] — Г.С. Альтшуллер, Б.Л. Злотин и другие. "Поиск новых идей: от озарения к технологии", Кишинев, "Картя Молдовеняскэ", 1989.
[2] — Ю.С. Затуливетер "Компьютерные архитектуры: неожиданные повороты", сайт движения "ПОтребитель" (http://consumer.nm.ru; http://cie.ase.md/~sereda), 2000.
[3] — J. Lions "A commentary on the sixth edition UNIX operating system", The University of New South Wales, 1977 (www.softpanorana.org).
[4] — С.А. Середа "Правовая защита авторства на программные продукты", сайт движения "ПОтребитель" (http://consumer. nm.ru; http://cie.ase.md/~sereda), 2001.
[5] — В. Каталов " Microsoft: аспекты политики", сайт движения "ПОтребитель" (http://consumer.nm.ru; http://cie.ase.md/~sereda), 2000.
[6] — В. Комаров "OS/2 и NT глазами пользователя", http:// www.os2.spb.ru.
[7] — "Хроника пикирующего пингвина, или по-пластунски к звездам", http://www.os2.spb.ru.
[8] — "Почему я уже 10 лет люблю OS/2 (и не люблю Windows)", http://www.os2.spb.ru.
Сергей Середа, serge_sereda@hotmail.com
Экономическая Академия Молдовы, кафедра Кибернетики и Экономической Информатики;
Движение "ПОтребитель" http://consumer.nm.ru
— У меня в руке шестнадцать бусин. Если я отдам тебе шесть из них, сколько у меня останется?
— Десять, джетах.
— Протяни руку.
Школяр повиновался. Малтак Ди отсчитал ему шесть бусин и разжал ладонь. Она оказалась пустой.
— Ты солгал, джетах!
— Верно. На мой вопрос ты должен был ответить: "Сперва раскрой ладонь, джетах, и дай мне увидеть твои шестнадцать бусин". Твой же ответ основывался на незнании.
— Это несправедливо, джетах!
— А этот ответ основан на глупости.
Предание о Малтаке Ди, Кода Нушада, Талман.
Барри Лонгиер, "Грядущий завет"
В настоящее время в компьютерной и популярной литературе, да и просто в СМИ, активно используются такие обороты, как бурное развитие информационных технологий, современное програм-мное обеспечение, прогрессивная информационная технология, современная операционная система, современный компьютер и тому подобные. Кроме того, эти фразы носят характер безапелляционных утверждений, являющихся совершенно очевидными для всех и каждого.
Поскольку, во-первых, внедрение в массовое сознание определенных стереотипов свидетельствует о наличии соответствующих коммерческих интересов, а, во-вторых, научный подход к познанию предполагает подвергать все исходные данные разумному сомнению, давайте попробуем разобраться в современном состоянии развития информационных технологий.
Одним из наиболее показательных и интересных с практической точки зрения примеров является развитие операционных систем. Во избежание сложностей, связанных с учетом различий между Большими, Малыми и МикроЭВМ, давайте остановимся на операционных системах для настольных ПК, т.е. МикроЭВМ. Эта тема и будет рассмотрена в настоящей статье.
Определимся в терминах
РАЗВИТИЕ — необратимое, направленное, закономерное изменение материи и сознания, их универсальное свойство; в результате развития возникает новое качественное состояние объекта — его состава или структуры. ("Советский энциклопедический словарь", Москва, "Советская энциклопедия" 1983).
ПРОГРЕСС — направление развития, для которого характерен переход от низшего к высшему, от менее совершенного к более совершенному. О прогрессе можно говорить применительно к системе в целом, отдельным ее элементам, структуре развивающегося объекта. (Там же).
Исходя из приведенных определений, уже можно сделать следующие выводы:
1. Развитие, как таковое, предполагает закономерность изменений, но не обязательно является прогрессом.
2. Прогрессивность развития можно определить, только опираясь на критерии совершенства развивающегося объекта.
Применительно к анализу развития операционных систем необходимо, во-первых, установить сам факт развития, во-вторых, определить его направление и, в-третьих, оценить степень прогрессивного развития объекта.
Так как развитие, в сущности, является качественным изменением объекта во времени, а операционные системы (ОС) претерпевают (порой очень значительные) изменения с самого начала своего существования до сих пор, можно с определенной степенью уверенности утверждать, что они развиваются.
Единственным "но" здесь является относительная редкость именно качественных изменений в ОС, т.е. изменения их структурной или функциональной составляющей. То есть далеко не все изменения в ОС можно считать их развитием.
Для определения вектора развития и оценки прогресса в развитии ОС необходим ряд критериев.
Поскольку информационные системы можно, практически без оговорок, причислить к классу технических систем[4], к ним применимы законы развития технических систем, сформулированные в рамках теории развития технических систем, базирующейся на теории решения изобретательских задач (ТРИЗ)[1].
В рамках ТРИЗ прогрессивным развитием считается качественное изменение технических систем, происходящее в результате разрешения технических противоречий. Под техническим противоречием понимается препятствие на пути развития системы, которое невозможно преодолеть компромиссным путем.
Степень прогрессивности развития систем определяется их соответствием следующим законам развития:
1. Увеличение степени идеальности.
Система идеальна, если ее нет, а функция осуществляется. Таким образом, физическое существование системы не является обязательным условием выполнения ее функций, что используется при ее усовершенствовании.
2. Повышение динамичности и управляемости.
Развитие технических систем происходит:
— от систем с постоянными параметрами к системам с параметрами, изменяющимися при изменении параметров работы системы;
— от узкофункциональных систем, предназначенных для выполнения конкретной цели, к широкофункциональным системам, позволяющим изменять функции перенастройкой системы;
— к системам с дифференцированными внутренними условиями, условия в оперативной зоне стремятся стать оптимальными для проведения технологического процесса (температура, давление, газовый состав или, для вычислительных машин, скорость обработки информации), в то время как условия на входе и выходе системы определяются внешней средой и человеком;
— к системам с увеличенным числом степеней свободы;
— к системам с изменяемыми связями между элементами;
— от неуправляемых систем к управляемым с повышением степени управления системами;
— от систем со статической устойчивостью к системам, устойчивым динамически, то есть только за счет управления;
— к использованию самопрограммирующихся, самообучающихся, самовосстанавливающихся систем.
3. Согласование в технических системах.
Согласование может проходить в три этапа:
— согласование параметров подсистем для повышения полезного эффекта или исключения вредного;
— направленное рассогласование параметров подсистем для дальнейшего повышения или получения нового полезного эффекта;
— переход к динамическому согласованию-рассогласованию при подготовке к работе или в процессе работы подсистемы;
Согласование подсистем сложных систем предполагает:
— исключение промежуточных согласующих подсистем;
— переход к использованию одних и тех же подсистем для выполнения различных функций, обобществление отдельных узлов различных подсистем;
— стремление к укрупнению, усложнению элементарных частей системы;
— стандартизацию элементарных частей систем.
4. Переход в надсистему.
Исчерпав возможности развития, система включается в надсистему в качестве одной из ее частей, при этом дальнейшее развитие идет, преимущественно, на уровне надсистемы.
Переход в надсистему осуществляется тремя основными путями:
— созданием надсистемы из однородных элементов;
— созданием надсистем из конкурирующих (альтернативных) систем;
— созданием надсистемы из антагонистических систем (систем с противоположными функциями).
5. Переход на микроуровень.
6. Повышение полноты частей технической системы и вытеснение из нее человека.
Вытеснение человека происходит последовательно, на следующих уровнях:
— исполнительный уровень;
— уровень управления;
— информационный уровень.
Попробуем теперь, исходя из изложенных критериев оценки, проанализировать развитие ОС.
Увеличение степени идеальности
Исходя из данного критерия, прогрессивное развитие любой операционной системы предполагает увеличение количества выполняемых функций и качества их выполнения с одновременным уменьшением потребностей в ресурсах (аппаратных, денежных, трудовых и т.п.), необходимых для реализации этих функций. К сожалению, в этой части прогресса не наблюдается.
Как правило, внедрение в ОС новых функций или улучшение старых ведет к увеличению объема занимаемого дискового пространства и требований к аппаратным ресурсам.
Наиболее прогрессивными в этом плане можно назвать UNIX-системы (не считая, конечно, DOS), в них реализован и отлажен базовый набор функций, что повлияло на относительную стабильность требований к ресурсам, в то же время, обновления и исправления таких систем чаще всего не приводят к существенным изменениям системных требований.
Примерно на этом же уровне находится IBM OS/2, MacOS и NeXT по тем же соображениям. Системы семейства Linux труднее оценить по этим показателям ввиду некоторой хаотичности их изменения и большому количеству несовпадающих по объему и функциям дистрибутивов, в то же время есть диcтрибутивы Linux, позволяющие загружать работоспособную ОС всего с одного или двух гибких магнитных дисков.
Наконец, поскольку нельзя совсем ничего не сказать об этой ОС, Microsoft Windows по указанному критерию находится на максимально возможном удалении от идеала, поскольку с каждой новой своей версией она "раздувается" как минимум в 2 раза и требует резкого увеличения "мощности" аппаратных ресурсов вкупе с частым снижением качества и надежности выполнения своих функций. Добавление же новых функций происходит ценой совершенно несоразмерного роста системных требований.
Подтверждением таких выводов является выбор ОС для карманных ЭВМ, для которых сейчас характерен максимальный дефицит ресурсов.
Наиболее применяемой системой до недавнего времени была DOS, применяется также Windows CE (предоставляющая очень урезанный набор функций ОС) и, с недавних пор, Linux (здесь, разумеется, не учитываются микро-ОС, разработанные специально для карманных ЭВМ). Показателен также и выбор ОС для систем реального режима времени.
В качестве одного из идеальных решений можно, например, предложить применение объектно-ориентированного проектирования к аппаратным средствам ЭВМ. Тогда работа ЭВМ будет обеспечиваться взаимодействием следующих объектов: объект "процессор" будет отвечать за загрузку программ и планирование задач, объект "монитор" будет отвечать за вывод элементов изображения на экран, объект "накопитель" будет отвечать за файловую систему и хранение файлов, объект "консоль" будет отвечать за интерфейс и ввод данных пользователем и т.п. При этом, соответствующие методы объекта будут реализованы аппаратно. Таким образом, программа будет работать напрямую с "железом", как таковой операционной системы на ЭВМ не будет, а ее функции будут выполняться. Зачатки этого подхода реализованы в архитектуре Jini корпорации Sun Microsystems.
Повышение динамичности и управляемости
К прогрессивным изменениям по указанному критерию можно отнести: возможность оперативного изменения настроек ОС, различные системы расширения возможностей ОС (драйверы, сервисы, подключаемые модули), технологию автонастройки ОС под аппаратную конфигурацию (plug'n'play), технологию динамической загрузки библиотек подпрограмм, динамическую подстройку ОС под загруженность аппаратуры, разработки в области пользовательского интерфейса. Отрицательным фактом является то, что большая часть перечисленных функций ОС реализована уже достаточно давно, а последние реализации оконного интерфейса ориентированы на диалоговый режим работы в ущерб пакетному, что ведет к снижению управляемости ОС.
По качеству реализации большинства перечисленных функций лидируют системы UNIX, IBM OS/2, MacOS и NeXT. Система MS Windows обеспечивает высокую эстетичность пользовательского интерфейса и лидирует по заявленным функциям самонастройки и самоконфигурации, что же касается конкретной их реализации, ее уровень аналогичен таковому в Linux, хотя причины невысокого качества ряда функций этих двух ОС совершено различны.
Оптимальным вариантом ОС по данному критерию можно назвать систему, полностью состоящую из динамических модулей (включая ядро ОС), производящую автоматическую динамическую настройку на конфигурацию аппаратуры и манеру работы пользователя и оптимизирующую свое быстродействие для конкретной конфигурации. Интерфейс такой ОС должен быть максимально близок к пользователю (с учетом соответствующих стандартов), в то время как функциональная ее часть должна быть оптимизирована под максимальную скорость и стабильность обработки данных.
Согласование в технических системах
Применением закона согласования подсистем являются многозадачность и планирование задач, системы буферизации памяти, ручное управление цветовой гаммой пользовательского интерфейса и частотой обновления изображения, использование системных библиотек функций, технология "микроядра" ОС, стандартизация блоков ОС и программных интерфейсов. Как и в рамках предыдущего критерия, большинство перечисленных функций ОС достаточно давно реализованы на практике. Тем не менее, до настоящего времени на уровне системных библиотек ОС остается большое количество дублирующихся программных блоков, существует большое количество промежуточных согласующих подсистем, большая часть блоков согласования-рассогласования работает в статическом режиме.
В рамках улучшения ОС по данному критерию можно, например, предложить: динамическое изменение цветовой гаммы пользовательского интерфейса, частоты обновления и четкости изображения в зависимости от времени суток и времени года с целью обеспечения максимальных эффективности и удобства работы пользователя; предоставление пользователю специальной возможности установки частоты обновления изображения, устраняющей эффект мерцания экрана в помещениях с лампами дневного света; упрощение внутренней структуры ОС для ускорения доступа программ к аппаратуре; доведение дублирования блоков системного кода до минимально возможного уровня и др.
Переход в надсистему
Как было указано выше, переход в надсистему, как правило, происходит при исчерпании системой возможностей для дальнейшего развития. В настоящий момент такой переход происходит по двум направлениям: а) запись ОС в ПЗУ ЭВМ и б) переход от ОС к операционному окружению. Примером первого направления может служить Caldera DR DOS for Thin Clients и ФизтехСофт DOS. Вторым же направлением активно занимаются корпорация Microsoft (ASP, ActiveX, VBScript, FrontPage Extentions, Internet Explorer, технологии ".NET", C#) и корпорация Sun Microsystems (Java, Java script, Jini, Jxta, технологии ".COM", технологии ".NET"), принимает участие и корпорация IBM (Java, Lotus Domino, Lotus Notes, серверы транзакций и др.).
Также примером, относящимся ко второму направлению, могут служить рабочие станции Sun SPARC (Sun Microsystems) и PowerMac (Apple Computers), которые оборудуются специальными платами совместимости с платформой IBM-Intel, что позволяет на одной ЭВМ одновременно работать в нескольких ОС, используя преимущества каждой из них для оптимизации эффективности работы.
Переход на микроуровень
Переходу на микроуровень для ОС, скорее всего, соответствует аппаратная реализация частей системы или ОС целиком. Частично это пересекается с законом повышения степени идеальности систем, а частично — с переходом ОС в надсистему (запись ОС в ПЗУ). В настоящий момент такой подход реализован лишь частично.
Например, реализация функций оконного интерфейса MS Windows аппаратурой графических карт ЭВМ, объектный подход к аппаратным средствам в технологии Jini, загрузка ОС из постоянной памяти карманных ЭВМ, управление аппаратной конфигурацией при помощи Plug'n'Play BIOS и т.п.
Повышение полноты частей технической системы и вытеснение из нее человека
Современные операционные системы, в своем большинстве, являются функционально полными.
Серверные версии этих ОС уже сейчас способны длительное время автоматически функционировать в автономном режиме (без участия человека) после предварительной настройки. Бесспорными лидерами в данной области являются системы семейства UNIX, высокий уровень автономности и у систем-клонов Linux, серверные версии ОС IBM OS/2 и Windows NT тоже способны функционировать в автоматическом режиме.
Системы MS Windows, MacOS, NeXT и BeOS больше ориентированы на персональное использование, таким образом, человек является для них необходимым условием функционирования.
Все вышеописанное можно представить в виде следующей оценочной таблицы (шкала оценки от 0 до 3).
Критерий / ОС | UNIX* | DOS | Linux | Windows | OS/2 | MacOS | BeOS | NeXT |
Увеличение степени идеальности | 2 | 3 | 1 | 0 | 2 | 2 | 2 | 2 |
Повышение динамичности и управляемости | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 |
Согласование подсистем | 3 | 1 | 2 | 2 | 3 | 3 | 3 | 3 |
Переход в надсистему | 2 | 3 | 2 | 1 | 1 | 1 | 1 | 1 |
Переход на микроуровень | 1 | 2 | 1 | 2 | 1 | 1 | 1 | 1 |
Повышение полноты частей технической системы и вытеснение из нее человека | 3 | 2 | 3 | 2 | 3 | 2 | 2 | 2 |
13 | 12 | 11 | 9 | 12 | 11 | 11 | 11 |
Выводы
Оказывается, наиболее прогрессивными являются операционные системы, объявленные устаревшими, несовершенными и вообще умершими.
В то же время "признанный лидер" среди операционных систем (MS Windows) реально не так уж и прогрессивна. Следовательно, пословица "не все то золото, что блестит" забыта незаслуженно.
Разумеется, разговор не идет о том, чтобы немедленно выбросить всю продукцию фирмы Microsoft и тут же перейти в ряды пользователей других ОС.
Просто при выборе оптимального варианта операционной системы для определенного круга задач необходимо учитывать не рекламные лозунги, а реальные свойства программного продукта. Необходимо также отметить, что подобный анализ применим к любым программным продуктам и информационным технологиям.
Литература:
[1] — Г.С. Альтшуллер, Б.Л. Злотин и другие. "Поиск новых идей: от озарения к технологии", Кишинев, "Картя Молдовеняскэ", 1989.
[2] — Ю.С. Затуливетер "Компьютерные архитектуры: неожиданные повороты", сайт движения "ПОтребитель" (http://consumer.nm.ru; http://cie.ase.md/~sereda), 2000.
[3] — J. Lions "A commentary on the sixth edition UNIX operating system", The University of New South Wales, 1977 (www.softpanorana.org).
[4] — С.А. Середа "Правовая защита авторства на программные продукты", сайт движения "ПОтребитель" (http://consumer. nm.ru; http://cie.ase.md/~sereda), 2001.
[5] — В. Каталов " Microsoft: аспекты политики", сайт движения "ПОтребитель" (http://consumer.nm.ru; http://cie.ase.md/~sereda), 2000.
[6] — В. Комаров "OS/2 и NT глазами пользователя", http:// www.os2.spb.ru.
[7] — "Хроника пикирующего пингвина, или по-пластунски к звездам", http://www.os2.spb.ru.
[8] — "Почему я уже 10 лет люблю OS/2 (и не люблю Windows)", http://www.os2.spb.ru.
Сергей Середа, serge_sereda@hotmail.com
Экономическая Академия Молдовы, кафедра Кибернетики и Экономической Информатики;
Движение "ПОтребитель" http://consumer.nm.ru
Компьютерная газета. Статья была опубликована в номере 30 за 2002 год в рубрике hard :: технологии