АРХИТЕКТУРА КОМПЬЮТЕРА С АВТОНОМНЫМИ МОДУЛЯМИ
COMPUTER ARCHITECTURE WITH SELF-CONTAINED MODULES

Изобретение относится к структуре, информационным связям и взаимному соединению основных логических узлов компьютера и предназначено для защиты компьютера от действия вредоносных программ (вирусов), для защиты программного обеспечения от несанкционированного копирования, а также для более оптимального использования мощностей процессора, памяти и иного оборудования компьютера для решения конкретных задач.
Заявляемая архитектура может применяться не только для персональных компьютеров, но и для файл-серверов, интернет-серверов, и для построения любого класса компьютеров, вплоть до больших ЭВМ.
Известны и широко используются классические архитектуры компьютеров (архитектуры фон Неймана).
К этому типу архитектуры относится и архитектура современного персонального компьютера (ПК) (см. фиг.1), включающая процессор (центральный микропроцессор с арифметико-логическим устройством (АЛУ) и устройством управления), основную память, состоящую из оперативной памяти (ОЗУ) и постоянного запоминающего устройства (ПЗУ) или перепрограммируемого постоянного запоминающего устройства (ППЗУ), внешнюю память или устройства хранения данных (накопители) и внешние или периферийные устройства (устройства ввода-вывода и коммуникаций).
Основным устройством ПК является материнская плата, которая определяет его конфигурацию. Все подключаемые устройства ПК подключаются к этой плате с помощью разъемов, расположенных на этой плате. Соединение всех устройств в единую систему обеспечивается с помощью системной магистрали (шины), представляющей собой линии передачи данных, адресов и управления. Подключение всех внешних устройств: клавиатуры, монитора, внешних ЗУ, мыши, принтера и т.д. обеспечивается через контроллеры, адаптеры, карты.
Известны многопроцессорная архитектура компьютеров с несколькими процессорами и архитектура с параллельными процессорами, при которых параллельно может быть организовано много потоков данных и много потоков команд, параллельно могут выполняться несколько фрагментов одной задачи. Структура таких машин имеет общую оперативную память и несколько процессоров. Данные типы компьютеров предназначены для увеличения быстродействия, мощности и решения различных специализированных задач.
Недостатком всех современных компьютеров является принципиальная возможность несанкционированного пользователем запуска вредоносных программ (вирусов), которые могут совершать различные вредные действия - уничтожать полезную информацию, похищать важные данные и т.д.
Основными средствами борьбы с вирусами на уровне ПК остаются антивирусные программы, которые обеспечивают обнаружение вирусов и восстановление поврежденных программ и файлов.
Однако, как свидетельствует практика, существующие аппаратные и программные средства не обеспечивают надежной защиты от новых поколений вирусов, так как по сути вирус - это всего лишь обычная программа, хранимая, как правило, на накопителях ПК, загружаемая для исполнения в ОЗУ и имеющая доступ практически ко всем ресурсам ПК, включая накопители, ОЗУ, ресурсы сети и т.д. Поэтому у ПК нет 100% возможности отличить вирус от остального программного обеспечения ПК. Эту работу делает антивирусная программа, которая сначала распознает программу как вирус, а потом начинает с ней бороться. Универсальных антивирусных программ сегодня нет. Как правило, сначала появляется новый вирус, который попадает в поле зрения разработчика антивирусных программ, разработчик изучает вирус, определяет методы борьбы с ним и реализует их в очередной версии антивирусной программы.
Поэтому для более эффективной борьбы с вирусами для возможности превентивной защиты ПК от вирусов необходимо изменить существующую архитектуру ПК.
Задачей данного изобретения является разработка надежной системы защиты персонального компьютера от проникновения и вредоносного действия вирусов, разработка системы, значительно затрудняющей злоумышленнику несанкционированное копирование данного программного обеспечения (ПО), а также разработка системы, более оптимально использующей мощности процессора, память и другое оборудование компьютера для решения конкретных задач.
Техническим результатом изобретения является создание новой архитектуры компьютера, обеспечивающей его надежную превентивную защиту от внедрения вирусов, защиту от повреждения программ и файлов, предотвращение утечки конфиденциальной информации и прочих вредоносных действий вирусов, вплоть до полного исключения вредоносного воздействия вирусов на компьютер.
Техническим результатом данного изобретения также является система, обеспечивающая возможность установки и функционирования программного обеспечения для ПК, значительно затрудняющая несанкционированное копирование программного обеспечения данного ПК.
Техническим результатом данного изобретения также является система, обеспечивающая возможность более оптимально выбирать и использовать центральный процессор, память и прочее оборудование компьютера для решения конкретных задач.
Технический результат достигается тем, что архитектура представляет собой N автономных модулей, подключающихся с помощью одного или N переключателей через соответствующую каждому модулю шину к шине одного или N терминалов, каждый модуль включает в себя центральный процессор, основную память, накопители, устройства ввода-вывода (УВВ), периферийные устройства, шину и программное обеспечение, каждый терминал включает УВВ и периферийные устройства, подключенные к шине терминала, причем каждый модуль осуществляет обмен данными только с терминалом или N терминалами, взаимодействие с которыми обеспечено переключателем или N переключателями, при этом N=2, 3, 4…
Технический результат достигается также тем, что архитектура представляет собой N автономных модулей, подключающихся с помощью одного или N переключателей через соответствующую каждому модулю шину к шине одного или N терминалов, каждый модуль включает в себя центральный процессор, основную память, накопители, УВВ, периферийные устройства, шину и программное обеспечение, каждый терминал включает УВВ и периферийные устройства, подключенные к шине терминала, причем каждый модуль осуществляет обмен данными только с терминалом или N терминалами, взаимодействие с которыми обеспечено переключателем или N переключателями, причем программное обеспечение, предназначенное для загрузки в основную память модуля для исполнения, полностью или частично хранится на накопителях, находящихся во время работы модуля в аппаратном режиме «только для чтения», при этом N=2, 3, 4…
Технический результат достигается также тем, что архитектура представляет собой N автономных модулей, подключающихся с помощью одного или N переключателей через соответствующую каждому модулю шину к шине одного или N терминалов, каждый модуль включает в себя центральный процессор, основную память, накопители, УВВ, периферийные устройства, шину и программное обеспечение, каждый терминал включает УВВ и периферийные устройства, подключенные к шине терминала, причем каждый модуль может осуществлять обмен данными только с терминалом или N терминалами, взаимодействие с которыми обеспечено переключателем или N переключателями, причем программное обеспечение модуля полностью или частично до начала работы модуля загружено в часть основной памяти модуля, используемой во время работы модуля в режиме «только для чтения», при этом часть программного обеспечения, которая не была загружена заранее в основную память модуля, используемую во время работы модуля в режиме «только для чтения», загружается заранее до начала работы модуля в оперативную память модуля, или загружается в оперативную память модуля во время работы модуля, или частично загружается до начала работы модуля в оперативную память модуля и частично загружается в оперативную память модуля во время работы модуля, при этом N=2, 3, 4…, при этом программное обеспечение модуля, предназначенное для загрузки в память модуля до начала работы модуля, может храниться на накопителях, находящихся во время работы модуля в аппаратном режиме «только для чтения». При этом программное обеспечение модуля, предназначенное для загрузки в память модуля заранее до начала работы модуля, может храниться на накопителях, которые используются только до начала работы модуля для предварительной загрузки программного обеспечения модуля в память модуля.
Существует возможность того, что в основную память модуля могут загружаться только программы, изначально перед началом работы модуля входящие в состав программного обеспечения данного модуля.
Управление переключателем или N переключателями может осуществляться модулем переключателя или N модулями переключателей.
Управление терминалом или N терминалами может осуществляться модулем переключателя или N модулями переключателей, или модулем терминала, или N модулями терминалов.
Подключение модуля к терминалу с помощью переключателя и обмен данными между модулем и терминалом может осуществляться путем прямого подключения шины модуля к шине терминала и/или через шлюз, размещенный в переключателе, который обрабатывает данные, полученные с модуля, и отправляет их в терминал, а также обрабатывает данные, полученные с терминала, и отправляет их в модуль.
Существует вариант, при котором УВВ модуля включают в себя УВВ, доступ к которым имеют УВВ терминала, и УВВ, доступ к которым не имеют УВВ терминала, при этом доступ к УВВ модуля, к которым не имеют доступ УВВ терминала, могут иметь доступ только УВВ данного модуля.
УВВ терминала могут содержать накопители, доступ к данным которых имеет программное обеспечение тех или иных модулей, имеющих доступ к данному терминалу.
Функции терминала могут быть делегированы определенному модулю или его УВВ.
Шина модуля и шина терминала могут состоять из нескольких параллельных каналов, по которым параллельно передаются данные для разных типов УВВ.
Модуль может быть оснащен промежуточным видеоконтроллером, осуществляющим подготовку и отправку данных из модуля в терминал на стандартный или входящий видеоконтроллер отображающего устройства.
Терминал может быть оснащен входящим видеоконтроллером отображающего устройства, осуществляющим прием информации с промежуточного видеоконтроллера модуля.
Существует вариант, при котором модули могут подключаться к системе проводным и/или беспроводным способом.
Анализ выявленных при поиске источников информации показал, что заявляемая совокупность существенных признаков неизвестна из уровня техники, что подтверждает соответствие заявленного решения критерию «новизна».
Поскольку заявляемая совокупность существенных признаков позволяет получить новый технический результат, отличный от результата, который обеспечивают известные архитектуры компьютеров, можно утверждать, что заявляемое техническое решение соответствует критерию «изобретательский уровень».
Сущность изобретения поясняется с помощью схем, на которых представлены: фиг.1 - архитектура современного ПК, фиг.2 - общая схема заявляемой архитектуры компьютера, фиг.3 - схема модуля и терминала, фиг.4 - схема управления переключателем и терминалом, фиг.5 - схема ПК с N переключателями и N терминалами, фиг.6 - схема ПК с одновременным модульным управлением переключателем и терминалом, фиг.7 - прямое подключение шин модуля к шине терминала, фиг.8 - шлюзовое подключение шин модуля к шине терминала, фиг.9 - схема комбинированного режима подключения, фиг.10 - схема вывода информации на отображающие устройства в режиме «модуль-терминал», фиг.11 - схема вывода информации на отображающие устройства в режиме «модуль - дисплей», фиг.12 - схема вывода информации на отображающие устройства в режиме «модуль-переключатель», фиг.13 - схема вывода информации на отображающие устройства в режиме «контроллер-контроллер», фиг.14 - схема одного из вариантов внутреннего устройства компьютера по заявляемой архитектуре.
Архитектура заявляемого компьютера (см. фиг.2) представляет собой систему из N параллельных автономных, не обменивающихся между собой напрямую данными модулей, например модуля 1, модуля 2, модуля 3 и модуля N, подключающихся с помощью специального устройства - переключателя 4 через соответствующие каждому модулю шины (или системные магистрали) 5, 6, 7… N и шины 8 одного или N терминалов 9. То есть компьютер, сконструированный согласно заявляемой архитектуре, представляет собой систему из N-го количества вычислительных устройств, ничего не знающих о существовании друг друга и имеющих общие устройства ввода вывода - терминалы.
Принцип устройства модулей и терминалов объяснен ниже на примере серийно выпускаемых в настоящее время компьютеров.
Обычный ПК по архитектуре фон Неймана разделен на две части: модуль 1, например, и терминал 9. Модуль 1 представляет собой объединенные в систему центральный процессор 10, память 11, контроллеры ввода-вывода накопителей 12 (см. фиг.3).
Остальные элементы ПК - контроллеры устройств ввода-вывода, управляющие клавиатурой 13, мышью 14, видеомонитором или дисплеем 15, сетью и прочими внешними устройствами, объединены в систему, называемую в дальнейшем терминал-терминал 9.
Одним из отличий заявляемого изобретения является наличие у каждого модуля и терминала собственной шины: шины модуля 7, например, и шины терминала 8.
Главное отличие архитектуры фон Неймана от заявляемой архитектуры - разделение информационных потоков между определенными программами и устройствами ПК.
Достигается это тем, что заявляемая архитектура основана на следующих основных особенностях или принципах.
Модульный принцип: архитектура содержит потенциально неограниченное количество (N, где N=1, 2, 3, 4…) параллельных модулей, работающих автономно, а также N-е количество терминалов (фиг.2). Параллельность модулей означает, что они не обмениваются данными друг с другом. Автономность означает, что каждый модуль работает самостоятельно, как отдельный персональный компьютер, то есть имеет свой собственный процессор, память и т.д.
Модули 1, 2, N обмениваются данными с терминалом 9 через специальное устройство - переключатель 4, которое принимает и обрабатывает получаемый поток данных от модуля N и отправляет его в терминал 9.
Принцип модульного управления переключателем: управление П 4 осуществляется специальным модулем 17 (МП), который представляет собой отдельный модуль и может осуществлять управление не только переключателем (П) 4, но и терминалом 9 (фиг.4).
Принцип модульного управления терминалом: управление терминалом может осуществляться также отдельным модулем 18 (модуль терминала, МТ) который управляет непосредственно терминалом 9 (фиг.4).
Принцип множества терминалов: заявляемая архитектура может содержать потенциально неограниченное количество терминалов - 9, 19, N (фиг.5).
Принцип множества переключателей: заявляемая архитектура может содержать потенциально неограниченное количество переключателей - 4, N (фиг.5).
Принцип локальных терминалов: каждый модуль 2 или группа модулей 1,2 может иметь свой собственный терминал 19 (или терминалы 9, 19, 20) и соответственно свои собственные переключатели 4, 21 (фиг.5).
Принцип множественного управления переключателями и терминалами: МП и МТ могут управлять не только одним переключателем и терминалом, но и их множеством.
Принцип одновременного модульного управления переключателями и терминалами: заявляемая архитектура предполагает, что управление переключателями 4 и терминалами 9 может одновременно осуществляться разными МП-17, 22 и МТ- 18, 23 (фиг.6).
Принцип составных параллельных шин: шина модуля и шина терминала может состоять из нескольких параллельных каналов. Например, может быть отдельно выделен канал для передачи информации, предназначенный для отображения видеоинформации.
Принцип беспроводного подключения модуля к системе: тот или иной модуль может подключаться к системе беспроводным способом.
Для обеспечения безопасности ПК от вредного воздействия вирусов устанавливаются следующие основные принципы информационных связей внутри заявляемой архитектуры компьютера:
Принцип автономности модулей: не существует какой-либо возможности обмена данными программным методом между модулями в рамках данного ПК, то есть программа, запущенная на одном модуле данного ПК, не имеет доступа к памяти и накопителям другого модуля данного ПК.
Принцип автономности модулей достигается, в том числе, соблюдением следующих принципов:
Принцип автономности памяти: доступ к памяти каждого модуля (ОЗУ и ПЗУ) имеет центральный процессор и УВВ, в том числе обладающие возможностью прямого доступа к памяти, например контроллер НЖМД, только этого модуля.
Принцип автономности УВВ: доступ к устройствам ввода-вывода каждого модуля имеет центральный процессор только этого модуля.
Принцип автономности процессора: центральный процессор модуля может работать с памятью и УВВ только данного модуля. Данный принцип зеркально отображает и усиливает два предыдущих принципа. Возможен обмен файлами между модулями через терминал.
Принцип автономности ПО: программы, которые работают с одними с теми же данными, хранимыми на одних и тех же накопителях модуля, должны находиться в пределах этого модуля.
Кроме того, устанавливаются следующие принципы.
Принцип хранения программного обеспечения модуля на накопителях. работающих в режиме «только для чтения»: программное обеспечение модуля хранится на накопителях, работающих в режиме «только для чтения» - информацию на которых невозможно модифицировать программным методом.
Принцип предварительной загрузки: любая программа до начала работы модуля заранее загружена в память модуля (в ОЗУ или ПЗУ), центральный процессор модуля может работать только с программой, которая была заранее загружена в память модуля, а операционная система модуля не может загружать для исполнения иные другие программы (например, скачанные из сети Интернет), кроме тех, что уже были заранее загружены в память модуля.
Принцип файлового обмена через терминал: терминал может содержать в себе накопители, доступ к которым может иметь тот или иной модуль в момент подключения.
Принцип ограничения работы командных интерпретаторов: завод-изготовитель и поставщик программного обеспечения модуля должен предупреждать пользователя при поставке вместе с модулем программного обеспечения, содержащего так называемые скриптовые программы (имеются в виду программы, хранимые на накопителях не в виде загружаемого в память двоичного кода, а в виде текстовых (как правило) команд, которые затем специальной программой-интерпретатором обрабатываются и исполняются с помощью программного кода, уже загруженного в память модуля. Это предусматривается из-за того, что некоторые программы-интерпретаторы переводят конкретную команду скриптовой программы в двоичный код, загружают его в память компьютера и исполняют его, однако в заявляемой архитектуре такой принцип работы интерпретатора вступает в противоречие с принципом предварительной загрузки, согласно которому двоичный программный код заранее загружается в память модуля и дозагрузка какого-либо еще программного кода недопустима.
Устройства ввода-вывода компьютера (УВВ).
Как и в обычном ПК, все УВВ, как правило, имеют свой контроллер, управляющий этим устройством. В зависимости от исполнения УВВ делятся на цельные и распределенные. Цельное УВВ - это УВВ, контроллер которого и само УВВ целиком находится либо в модуле, либо в терминале. Распределенное УВВ - это УВВ, контроллер которого (или его часть) находится в том или ином модуле, а само УВВ (и, возможно, плюс «недостающая» часть контроллера) находятся в терминале. В заявляемой архитектуре ПК, как и в обычном ПК, все УВВ, имеющие возможность смены какой-то своей части (например, диски), также сохраняют эту возможность.
УВВ подразделяются на УВВ модуля (УВВМ) и УВВ терминала (УВВТ).
УВВМ подразделяются на внутренние УВВМ и внешние УВВМ. Внутренние УВВМ - это УВВ, размещенные внутри модуля, для терминала эти устройства будут внешними. Внешние УВВМ - это УВВ, размещенные внутри терминала. УВВМ можно также разделить условно на невидимые УВВМ и видимые УВВТ. Невидимые УВВМ - это УВВМ, которые не видны УВВТ, например специальные резервные хранилища данных, накопители, с которых загружается ОС и т.д., при этом пользователь не имеет доступа к этим УВВ, используя УВВ терминала.
Доступ к невидимым УВВМ осуществляется специальным образом, имеющим аппаратную составляющую, например, через подключение клавиатуры, мыши и дисплея непосредственно к модулю или иным способом.
Все остальные УВВМ - видимые. В дальнейшем под УВВМ подразумеваются видимые УВВМ.
УВВМ делятся также на непрерывные и переподключаемые. Непрерывные УВВМ - это видимые УВВМ, которые могут находиться в режиме непрерывного обмена данных с терминалом. Этот режим называется непрерывным. Примером такого УВВ может служить видеоконтроллер, управляющий работой дисплея. Переподключаемые УВВМ - это УВВМ, работающие только в прерывистом режиме работы, при котором УВВМ не непрерывно подключено к терминалу, а периодически.
Устройства ввода-вывода терминала (УВВТ).
УВВТ аналогично УВВМ делятся на внешние и внутренние. Внутренние УВВТ - это УВВТ, находящиеся внутри терминала (к примеру, клавиатура или мышь). Внешние УВВТ - это УВВ, находящиеся внутри того или иного модуля.
УВВТ могут быть управляющими - это УВВТ, с помощью которых обеспечивается непосредственный ввод команд от пользователя к компьютеру (диалоговый режим). Это клавиатура, мышь, манипуляторы и т.д.
Если вышеуказанные управляющие УВВ подключены непосредственно к модулю, то такие УВВ называются управляющими УВВМ.
Переключатель (П) 4.
Переключатель 4 (см. фиг.2) - это аппаратное или аппаратно-программное устройство, которое управляет подключениями модулей 1, 2, 3 N к терминалу 9. Подключением называется процесс, при котором тот или иной модуль получает возможность обмениваться данными с терминалом 9. На фиг.1, например, показано, что в данный момент переключателем 4 к терминалу 9 подключен модуль 3. В зависимости от устройства конкретного переключателя 4 и настроек ПК подключения могут быть следующих видов: прямое, шлюзовое и комбинированное. При прямом подключении (фиг.7) шина 5 модуля напрямую соединяется с шиной 8 терминала. При шлюзовом подключении (фиг.8) в составе переключателя 4 имеется специальный шлюз 24, который принимает поток данных с модуля, особым образом обрабатывает его и отправляет его в терминал. Комбинированное подключение (фиг.9) совмещает в себе оба вышеуказанных вида. Тот или иной модуль в зависимости от настроек может подключаться к терминалу то прямым способом, то шлюзовым.
Существуют параллельный, последовательный и комбинированный режим подключений модулей 1, 2, 3…N к терминалу 9. В параллельном режиме допускается одновременное подключение нескольких модулей 1, 2, 3…N к терминалу 9. При последовательном режиме модули 1, 2, 3…N подключаются к терминалу 9 поочередно. Комбинированный режим допускает, что одни модули подключаются к терминалу последовательно, а другие - параллельно. На фиг.9 показано, что модули 1 и 2 подключены в параллельном режиме, а модуль 3 - в последовательном.
Управление работой П осуществляется отдельным модулем (МП), представляющим собой обычный модуль, содержащий программное обеспечение, управляющее работой переключателя.
Описание модуля и его отдельных элементов (см. фиг.3).
Модуль 1 состоит из следующих основных элементов:
- центральный процессор модуля (ЦПМ) 10,
- память модуля (ПМ) 11, аналог памяти обычного ПК,
- внутренние устройства ввода-вывода (УВВМ), в частности накопителей модуля (НМ) 12,
- внешние УВВМ - УВВ, полностью или частично находящиеся в терминале и подключенные в настоящий момент к данному модулю (например, 13, 14 и 15),
- программное обеспечение модуля (ПОМ),
- шина модуля (ШМ) 5.
Обмен данных внутри модуля.
Модуль 1 представляет собой устройство, аналогичное компьютеру (без клавиатуры, мыши, видео и других устройств ввода-вывода), в память 11 которого (ПМ) загружена программа (или несколько программ), которая исполняется центральным процессором 10 (ЦПМ), при этом идет непрерывный обмен данными (односторонний и двухсторонний) между ПМ 11 и УВВМ 12 (в частности, накопителями модуля (НМ).
С помощью переключателя (на схеме не показан) модуль 1 подключается к шине 8, а через нее к модулю 1 получают доступ клавиатура 13, мышь 14 и УВВ терминала 9.
Подключение того или иного модуля к системе может быть через разъемы (слоты), а также беспроводным способом.
В момент подключения модуля 1 к терминалу 9 не все УВВМ обмениваются данными с УВВТ. В одном из вариантов исполнения компьютера те или иные УВВМ могут иметь возможность самостоятельно решать, когда им подключаться или не подключаться к терминалу. Также предполагается принцип действия компьютера, согласно которому те или иные УВВМ могут иметь возможность обмениваться информационными потоками с конкретными УВВТ параллельно друг от друга. Таким образом может быть реализован, например, поток видеоинформации.
Обмен данными между модулем 1 и терминалом 9 происходит в замкнутом и/или активном режимах работы УВВ модуля 1. Активный режим работы УВВМ - это когда УВВ в настоящий момент обменивается данными с терминалом 9. Замкнутый режим работы УВВМ - это когда УВВ в настоящий момент не подключено к терминалу 9 и обменивается данными только с устройствами данного модуля 1.
Возможен принцип действия компьютера, согласно которому в настоящий момент времени одни УВВМ работают в активном режиме, а другие в этот же момент - в замкнутом. Например, в данный момент времени память модуля 11 (ПМ) интенсивно обменивается данными с накопителями модуля 12 (НМ), при этом результаты выполнения текущей программы модуля 1 выводятся на дисплей 15, подключенный к терминалу 9, а клавиатура 13, подключенная к терминалу 9, работает в данный момент (обменивается данными) совсем с другим модулем. В этом случае УВВМ, отвечающее за вывод информации на дисплей, работает в активном режиме, и одновременно с ним НМ работают в замкнутом режиме.
Модули могут работать в активном и замкнутом режимах. Режим, при котором с какого-либо управляющего УВВТ идут данные к данному модулю, называется активным режимом работы модуля. Режим, при котором ни с одного управляющего УВВТ не идут данные к данному модулю, называется замкнутым режимом работы модуля.
Накопители модуля 12 (НМ) представляют собой обычные для ПК запоминающие устройства (жесткие диски, флэш-диски, SD, Мемори Стик и т.д.). НМ заявляемой архитектуры могут быть следующих видов (на схемах не показано): системный накопитель модуля (СМН), накопитель программ модуля (НПМ) и накопитель данных модуля (НДМ). Логически СНМ и НПМ объединяются под названием накопитель программного обеспечения модуля (НПОМ). Работа НПОМ может быть предусмотрена производителем модуля как в режиме «только для чтения», что означает отсутствие программной возможности модифицировать данные на НПОМ), так и в обычном режиме чтения/записи с определенными ограничениями. При работе НДМ в обычном режиме чтения/записи предусмотрена возможность менять накопители модуля для каждого модуля, не меняя сам модуль.
Память модуля 11 (ПМ) делится на ОЗУ и ПЗУ (ОЗУМ и ПЗУМ). В память модуля загружается программа (программы) и данные для исполнения. ПЗУМ может быть постоянной, но с возможностью перезаписи особым образом с использованием подходящих существующих технологий. ОЗУМ - это обычная оперативная память компьютера. В отличие от архитектуры обычного ПК производителем модуля может быть реализована предварительная (до начала работы с модулем) загрузка в ПЗУМ программного обеспечения (всего или части) модуля с возможностью перезаписи особым образом.
Центральный процессор модуля 10 (ЦПМ) - это процессор, аналогичный процессору обычного ПК, смартфона, карманного или планшетного компьютера и т.п.
Каждый модуль содержит в себе предустановленное программное обеспечение или пакет программного обеспечения (ПОМ). ПОМ может быть уже предварительно загружено в память ПЗУ данного модуля, либо храниться на накопителях, а затем подгружаться в ОЗУ или ПЗУ модуля.
Программное обеспечение модуля состоит из операционной системы модуля (ОСМ) и пользовательских программ. ОСМ исполняет характерные для ОС персонального компьютера действия, а именно организовывает файловую систему накопителей, взаимодействие с периферийными устройствами и т.д. Разные модули могут иметь разные ОС, при этом обмен данными с терминалом должен быть согласно единой спецификации. ОСМ может содержать иное ПО, например сервисное обслуживание накопителей и т.д. Пользовательскими программами модуля (ППМ) могут быть любые программы или пакет программного обеспечения (текстовые редакторы, работа с БД и т.д.).
По шине 5 модуля 1 происходит обмен данными между ЦПМ 10, ПМ 11 и НМ 12.
Модуль может быть выполнен с непосредственным подключением периферийных устройств, например собственной клавиатуры или собственным подключением к сети.
Варианты хранения ПОМ на накопителях могут быть следующими:
- все ПОМ хранится на одном физическом НПОМ, то есть система имеет не только логический, но и физический НПОМ. Этот вариант предполагает, что, меняя накопитель НПОМ, меняется все ПОМ.
- ОСМ и ППМ хранятся на разных накопителях - ОСМ хранится на СНМ, а ППМ на НПМ. Этот вариант может быть использован, например, для того, чтобы менять одну лишь ОСМ без замены ППМ.
ОСМ и ППМ, также как и НДМ, могут храниться каждый на нескольких физических накопителях. Заявляемая архитектура ПК не предполагает ограничения хранения каждого ОМС, или всех ППМ, или всех НДМ на одном соответствующем им физическом накопителе.
Рабочие файлы пользователя (тексты, фотографии, файлы настроек и прочие) хранятся на накопителе данных модуля.
Возможен вариант исполнения ПК со скрытыми и не доступными пользователю ПК СНМ и/или ППМ, когда по различным причинам необходимо скрыть от пользователя то или иное программное обеспечение. Допускается совместное хранение ПОМ и рабочих файлов модуля на одном физическом накопителе, но при условии предупреждения пользователя о возможном нанесении ущерба безопасности компьютера.
Перед тем как ЦПМ начинает исполнение ПОМ, данное ПОМ должно быть загружено в ПМ. Предлагаемая архитектура ПК предусматривает вариант, согласно которому в память модуля (как в ОЗУМ, так и в ПЗУМ) могут загружаться данные только с накопителя программного обеспечения модуля и только при работе накопителя в режиме «только для чтения».
Существуют следующие варианты загрузки ПОМ в ПМ:
- ПОМ заранее загружено в ПМ заводом-изготовителем модуля;
- часть ПОМ, например ОСМ, загружено заранее в ПЗУМ заводом-изготовителем, а часть - ППМ загружается в ОЗУМ с НПОМ перед использованием, используя ОСМ;
- все ПОМ загружается с НПОМ в ОЗУМ перед использованием, используя ОСМ.
Может быть реализована аппаратная возможность перезагрузки ПОМ в ПМ, то есть перезагрузка не должна осуществляться чисто программным методом, а только с помощью каких-либо механических действий пользователя, например нажатием соответствующей клавиши, или комбинации клавиш, или отдельных кнопок.
Особенности работы отдельных УВВТ:
- возможность одновременной работы одних управляющих УВВТ в активном режиме с одними модулями, и в то же время других управляющих УВВТ с другими модулями. Например, пользователь одновременно вводит данные с клавиатуры в одну программу одного модуля и одновременно вводит данные в другую программу другого модуля с помощью, например, мыши, или джойстика, или клавиатуры.
Модуль переключателя (МП) (см. фиг.4).
Задачей МП 17 является управление взаимодействием УВВ тех или иных модулей, например модуля 1, и УВВ терминала 9.
Как и обычный модуль, МП 17 имеет свою операционную систему, управляющую работой данного МП (ОСП), процессор, память, УВВ, шину и программное обеспечение. Элементы МП, как и элементы обычного модуля, могут быть полностью или частично сменными. МП имеет все свойства обычного модуля с реализацией следующих дополнительных функций:
- управление УВВ терминала 9,
- управление подключениями модуля 1 к терминалу 9,
- управление и обработка потоков информации между модулем 1 и терминалом 9.
В зависимости от варианта исполнения компьютера МП 17 может быть как подключаемым к терминалу 9 сменным модулем, так и установленным на компьютер «стационарно». В случае, когда ОСП находится внутри сменного модуля, управление ОСП в ручном режиме может быть как через УВВТ, так и через собственные внутренние УВВ. В этом случае существует возможность замены ОСП путем замены модуля ОСП.
Компьютер может быть исполнен в вариантах, при которых подключение МП осуществляется как через специальный разъем, предназначенный именно для МП, так и в обычный разъем для модулей. В последнем случае компьютер (система компьютеров) должен опознать модуль как МП и передать ему соответствующие полномочия.
Модуль терминала (см. фиг.4).
Тот или иной терминал 9 может быть оборудован собственным модулем (МТ) 18. Задачами МТ являются управление взаимодействием непосредственно переключателя 4 и терминала 9, получение и обработка потоков данных из П 4 и дальнейшая передача их непосредственно в УВВТ.
Как и обычный модуль, МТ 18 имеет свою операционную систему, управляющую работой данного МТ (ОСТ). МТ также имеет процессор, память, УВВ, шину и программное обеспечение. Элементы МТ 18, как и элементы обычного модуля, могут быть полностью или частично сменными. В зависимости от варианта исполнения компьютера, МТ 18 может быть как подключаемым к терминалу 9 сменным модулем, так и устанавливаемым «стационарно».
В случае, когда ОСТ находится внутри сменного модуля, управление ОСТ в ручном режиме может быть как через УВВТ, так и через собственные внутренние УВВ. В этом случае существует возможность замены ОСТ путем замены модуля OCT. Компьютер может быть исполнен в вариантах, при которых подключение МТ к компьютеру может быть как через специальный разъем, предназначенный именно для МТ, так и в обычный разъем для модулей. В последнем случае система должна опознать модуль как МТ и передать ему соответствующие полномочия.
Особенности вывода информации на отображающие устройства (дисплеи).
Компьютер, созданный по заявляемой архитектуре, может иметь несколько отображающих устройств (дисплеев), подключенных как к терминалу, так и непосредственно к модулю. Подключенные к терминалу дисплеи называются главными дисплеями. Подключенные непосредственно к модулям дисплеи называются модульными дисплеями. В зависимости от физического исполнения как модулей, так и терминалов существуют следующие режимы вывода информации от модулей к дисплею:
- вывод из памяти модуля 11 в терминал 9 (режим «модуль - терминал», см. фиг.10) предполагает, что поток данных ПД1, предназначенный для вывода на дисплей 15, выходит из ПМ 11, далее входит, минуя П 4 и МП 17 (то есть никак не модифицируясь со стороны П и МП), в видеоконтроллер терминала 9 и оттуда на дисплей 15. В данном режиме вывода на дисплее может отображаться информация только с одного обычного модуля (полноэкранный режим отображения);
- вывод из памяти модуля 11 в собственный видеоконтроллер 25 модуля 1, а оттуда непосредственно к дисплею 15 (режим вывода «модуль-дисплей», см. фиг.11), который предполагает, что поток данных ПД1, предназначенный для вывода на дисплей 15, выходит из ПМ 11, попадает в собственный видеоконтроллер 25 модуля 1 и, минуя П 4, на МП 17 и на дисплей 15. В данном режиме вывода на дисплее может отображаться информация только с одного обычного модуля (полноэкранный режим отображения);
- вывод из памяти модуля 11 в П 4 (модифицируясь в МП 17), а оттуда в видеоконтроллер 26 дисплея 15 (режим вывода «модуль-переключатель», см. фиг.12), который предполагает, что поток данных ПД1, предназначенный для вывода на дисплей 15, выходит из ПМ 11, далее попадает в МП 17, который обрабатывает эти данные и выводит их как ПД2 в видеоконтроллер 26 дисплея 15 (и через МТ - в случае наличия МТ). В данном режиме вывода на дисплей 15, в зависимости от настроек, П 4 (МТ 17), может работать как в полноэкранном режиме отображения, так и в многооконном режиме отображения (когда на дисплее может отображаться информация с нескольких модулей);
- вывод из памяти модуля 1 в промежуточный (собственного видеоконтроллера нет) видеоконтроллер 27 модуля 1, а оттуда в П 4 (и МТ, или минуя их), и далее в видеоконтроллер 26 дисплея 15. Данный режим вывода (режим вывода «контроллер-контроллер», см. фиг.13) предполагает, что поток данных ПД1, предназначенный для вывода на дисплей 15, выходит из ПМ 11, далее попадает в промежуточный видеоконтроллер 27 модуля, который формирует промежуточный видеопоток данных ПД2, затем этот промежуточный видеопоток ПД2 попадает в П 4, которые обрабатывает или не обрабатывает эти данные, и затем эти данные выводятся в видеоконтроллер 28 дисплея 15. В данном режиме вывода на дисплей 15, в зависимости от настроек П 4 или модуля 1, может работать как в полноэкранном режиме отображения, так и в многооконном режиме отображения.
Промежуточный видеоконтроллер 27 - это устройство, которое подготавливает и отправляет данные из модуля 1 в терминал 9 (через П 4 и МТ 18 или минуя их), затем эти данные попадают на обычный видеоконтроллер 26 дисплея 15 или на входящий видеоконтроллер 28 дисплея.
Входящий видеоконтроллер 28 дисплея 15 - это устройство, которое в отличие от обычных видеоконтроллеров 26 дисплея 15 специально выполнено для вывода информации не по маршруту память 11 компьютера - видеопамять контроллера, как это происходит с обычными видеоконтроллерами, а по маршруту память модуля 11 - память промежуточного видеоконтроллера 27 - видеопамять входящего видеоконтроллера 28, а оттуда в дисплей 15.
В зависимости от настроек модуля, ПП и МТ, а также от исполнения и возможностей модулей и терминала могут меняться режимы вывода информации из модулей на отображающие устройства. Существуют прямой и ступенчатый режимы вывода информации из модулей для отображения. Прямой режим отображения объединяет в себе режимы «модуль-терминал» и «модуль-дисплей», ступенчатый - «модуль-переключатель» и «контроллер-контроллер».
Работа с модульными дисплеями - это работа с дисплеями, подключенными непосредственно к модулю. При этом необходимо оборудование модуля специальным собственным видеоконтроллером, управляющим выводом информации на данный дисплей. Возможна передача какому-либо модулю (или его конкретному УВВ) функций терминала, и наоборот. В зависимости от исполнения того или иного модуля, терминала и П предполагается возможность использования отдельных УВВМ в УВВТ и обратно. Например, клавиатура, подключенная к какому-либо модулю, может быть «перенаправлена» в терминал, то есть стать УВВ терминала и обеспечивать ввод данных в другие модули. Для целей безопасности данное переподключение должно осуществляться с обязательным использованием аппаратных средств (нажатием соответствующих кнопок и т.п.). В случае использования исключительно программных средств пользователь должен быть заранее предупрежден об этом, так как это уменьшает безопасность компьютера. Аналогично предусматривается переподключение того или иного УВВТ в УВВМ.
Осуществление изобретения на примере одного из вариантов исполнения внешнего вида и внутреннего устройства компьютера (см. фиг.14).
Внешний вид компьютера, как и обычного ПК, представляет собой системный блок с обычными разъемами для УВВ, а также с дополнительными удобными для пользователей разъемами для модулей и модуля операционной системы. УВВ, подключаемые напрямую к системному блоку, - это УВВТ данного компьютера. Некоторые модули могут иметь обычные стандартные разъемы для подключения тех или иных УВВМ, например USB для клавиатуры, сетевые разъемы и т.д.
Переключатель 4 входит в состав системного блока и имеет отдельный сменный модуль 17.
Контроллеры всех УВВ 29, 30, 31 терминала 9 входят в состав системного блока. Это контроллеры клавиатуры 13, мыши 14 и дисплея 15. Модуль терминала отсутствует. ОСП данного компьютера представляет собой ПО внутри сменного модуля, подключаемого в соответствующий разъем для МП 17.
К системному блоку подключены следующие модули:
- модуль 32 или офисмодуль, содержащий программу для бухгалтерского учета и программы обработки документов. Модуль 32 имеет в себе разъем для подключения в сеть и подключен в корпоративную или иную сеть. ПО модуля 32 уже предварительно загружено в ПМ (ПЗУ). Модуль 32 имеет невидимые накопители ПОМ, с помощью которых он имеет возможность перегрузить ПО в ПЗУ, но не имеет возможности просмотреть и скопировать те или иные программы на накопители. Модуль 32 также имеет ОЗУ и накопитель данных со сменным носителем, к которому имеет доступ только лишь ПО данного модуля.
- модуль 33 или интернетмодуль, в котором содержится программа для работы в сети Интернет, а также почтовый клиент. Модуль 33 имеет разъем для подключения в сеть и подключен в сеть Интернет. ПО модуля 33 предварительно загружено в ПМ (ПЗУ). Модуль 33 имеет видимые накопители ПОМ, с помощью которых он имеет возможность перегрузить ПО в ПЗУ. Пользователь имеет возможность просмотреть НПОМ, но не имеет возможности их стереть или модифицировать, так как эти накопители работают в режиме «только для чтения». НПМ имеет сменный диск, поменяв который можно поменять и ППМ (пользовательские программы модуля), перезагрузив его в ПЗУ. Модуль также имеет ОЗУ и накопитель данных со сменным носителем, к которому имеет доступ только лишь ПО данного модуля.
К терминалу 9 подключены следующие устройства: дисплей 15, клавиатура 13, мышь 14.
Вывод на экран дисплея 15 идет в режиме «модуль - переключатель», то есть пользователь видит на экране несколько окон - 34, 35, 36. Например, на экране открыто 5 окон:
- окно 36 с офисмодуля 32, в котором работает программа бухгалтерского учета, загруженная в ПЗУ офисмодуля. Она обменивается данными с НД данного модуля, а также получает данные из сети с другого такого же офисмодуля другого компьютера.
- окно 34 с офисмодуля 32, в котором работает программа обработки текста, загруженная в ПЗУ офисмодуля. Она обменивается данными с НД данного модуля. Текст, который обрабатывает эта программа, может являться результатом работы программы бухгалтерского учета. Программа может получать данные из сети с другого офисмодуля другого компьютера.
- окно 35 с интернетмодуля 33, в котором работает программа - браузер сети Интернет. Данная программа загружена в ПЗУ интернетмодуля 33, обменивается данными с сетью Интернет.
- окно (не показано) с интернетмодуля 33, в котором работает программа почтовый клиент. Данная программа загружена в ПЗУ интернетмодуля 33, обменивается данными с сетью Интернет.
- окно (не показано) с модуля операционной системы всей системы (ОСС, не показана)), в котором отображаются данные о работе модулей.
Критические данные, которые необходимо защитить от уничтожения, модификации или же от несанкционированного просмотра вредоносными программами (вирусами, троянами, и т.п.), находятся, например, на накопителе данных офисмодуля 32.
Безопасность критических данных от несанкционированного доступа через Интернет обеспечена тем, что интернетмодуль 33 не имеет никакой физической возможности получить доступ к данным офисмодуля 32:
- через программу браузер сети Интернет может быть загружена страница, содержащая вредоносную информацию, однако загрузившийся вирус не имеет возможности доступа к данным, содержащимся только в интернетмодуле 33;
- вирус не имеет возможности сделать даже снимок экрана дисплея 15, так как информация поступает в видеоконтроллер 30 дисплея 15 из МОС, соответственно вирус не имеет доступа к видеопамяти видеоконтроллера 30 дисплея 15.
- ПОМ не предусматривает работу программ-интерпретаторов. Программа бухгалтерского учета - это то программное обеспечение (защищаемое ПО), установленное на компьютере, производитель которого решил защитить его от несанкционированного копирования. Защита защищаемого ПО обеспечена тем, что НПО офисмодуля 32 находится на невидимых накопителях данного модуля 32, и, как следствие, у пользователя нет возможности скопировать данное ПО.
Единственным способом несанкционированно скопировать данное защищаемое ПО - это разобрать модуль 32 с целью физического извлечения из него памяти и НПО. Однако и это может быть с высокой степенью успеха предотвращено с помощью специальных систем аппаратной шифровки-дешифровки записанной информации на НПО и в ПЗУМ, с помощью устройств, безнадежно портящих НПО и ПМ при попытке их вскрытия, и других способов, существенно затрудняющих и удорожающих процесс несанкционированного копирования защищаемого ПО данного модуля 32.
Варианты защиты компьютера, созданного по заявляемой архитектуре, от различных типов вирусов и от различных действий, враждебных для пользователя.
Согласно принципу автономности модуля вирус, попавший в один модуль, не имеет возможности причинить ущерб (программным методом) другому модулю.
Использование этого принципа составляет главный способ защиты компьютера от вирусов: Пользователь имеет возможность установить отдельными модулями и отделить тем самым особо ценные программы и информацию как друг от друга, так и от других программ и информации, устанавливаемых в других модулях, защита которых не так важна пользователю или не важна вовсе.
Например, если пользователь пользуется покупками через Интернет, и соответственно где-то на компьютере пользователя хранится критическая информация (о кредитной карточке пользователя, пароли и т.д.), обладание которой может нанести тот или иной ущерб пользователю, то пользователю желательно иметь отдельный модуль, который содержит только отдельный и особый вариант программы браузера Интернета, желательно не содержащий никаких программ-интерпретаторов и больше никаких других рабочих программ (ППМ).
Учитывая вышеизложенное, все дальнейшие методы защиты компьютера с помощью заявляемой архитектуры описывают способы, относящиеся к защите того или иного модуля.
Во всех нижеизложенных вариантах защиты модуля предполагается, что изначально (на этапе изготовления модуля) программное обеспечение модуля не содержит никаких вирусов (принцип надежного поставщика модуля).
1. Защита от вирусов, внедряемых в программное обеспечение компьютера (программные вирусы). До начала работы модуля (принцип предварительной загрузки) программа загружена в память модуля. Это означает, что если программное обеспечение модуля изначально не содержит данный тип вируса (принцип надежного поставщика модуля), то у данного типа вирусов уже нет никакой возможности внедриться в память компьютера и выполнить какие-нибудь враждебные пользователю действия.
2. Защита от вирусов, использующих программы-интерпретаторы (макровирусы). Поставщиком ПОМ должен быть предусмотрен принудительный контроль пользователя за особо важными операциями скриптовых программ, такими как: файловые операции и обмен данными с сетями (принцип ограничения работы программ-интерпретаторов). В соответствии с этим принципом поставщик программного обеспечения модуля может разделить команды интерпретатора на опасные и неопасные и далее перехватывать опасные команды, разрешая или не разрешая их использовать, в том числе и вручную пользователем. Интерпретатор не должен содержать каких-либо команд, которые могут изменять параметры контроля команд интерпретатора.
Кроме того, поставщик модуля должен предупреждать пользователя о том, что ПОМ содержит программы-интерпретаторы, и давать возможность пользователю вручную отключать работу данных программ или включать их в тех или иных случаях или для тех или иных типов файлов. Пользователь также должен предупреждаться о наличии в том или ином файле макрокоманд и иметь возможность отключить их для того или иного файла или типа файлов (или для вариантов попадания этих файлов в модуль, например, не разрешать макрокоманды для файлов, поступивших из сетей (Интернет, электронной почты и т.п.) или же для копируемых на модуль со сменных носителей).
3. Защита критических данных от незаконного проникновения через Интернет или иные сети. В соответствии с главным принципом защиты компьютера, критические данные и программы, не работающие с этими данными, не должны быть в одном модуле, следует избегать также нахождения в рамках одного модуля критических данных и программ для работы с сетями (Интернетом), тем более содержащие программы-интерпретаторы.
4. Защита критических данных, используемых пользователем во время сеансов нахождения в сети Интернет. Если критические данные необходимы как раз для использования их в сетях (таких как Интернет), то следует поступить как в примере, описанном выше. А именно: пользователю желательно иметь отдельный модуль, который содержит только отдельный и особый вариант программы браузера Интернета (желательно не содержащий никаких программ-интерпретаторов) и больше никаких рабочих программ в данном модуле (ППМ). Следует также использовать принцип ограничения работы программ-интерпретаторов.
5. Защита от несанкционированных пользователем рассылок информации по сетям с компьютера пользователя. В соответствии с принципом предварительной загрузки у программных вирусов нет возможности выполнить данное враждебное действие. Такая возможность есть только у макровирусов, поэтому должен использоваться принцип ограничения работы программ-интерпретаторов.
6. Защита от вирусов, проникающих через электронную почту. Как и в предыдущем случае, программный вирус не сможет выполнить никаких враждебных действий в соответствии с принципом предварительной загрузки. Макровирусы, поступившие через электронную почту, должны нейтрализовываться путем использования принципа ограничения работы программ-интерпретаторов.
Некоторые варианты защиты программного обеспечения, написанного для ПК, созданного по заявляемой архитектуре:
1. Использование невидимых накопителей. Использование невидимых накопителей, а также предусмотренная изготовителем невозможность подключения каких-либо управляющих УВВМ и отображающих УВВМ к данному модулю не даст пользователю возможности скопировать ПОМ, записанное на данный накопитель (принцип использования невидимых накопителей).
2. Использование принципа предварительной загрузки. ПОМ может быть предварительно загружено в память модуля заводом-изготовителем и при этом на накопителях модуля отсутствует копия ПОМ. Это не даст пользователю возможность скопировать ПОМ.
3. Использование ограничений в программном обеспечении модуля. ПОМ может также не разрешать пользователю отдельные операции с файлами ПОМ, например просмотр файлов ПОМ, копирование их и т.д. Данный принцип называется принцип ограничений в ПОМ.
4. Использование шифрования информации внутри модуля. Может быть предусмотрено шифрование данных на накопителях ПОМ и их дешифровка в момент загрузки в память модуля (принцип шифрования НПОМ). Соблюдение этого принципа существенно затруднит извлечение данных из модуля с помощью физического извлечения составных частей из модуля.
5. Использование технологий, проверяющих целостность модуля. Существенно затруднит извлечение данных из модуля с помощью физического извлечения составных частей из модуля принцип использования технологий, проверяющих целостность модуля. Согласно данному принципу при изготовлении модуля должны использоваться технологии, которые проверяют целостность отдельных частей модуля (например, его корпуса, некой оболочки отдельных микросхем и т.д.) и в случае нарушения целостности - то определенным образом делать информацию (всю или ее часть - например, ПОМ) недоступной для злоумышленника. Например, стереть записанный многобитный код расшифровки, который используется для шифрования информации.
Оптимальное использование мощностей процессора и памяти компьютера.
Обычные компьютеры по архитектуре фон Неймана изготавливаются под потенциально любые программы. Как следствие, возможны и часто возникают ситуации, при которых мощность процессора, память компьютера и прочее оборудование, например видеоадаптер, не используется в полной мере, или же возможностей этого установленного оборудования недостаточно для данного программного продукта.
Согласно предлагаемой архитектуре, так как каждый модуль предназначен для функционирования конкретных программ, то существует возможность оптимально подобрать необходимое оборудование для данного модуля и данных программ и использовать его в полной мере.
Таким образом, заявляемая архитектура компьютера обеспечивает надежную превентивную защиту компьютера от внедрения вирусов, исключение повреждения программ и файлов, предотвращение утечки конфиденциальной информации и прочих последствий вредоносных действий вирусов, вплоть до полного исключения вредоносных воздействий вирусов на компьютер, дает возможность значительно затруднять несанкционированное копирование программного обеспечения для данного ПК, и дает возможность более оптимально выбирать для изготовления и использовать центральный процессор, память и прочее оборудование компьютера.