История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2022-11-27 | 30 |
5.00
из
|
Заказать работу |
|
|
Основные структуры данных
Для функционирования СПОПО НТУ «Алмаз-М» и нанокомпилятора (САПР НЭ) заведены две общие структуры данных. Первая используется в качестве базы данных пользователей. Постоянно она храниться в специально созданной директории на жестком диске в отдельном файле: C:\ stmNanoCompilerAlmaz \ stmParameters \ stm 00. UserData. dat. В структуре данных «stm 00. UserData. dat» хранятся имена всех пользователей, заведённые ими пароли для доступа к их данным, пути к их данным, имена их личных файлов пользователя (ЛФП). Вторая используется в качестве ЛФП, в которую загружаются текущие настройки данного пользователя из его индивидуального файла: C:\ stmNanoCompilerAlmaz \ stmParameters \ xxxxxxxx. udb, где вместо символов «xxxxxxxx» – по заданному алгоритму выставляются цифры и буквы уникального имени ЛФП (00000000. udb, 00000001. udb, … 0000000a.udb, …).
На имя индивидуального файла данного пользователя указывает информация из первого файла – базы данных пользователей. ЛФП это бинарный файл, который записывается на диск функцией записи потока бинарных данных write (..); а читается с диска функцией чтения потока бинарных данных read (…); из стандартной библиотеки языка Си (в стиле K&R C; ANSI C, C99, ANSI C++). Бинарные файлы, в отличие от текстовых (ASCII), невозможно понять, просматривая на экране компьютера в каком-нибудь редакторе, однако они в несколько сотен раз быстрее читаются и записываются компьютером и он-то их понимает. Скорость чтения и записи гораздо важней наглядности при постоянном сохранении часто обновляемых данных. Стандартные функции write (…); и read (…); позволяют записывать и читать структуру данных как блок памяти, используя индификатор имени структуры данных в качестве указателя на первый байт этого блока памяти и задавая его размер в байтах, который легко получить с помощью оператора sizeof (…);.
|
В структуре данных ЛФП содержатся и долговременно сохраняются на жестком диске компьютера абсолютно все данные пользователя:
· данные любых типов, вводимые и выводимые через диалоговые панели;
· размерности используемых массивов данных динамически выделяемой и освобождаемой памяти;
· размерности и координаты верхнего левого угла всех окон в используемой оконной системе;
· служебные данные о модификации СПОПО НТУ «Алмаз-М» или нанокомпилятора, которую необходимо запустить при загрузке;
· служебные данные о текущей конфигурации СПОПО НТУ «Алмаз-М» или нанокомпилятора, которую необходимо запустить при загрузке – включённые пользователем диалоговые панели, открытые окна и их расположение на экране в том порядке, который быль в последнем сеансе работы данного пользователя.
Оконная система
Используется иерархическая оконная система (рис.28, рис.39, рис.40, рис.50, рис.51, рис.61, рис.62), состоящая из главного окна и системы дочерних окон. Главное окно с перегружаемыми меню открывает доступ к функциям общего назначения. Главное окно формируется с использованием «жадного» стиля «WS_EX_TOPMOST» [134, 135], поэтому оно не только захватывает всю площадь экрана компьютера, но располагается поверх всех других открытых приложений. Системы дочерних окон отображают:
· 2D отсканированные изображения (СПОПО НТУ),
· 2D виртуальные цифровые шаблоны топологий нанолитографии,
· 2D топологии библиотечных наноэлементов,
· тексты HDL-описания наносхем,
· 3D реконструкции топологии наноэлементов и наносхем на основе технологии виртуальной реальности OpenGL,
· виртуальные цифровые осциллографы,
· циклограммы наносхем на ШКТ (QCA).
Показаны окна:
· панели управления сканированием и литографией,
· 2D изображений поверхности,
· 3D реконструкций рельефа,
· 2D шаблонов топологий НЭ,
· «Fine Map» показывающее положение выбранной локальной области сканирования (100*100 нм2) на общей доступной области точного сканирования (400*400 нм2),
|
· «Rough Map», показывающее положение выбранной локальной области сканирования (1000*1000 нм2) на общей доступной области грубого сканирования (40000*40000 нм2).
Рис.65. Серверная часть СПОПО НТУ «Алмаз-М» на хост-ПЭВМ №1 (HOST0).
Разработка ЗАО КБ «Алмаз-37», 2004 год.
Для создания главного и дочерних окон используются библиотечные функции CreateWindow (…); и её расширенная модификация CreateWindowEx (…); [134, 135]. Творческое использование этих функционально чрезвычайно богатых базовых функций API Microsoft Windows позволяет в стиле структурного программирования K&R C в рамках стандартного каркаса приложения под Microsoft Windows ME/NT/2000/XP/Vista строить любые элементы современного оконного интерфейса. В том числе, подвижные и неподвижные, и даже невидимые окна любых размеров и стилей; модальные и немодальные диалоговые панели; кнопки и другие стандартные элементы управления; избегая использования громоздких и непереносимых конструкций объектно-ориентированных MFC. Стандартный каркас приложения под Microsoft Windows ME/NT/2000/XP/Vista [134, 135] содержит регистрацию класса главного окна и классов дочерних окон. Для этого заполняются поля специальной структуры данных «WNDCLASSEX WndClassEx;», в которых указывается ссылки на подключаемые к окну ресурсы (пиктограммы, курсоры, цвет фона, меню, панели инструментов) и подключается функция цикла обработки сообщений для этого класса окон. Сообщения приходят, в том числе от клавиатуры, опций загружаемого меню, всплывающего меню, кнопок панели инструментов и кнопок манипулятора типа «мышь». Заполненная структура данных регистрируется во внутренней базе данных Microsoft Windows ME/NT/2000/XP/Vista через функцию RegisterClassEx(&WndClassEx);.
Рис.66. Клиентская часть СПОПО НТУ «Алмаз-М» на хост-ПЭВМ №2 (HOST1). Показаны панели хронометрированного управления параметрами микрореактора (циклограмма, риска таймера)
и его мнемосхема. Разработка ЗАО КБ «Алмаз-37», 2003 год.
Главное окно имеет свой цикл обработки сообщений. Системы дочерних окон имеют свои изолированные циклы обработки сообщений. И Microsoft Windows ME/NT/XP/Vista, и Linux/UNIX, Mac OS X, это ОС построенные на основе идеологии систем управляемых событиями (events). В терминологии Microsoft Windows ME/NT/XP/Vista события называются сообщениями (messages). В терминологии Linux/UNIX, Mac OS X события называются сигналами (signals). Различие между ОС «косметическое», функционально это одинаковые механизмы по смыслу и похожие по программной реализации, поэтому можно обеспечить кроссплатформенную переносимость без потери функционального смысла [142: 24-я глава].
Для построения систем дочерних окон (рис.28, рис.39, рис.40, рис.50, рис.51, рис.61, рис.62) используются массивы указателей на дескрипторы окон.
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!