Ядро общих унифицированных структур данных и функций файловой системы, оконной системы, системы динамического выделения и освобождения блоков памяти — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Ядро общих унифицированных структур данных и функций файловой системы, оконной системы, системы динамического выделения и освобождения блоков памяти

2022-11-27 29
Ядро общих унифицированных структур данных и функций файловой системы, оконной системы, системы динамического выделения и освобождения блоков памяти 0.00 из 5.00 0 оценок
Заказать работу

 

Основные структуры данных

Для функционирования СПОПО НТУ «Алмаз-М» и нанокомпилятора (САПР НЭ) заведены две общие структуры данных. Первая используется в качестве базы данных пользователей. Постоянно она храниться в специально созданной директории на жестком диске в отдельном файле: 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.