База вычислительных комплексов МВК "Эльбрус"
Общие сведения об операционной системе МВК "Эльбрус". Оценка эффективности внедрения программы-эмулятора, реализующей алгоритм обучения и контроля готовности номеров дежурных смен к самостоятельному несению боевого дежурства. Состав программного продукта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 02.10.2012 |
Размер файла | 679,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Алгоритм поиска Р. Боуера и Д. Мура.
Выигрыш от использования КМП-стратегии в большинстве случаев поиска в обычных текстах весьма незначителен.
Метод Р. Боуера и Д. Мура не только улучшает обработку самого плохого случая, но и дает выигрыш в промежуточных ситуациях.
Алгоритм основывается на необычном соображении -- сравнение символов начинается с конца образа, а не с начала. Как и в случае KMII-поиска, образ перед фактическим поиском трансформируется в некоторую таблицу. Пусть для каждого символа х из алфавита dx -- расстояние от самого правого в образе вхождения х до его конца. Представим себе, что обнаружено расхождение между образом и строкой. В этом случае образ сразу же можно сдвинуть вправо на несколько позиций, т. е. на число позиций, скорее всего большее единицы. Если нахождение элемента поиска в образе вообще не встречается, то сдвиг становится даже больше, а именно сдвигать, можно на длину всего образа.
Замечательное свойство данного алгоритма в том, что почти всегда, кроме специально построенных примеров, он требует значительно меньше N сравнений. В самых же благоприятных обстоятельствах, когда последний символ образа всегда попадает на несовпадающий символ текста, число сравнений равно N-1.
1.4.2 Алгоритмы сортировки
Сортировку следует понимать как процесс перегруппировки заданного множества объектов в некотором определенном порядке. Цель сортировки -- облегчить последующий поиск элементов в таком отсортированном множестве. Это почти универсальная, фундаментальная деятельность.
Выбор алгоритма зависит от структуры обрабатываемых данных -- это почти закон, но в случае сортировки такая зависимость столь глубока, что соответствующие методы были даже разбиты на два класса -- сортировку массивов и сортировку файлов (последовательностей). Иногда их называют внутренней и внешней сортировкой, поскольку массивы хранятся в быстрой, оперативной, внутренней памяти машины со случайным доступом, а файлы обычно размещаются в более медленной, но и более емкой внешней памяти, на устройствах, основанных на механических перемещениях (дисках или лентах).
Сортировка с помощью прямого выбора
Этот алгоритм основан на следующих принципах:
Выбирается элемент с наименьшим ключом. Он меняется местами с первым элементом А1. Затем этот процесс повторяется с оставшимися n-1 элементами, n - 2 элементами и так далее до тех пор, пока не останется один, самый большой элемент.
Число сравнений ключей (С), очевидно, не зависит от начального порядка ключей. Для С имеем: число перестановок минимально в случае изначально упорядоченных ключей и максимально, если первоначально ключи располагались в обратном порядке.
Сортировка с помощью прямого обмена (метод пузырьковой сортировки)
Алгоритм прямого обмена основывается на сравнении и смене мест
для пары соседних элементов и продолжении этого процесса до
тех пор, пока не будут упорядочены все элементы. Такой метод широко известен под именем пузырьковая сортировка.
Очевидный прием улучшения этого алгоритма -- запоминать, были или не были перестановки в процессе некоторого прохода. Если в последнем проходе перестановок не было, то алгоритм можно заканчивать. Это улучшение, однако, можно опять же улучшить, если запоминать не только сам факт, что обмен имел место, но и положение (индекс) последнего обмена. Ясно, что все нары соседних элементов выше этого индекса k уже находятся в желаемом порядке. Поэтому просмотры можно заканчивать на этом индексе, а не идти до заранее определенного нижнего предела.
Сортировка с помощью включений с уменьшающимися расстояниями
В 1959г. Д. Шеллом было предложен следующий алгоритм сортировки.
Сначала отдельно группируются и сортируются элементы, отстоящие друг от друга на расстоянии 4. Такой процесс называется четверной сортировкой. После первого прохода элементы перегруппировываются -- теперь каждый элемент группы отстоит от другого на две позиции -- и вновь сортируются. Это называется двойной сортировкой. И наконец на третьем проходе идет обычная, или одинарная, сортировка.
На первый взгляд можно засомневаться: если необходимо несколько процессов сортировки, причем в каждый включаются все элементы, то не добавят ли они больше работы, чем сэкономят? Однако на каждом этапе либо сортируется относительно мало элементов, либо элементы уже довольно хорошо упорядочены, и требуется сравнительно немного перестановок.
Ясно, что такой метод в результате дает упорядоченный массив, и, конечно же, сразу видно, что каждый проход от предыдущих только выигрывает (так как каждая i - сортировка объединяет две группы, уже отсортированные j - сортировкой). Также очевидно, что расстояния в группах можно уменьшать по-разному, лишь бы последнее было единичным, ведь в самом плохом случае последний проход и сделает всю работу. Однако совсем не очевидно, что такой прием "уменьшающихся расстояний" может дать лучшие результаты, если расстояния не будут степенями двойки.
Анализ этого алгоритма поставил несколько весьма трудных математических проблем, многие из которых так еще и не решены. В частности, неизвестно, какие расстояния дают наилучшие результаты.
Но нот удивительный факт: они не должны быть множителями один другого.
Это позволяет избежать явления, когда при каждом проходе взаимодействуют две цепочки.
Сортировка с помощью разделения
Производительность данного алгоритма столь впечатляюща, что изобретатель Ч. Хоар даже назвал метод быстрой сортировкой (QuickSort). Данный алгоритм является самым быстрым алгоритмом сортировки массивов.
В Quicksort исходят из того соображения, что для достижения наилучшей эффективности сначала лучше производить перестановки на большие расстояния. В результате массив окажется разбитым на левую часть, с ключами меньше (или равными) х, и правую -- с ключами больше (или равными) х.
Число же обменов можно определить из следующих вероятностных соображений. При заданной границе значений х ожидаемое число операций обмена равно числу элементов в левой части разделяемой последовательности, то есть, n-1 умноженному на вероятность того, что при обмене каждый такой элемент попадает на свое место. Обмен происходит, если этот элемент перед этим находился в правой часта. Вероятность этого равна (n -(х-1))/n. Поэтому ожидаемое число обменов есть среднее этих ожидаемых значений для всех возможных границ x.
Выводы по главе
Подведем краткие выводы по данной главе:
установлено, что для разработки программного обеспечения первым шагом является поиск необходимой информации;
была рассмотрена информация об эмуляторах и предъявлены основные требования к ним;
осуществлен необходимый подбор информации о диалоге пользователя с ОС МВК «Эльбрус» и его характеристиках;
рассмотрены и проанализированы основные алгоритмы поиска и сортировки.
Рассмотренная информация определила следующий шаг к моделированию алгоритма и написанию программы.
алгоритм эмулятор боевой дежурство
2. РАЗРАБОТКА ПРОГРАММЫ
2.1 Выработка требований к программе
Программа, разработанная в дипломной работе, являясь автоматизированным тренажером, должна обеспечивать выполнение основных психолого-педагогичеких, методических и дидактических требований автоматизированного обеспечения.
Психолого-педагогическими требованиями к АТ являются:
1. Формирование мотивации и интереса у обучаемых;
2. Установление педагогически оправданного диалога с ЭВМ;
3. Активизация познавательной деятельности каждого обучаемого;
4. Организация оперативного и текущего контроля результатов обучения с последующей коррекцией;
5. Выявление эффективных путей формирования и развития творческих способностей обучаемых;
6. Установление оптимальных пропорций между автоматизированным и традиционным обучением.
Методика автоматизированного обучения предъявляет к АТ следующие требования:
1. Организация индивидуального обучения;
2. Развитие творческой и познавательной деятельности обучаемых;
3. Гибкое изменение в соответствии с уровнем знаний обучаемого и его состоянием;
4. Наличие широкого диапазона средств диалога обучаемого с ЭВМ;
5. Наличие средств машинной графики индивидуального и коллективного пользования;
6. Простота, доступность, надежность, дешевизна средств автоматизированного обучения;
7. Возможность оперативной перекомпоновки АСК.
При этом выдвигается ряд конкретных требований к аппаратурно программным средствам АТ, а именно:
обеспечение возможности одновременного доступа многих пользователей к средствам электронно-вычислительной техники;
обеспечение независимой работы пользователей в различных режимах эксплуатации;
удовлетворение требований по времени ответа на запросы пользователей;
разграничение доступа к информации пользователей и защита информации от несанкционированного использования;
организация банков данных в интересах коллективного пользования.
Обеспечение выполнения этих требований возможно при создании в подразделении вычислительной системы, представляющей собой взаимосвязанные аппаратурные средства и высоко развитое информационное, лингвистическое, общесистемное, программное, технологическое и организационное обеспечение.
Есть два варианта:
создание универсального автоматизированного учебного занятия, позволяющего решать сложные задачи, имеющие неоднозначные решения, включающего в свой состав мощные текстовые и графические редакторы;
создание кортежа инициализируемых АТ, «завязанных» в единую сеть и способных решать те же задачи, что и универсальные АТ.
Решение задачи автономного обучения при помощи универсальных АТ возможно при условии создания в нашем ВВУЗе достаточно мощного, в методическом смысле, программного обеспечения, что для одного подразделения является сложной задачей. Использование набора специализированных АТ более приемлемо, так как требуется меньшее количество материальных средств и людских ресурсов.
Помимо перечисленных требований, существуют следующие требования предъявляемые к эмулятору:
1. Обеспечение полной имитации эмулированного процесса.
2. Осуществление программных запретов на функции диалога пользователя современных операционных систем
2.2 Выбор операционной системы реализации эмулятора
Операционная система в наибольшей степени определяет облик всей вычислительной системы в целом. Довольно затруднительно дать определение операционной системе. Частично это связано с тем, что ОС выполняет две по существу мало связанные функции: обеспечение пользователю-программисту удобств посредством предоставления для него расширенной машины и повышение эффективности использования компьютера путем рационального управления его ресурсами.
Современные вычислительные системы состоят из процессоров, памяти, таймеров, дисков, накопителей на магнитных лентах, сетевой коммуникационной аппаратуры, принтеров и других устройств. В соответствии со вторым подходом функцией ОС является распределение процессоров, памяти, устройств и данных между процессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность ее функционирования. Критерием эффективности может быть, например, пропускная способность или реактивность системы. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:
планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;
отслеживание состояния ресурса - то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов - какое количество ресурса уже распределено, а какое свободно.
Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, что в конечном счете и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс.
Так, например, алгоритм управления процессором в значительной степени определяет, является ли ОС системой разделения времени, системой пакетной обработки или системой реального времени.
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Ниже приведена классификация ОС по нескольким наиболее основным признакам.
От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей ОС в целом. Поэтому, характеризуя ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы.
По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
однозадачные (например, MS-DOS, MSX)
многозадачные (OC EC, OS/2, UNIX, Windows 95/NT).
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
По числу одновременно работающих пользователей ОС делятся на:
однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
невытесняющая многозадачность (NetWare, Windows 3.x);
вытесняющая многозадачность (Windows NT, OS/2, UNIX).
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows XP фирмы Microsoft и NetWare 4.1 фирмы Novell.
Критериями для выбора ОС являются следующие характеристики:
Высокая эффективность файловых операций;
Возможность эффективной интеграции с другими ОС;
Наличие централизованной масштабируемой справочной службы;
Хорошие перспективы развития;
Эффективная работа удаленных пользователей;
Разнообразные сервисы: файл-сервис, принт-сервис, безопасность данных и отказоустойчивость, архивирование данных, служба обмена сообщениями, разнообразные базы данных и другие;
Разнообразные транспортные протоколы: TCP/IP, IPX/SPX, NetBIOS, AppleTalk;
Поддержка многообразных операционных систем конечных пользователей: DOS, UNIX, OS/2, Mac;
Поддержка сетевого оборудования стандартов Ethernet, Token Ring, FDDI, ARCnet;
Наличие популярных прикладных интерфейсов и механизмов вызова удаленных процедур RPC;
Возможность взаимодействия с системой контроля и управления сетью, поддержка стандартов управления сетью SNMP.
Конечно, ни одна из существующих ОС не отвечает в полном объеме перечисленным требованиям, поэтому выбор ОС, как правило, осуществляется с учетом производственной ситуации и опыта. В таблице 2.1. приведены основные характеристики популярных и доступных в настоящее время ОС.
Таблица. 2.1 Основные характеристики ОС
NovellNetWare 4.1 |
Специализированная операционная система, оптимизированная для работы в качестве файлового сервера и принт-сервераОграниченные средства для использования в качестве сервера приложений: не имеет средств виртуальной памяти и вытесняющей многозадачности, а поддержка симметричного мультипроцесcирования отсутствовала до самого недавнего времени. Отсутствуют API основных операционных сред, используемых для разработки приложений, - UNIX, Windows, OS/2Серверные платформы: компьютеры на основе процессоров Intel, рабочие станции RS/6000 компании IBM под управлением операционной системы AIX с помощью продукта NetWare for UNIXПоставляется с оболочкой для клиентов: DOS, Macintosh, OS/2, UNIX, Windows (оболочка для Windows NT разрабатывается компанией Novell в настоящее время, хотя Microsoft уже реализовала клиентскую часть NetWare в Windows NT)Организация одноранговых связей возможна с помощью ОС PersonalWareИмеет справочную службу NetWare Directory Services (NDS), поддерживающую централизованное управление, распределенную, полностью реплицируемую, автоматически синхронизируемую и обладающую отличной масштабируемостьюПоставляется с мощной службой обработки сообщений Message Handling Service (MHS), полностью интегрированную (начиная с версии 4.1) со справочной службойПоддерживаемые сетевые протоколы: TCP/IP, IPX/SPX, NetBIOS, AppletalkПоддержка удаленных пользователей: ISDN, коммутируемые телефонные линии, frame relay, X.25 - с помощью продукта NetWare Connect (поставляется отдельно)Безопасность: аутентификация с помощью открытых ключей метода шифрования RSA; сертифицирована по уровню C2Хороший сервер коммуникацийВстроенная функция компрессии дискаСложное обслуживание |
|
BanyanVINES 6.0 и ENS(EnterpriseNetworkServices) 6.0 |
Серверные платформы:ENS for UNIX: работает на RISC-компьютерах под управлением SCO UNIX, HP-UX, Solaris, AIX ENS for NetWare: работает на Intel-платформах под управлением NetWare 2.x, 3.x, 4.xVINES работает на Intel-платформахКлиентские платформы: DOS, Macintosh, OS/2, UNIX, Windows for Workgroups, Windows NTХороший сервер приложений: поддерживаются вытесняющая многозадачность, виртуальная память и симметричное мультипроцессирование в версии VINES и в ENS-версиях для UNIX. Поддерживаются прикладные среды UNIX, OS/2, WindowsПоддержка одноранговых связей - отсутствуетСправочная служба - Streettalk III, наиболее отработанная из имеющихся на рынке, с централизованным управлением, полностью интегрированная с другими сетевыми службами, распределенная, реплицируемая и автоматически синхронизируемая, отлично масштабируемаяСогласованность работы с другими сетевыми ОС: хорошая; серверная оболочка работает в средах NetWare и UNIX; пользователи NetWare, Windows NT и LAN Server могут быть объектами справочной службы Streettalk IIIСлужба сообщений - Intelligent Messaging, интегрирована с другими службамиПоддерживаемые сетевые протоколы: VINES IP, TCP/IP, IPX/SPX, AppletalkПоддержка удаленных пользователей: ISDN, коммутируемые телефонные линии, X.25Служба безопасности: поддерживает электронную подпись (собственный алгоритм), избирательные права доступа, шифрацию; не сертифицированаПростое обслуживаниеХорошо масштабируетсяОтличная производительность обмена данными между серверами, хуже - при обмене сервер-ПК |
|
MicrosoftWindowsXP |
Серверные платформы: компьютеры на базе процессоров Intel,PowerPC, DEC Alpha, MIPSКлиентские платформы: DOS, OS/2, Windows, Windows for Workgroups, MacintoshWindows XP представляет собой отличный сервер приложений: он поддерживает вытесняющую многозадачность, виртуальную память и симметричное мультипроцессирование, а также прикладные среды DOS, Windows 95, OS/2, POSIXСправочные службы: доменная для управления учетной информацией пользователей (Windows NT Domain Directory service), справочные службы имен WINS и DNSХорошая поддержка совместной работы с сетями NetWare: поставляется клиентская часть (редиректор) для сервера NetWare (версий 3.х и 4.х в режиме эмуляции 3.х, справочная служба NDS поддерживается, начиная с версии 4.0), выполненная в виде шлюза в Windows XP или как отдельная компонента для Windows NT Workstation; недавно Microsoft объявила о выпуске серверной части NetWare как оболочки для Windows XP.Служба обработки сообщений - Microsoft MailNT - Microsoft Message Exchange, интегрированная с остальными службами Windows NT ServerПоддерживаемые сетевые протоколы: TCP/IP, IPX/SPX, NetBEUI, AppletalkПоддержка удаленных пользователей: ISDN, коммутируемые телефонные линии, frame relay, X.25 - с помощью встроенной подсистемы Remote Access Server (RAS)Служба безопасности: мощная, использует избирательные права доступа и доверительные отношения между доменами; узлы сети, основанные на Windows XP, сертифицированы по уровню C2Простота установки и обслуживанияОтличная масштабируемость |
|
IBM LAN Server 4.0 |
Серверные платформы: операционные системы MVS и VM для мейнфреймов; AS/400 с OS/400, рабочие станции RS/6000 с AIX, серверы Intel 486 или Pentium под OS/2Поставляется с оболочками для клиентов: DOS, Macintosh, OS/2, Windows, Windows NT, Windows for WorkgroupsСерверы приложений могут быть организованы с помощью LAN Server 4.0 в операционных средах MVS, VM, AIX, OS/2, OS/400. В среде OS/2 поддерживаются: вытесняющая многозадачность, виртуальная память и симметричное мультипроцессированиеОрганизация одноранговых связей возможна с помощью ОС Warp ConnectСправочная служба - LAN Server Domain, то есть основа на доменном подходеПоддерживаемые сетевые протоколы: TCP/IP, NetBIOS, AppletalkБезопасность - избирательные права доступа, система не сертифицированаСлужба обработки сообщений - отсутствуетВысокая производительностьНедостаточная масштабируемость |
Согласно проведенному анализу, выбор операционной системы для написания дипломной работы очевиден в пользу Microsoft Windows XP
2.3 Выбор языка программирования
При работе на персональных ЭВМ можно использовать различные языки программирования. Например: Ассемблер, Си, Турбо-Паскаль, Delphi, Visual Basic.
Для выбора наиболее эффективного из них проведем их сравнительный анализ.
Языком Ассемблера называется язык программирования, ближе всего соответствующий системе команд микропроцессора. Хотя этот язык позволяет программисту полностью использовать возможности компьютера, он не является естественным языком для алгоритмических выражений. Программисты называют его «языком программирования низкого уровня», поскольку он близок к машинному языку - языку программирования низкого уровня. Недостаток - высокая трудоемкость программирования, низкий коэффициент эффективности времени разработки программы.
При разработке языка Си был принят компромисс между низки уровнем языка Ассемблера и высоким уровнем Турбо-Паскаля. В языке Си предусмотрено много операций, непосредственно исполняемых большинством микропроцессоров. В то же время он дает программисту возможность выражать свои алгоритмы и данные наиболее подходящими средствами, использующими такие традиционные конструкции языков программирования высокого уровня, как итерация, выбор и принятие решение. Язык Си обеспечивает возможность структурирования данных и позволяет разрабатывать большие, но структурированные программы, предоставляя возможность разработки отдельных блоков программы. К достоинству языка Си следует отнести его компактность. Разработчики этого языка ориентировались на миникомпьютеры. Вследствие этого, в языке Си нет встроенных операций для манипулирования строками и встроенных операторов ввода-вывода. Эти возможности реализованы как подпрограммы, которые могут быть вызваны из программы. Чтобы писать программы на языке Си, программист должен обладать достаточно высокой квалификацией и знать архитектуру ПЭВМ. Недостатком языка Си является его недостаточная наглядность, а это для нас один из важнейших факторов.
Турбо-Паскаль был разработан как язык для преподавания современных принципов программирования. Замечателен в Турбо-Паскале не сам язык, который является лишь языком Паскаля, а программное окружение, в котором теперь стало можно использовать Паскаль. Это окружение стало обеспечивать пользователю комфорт и высокую скорость по сравнению со своими предшественниками. Этот язык стал полезен для решения прикладных задач различных типов.
Он стал обеспечивать применение современных методов программирования и стал хорош как средство структурного программирования. Как и многие языки программирования высокого уровня, большинство реализаций Турбо-Паскаля допускает раздельную разработку подпрограмм, дополнительных модулей.
Операторы ввода-вывода также являются элементами языка. Будучи ориентированным на обучение, Турбо-Паскаль строго типизирован. Это означает, что каждая переменная программ должна быть описана, как содержащая определенный тип данных. Турбо-Паскаль обладает полным набором структурированных типов данных, таких как простые переменные, массивы, файлы, множество записи, ссылочные переменные и другие. Особое внимание следует обратить на надежность программ, которая достигается иногда за счет избыточности. Например, обязательно написание переменных соответствующих типов. Надежность достигается также за счет программы и естественности конструкции языка, соответствующих логическому мышлению разработчика программ. Язык содержит ряд изобразительных средств (case, repeat, if, while), помогающих организовать ветвление в программе без использования операторов ввода-вывода, что способствует простому пониманию алгоритма. Не смотря на относительную простоту языка, он оказался пригоден для весьма широкого спектра приложений, в том числе для разработки очень больших и сложных программ, например, операционных систем. Совсем не так давно появился новый проект языка программирования этой же фирмы, который быстро нашел популярность в кругах разработчиков. Это среда - Delphi с языком программирования Object Pascal . В своей основе она использует объектно-ориентированный Паскаль и позволяет программировать в Windows. Этот язык совершенно не похож на другие языки программирования, даже на своего предшественника Турбо-Паскаль, хотя и использует его. Главное отличие - абсолютно новый способ программирования.
Идея заключается в изменении способа разработки программы.
Традиционные, линейно-структурированные методы уступают место итерационным подходам, выполненным в нелинейном, интерактивном режиме, где преобладают визуальное макетирование и высокая скорость разработки.
Визуальное программирование буквально сформировало новые инструментальные средства разработчика. Вместо того, чтобы писать программы, используя различные коды в символьном редакторе, который управляется различными командами, печатаемыми вручную, мы интерактивно выбираем мышью компоненты для формы, визуально размещаем их так, чтобы они красиво смотрелись, и связываем их при помощи коротких и понятных частей кода.
В прошлом разработчику даже самого простого приложения требовалось долго и прилежно его прорабатывать -- тщательно организовать структуру программы, квалифицированно разместить модуль исходного текста, даже если необходима единственная фактическая строка программы. Разработчик писал большое количество кода внутри очень длинного файла исходного текста, и затем транслировал его, чтобы проверить результат. Delphi изменяет подход, позволяя разработчику быстро освоить создание приложений и программ. Разработчику предоставляется возможность исследовать интерфейс пользовательского приложения по мере его создания. Почти не записывается никакого кода для рутинных задач. Творческий потенциал сохраняется для действительно проблемных задач программирования, а не пропадает впустую на выравнивание на экране монитора нескольких управляющих элементов, как, например, в Турбо-Паскале. Однако программирование все равно требует большого умения, изобретательности и творческого потенциала. Разработка, основанная на компонентах, оказывается следующим эволюционным шагом в развитии методов программирования.
Visual Basic, также как и Delphi, базируется на языках программирования высокого уровня с визуальным программированием. Delphi - потомок Pascal; Visual Basic происходит от Basic. Оба продукта обладают удобным интерфейсом, который исключает значительную часть рутинной работы, и все же Delphi имеет значительные преимущества перед Visual Basic.
Оба продукта могут показаться близнецами, однако при программировании в среде Visual Basic, в конце концов, приходиться столкнуться с существенными ограничениями. Visual Basic может использовать библиотеки функций (так называемые DLL), но не может создавать новые DLL. В программах на Visual Basic могут применяться пользовательские управляющие средства (VBX) для улучшения их функциональных свойств, но если создать собственный VBX, Visual Basic не сможет в этом помочь.
В Delphi таких ограничений нет. Эта среда умеет не только использовать, но и создавать библиотеки DLL, а ее программы могут, как инициировать, так и обрабатывать практически любые события Windows. Компоненты Delphi (эквивалент VBX) написаны в среде Delphi, поэтому не нужно выходить из системы, чтобы создавать новые компоненты или дорабатывать существующие.
Наконец, Delphi полностью компилирует программу в машинный код, понятный компьютеру. Visual Basic выполняет эту функцию только наполовину, транслируя команды в промежуточный язык, называемый р- кодом. При запуске таких программ Visual Basic интерпретирует р-код в реальные машинные команды. Delphi сразу переходит непосредственно на уровень машинного кода. Преимущество получения машинного кода заключается в скорости выполнения программы.
На основании вышесказанного, а так же прочитанной литературы и опыта программистов фирм: «Формоза-центр», «Инком Банк», «Рос.вооружение» был выбран язык программирования Delphi, как наиболее удобный для работы, а так же обеспечивающий максимальную наглядность и производительность. Данный язык, как никакой другой, поддерживает основные тенденции (направления) современного языка программирования.
Одно направление - объектно-ориентированный подход, хорошо структурирующий задачу, как таковую, так и ее решение в виде прикладной системы.
Другое направление, возникшее во многом благодаря объектной ориентации, - визуальные средства быстрой разработки приложений (RAD - Rapid Application Development), основанные на компонентной архитектуре.
Третья тенденция - использование компиляции, а не интерпретации. Это объясняется тем, что скоростные характеристики компилируемых приложений в десятки раз лучше, чем у систем, использующих интерпретатор. При этом повышается легкость отчуждаемости готовых систем, так как отпадает необходимость "таскать за собой" сам интерпретатор (run-time), выполненный обычно в виде динамической библиотеки и занимающий в лучшем случае несколько сотен килобайт (а большинстве случаев - два-три мегабайта). Отсюда и меньшая ресурсоемкость у скомпилированных систем.
Четвертая тенденция - возможность работы с базами данных универсальными (единообразными) методами. Если мы попытаемся оценить процент систем, которые так или иначе требуют обработки структурированной информации (как для внутрикорпоративного использования, так и для коммерческого или иного распространения), то окажется, что цифра 60 - 70% может представлять лишь нижнюю границу. Важным свойством средств обеспечения доступа к базам данных является их масштабируемость, как возможность не только количественного, но и качественного роста системы. Например, обеспечение перехода от локальных ,в том числе, файл-серверных данных к архитектуре клиент-сервер или тем более к многоуровневой N-tier схеме.
Delphi создавался как продукт, в полной мере реализующий описанные тенденции, с архитектурой, открытой для расширения спектра поддерживаемых стандартов и подходов. Рассмотрим, насколько Delphi удовлетворяет выше перечисленным требованиям.
Delphi использует язык 3-го поколения Object Pascal, обладающий полной реализаций основных признаков объектной ориентации (инкапсуляция, наследование, полиморфизм), поддержкой RTTI-RunTime Type Information и встроенной обработкой исключительных ситуаций (Exception handling). Компонентная архитектура Delphi является прямым развитием поддерживаемой объектной модели. Все компоненты являются объектными типами (классами), с возможностью неограниченного наследования. Компоненты Delphi поддерживают PME-модель (Property, Method, Events), позволяющую изменять поведение компонентов без необходимости создания новых классов.
Delphi 7 включает систему контроля версий Intersolv PVCS, поддерживает работу со словарем данных (Data Dictionary) и Репозиторием объектов (Object Repository). Среда визуальной разработки Delphi позволяет единообразно работать как с предопределенными, так и с пользовательскими компонентами, которые разрабатываются на том же языке (Object Pascal), на котором создаются и конечные приложения.
Borland Database Engine (BDE) обеспечивает единообразную работу с локальными данными (Paradox, dBase) и серверами БД (Oracle, Sybase, MS SQL Server, InterBase и т.д.), за счет применения навигационных методов доступа к серверным СУБД (двунаправленные курсоры, закладки и т.п.) и SQL - к локальным форматам (подмножество Local SQL).
Компилятор Delphi является самым быстрым; имеет общий генератор кода с Borland C++ (Delphi 2 & BC++ 5). Компилятор Delphi (точнее, Object Pascal) является продолжением линии компиляторов Turbo Pascal / Borland Pascal.
Открытые интерфейсы Delphi - Open Tools API - обеспечивают контроль над средой разработки "из вне" и доступ к информации о проекте.
Рисунок 2.1 Borland Database Engine
На выборе языка программирования также сказался тот факт, что Delphi использует уже готовый графический интерфейс Windows. Что значительно облегчает работу и улучшает восприятие материала занятия у конечных пользователей данной программы.
В заключение, на основе анализа языков программирования, можно сказать, что наиболее полно предъявленным требованиям по созданию автоматизированного учебного программного продукта отвечает среда Delphi с языком программирования Object Pascal, поэтому он и выбирается в качестве языка программирования.
2.4 Разработка эмулятора
При разработке и написании практически любой программы, программисту необходимо выполнить следующие действия:
- определить внешний вид программы (интерфейс);
- определить входную информацию;
- определить информацию на выходе;
- разработать способы согласования, разграничения потоков данных;
- разработать способы управления потоками данных;
Каждое действие является функционально-независимым и может быть реализовано на любом этапе программирования. При программировании внешнего вида программы - ее интерфейса, необходимо учитывать индивидуальность позиций каждого человека. При определении входной и выходной информации решаются задачи с выбором типа данных. Разработка способов согласования и управления потоками данных является конечной целью каждой программы.
2.4.1 Состав программного продукта
Эмулятор состоит из следующих частей:
- блок интерфейса (DipProject);
- блок обработки данных (модуль Main);
- блок программных ресурсов (динамическая библиотека Resourses);
- блок вспомогательных процедур (модуль DataSource);
- блок описания (модуль Help);
2.4.2 Блок интерфейса
Программирование внешнего вида программы (пользовательского интерфейса) занимает большой объем не только временных затрат, но и, как показывает практика программирования ведущих специалистов в этой области, - значительного объема участка кода. Это происходит от того, что зрелищность и удобство работы с программой является главным условием спроса на программный продукт.
Рисунок 2.2 Внешний вид (интерфейс) эмулятора
Блок интерфейса находится в головной части программы и называется DipProject. Он содержит основные наборы типизированных процедур работы со стандартным интерфейсом Microsoft Windows, посредством которых формируется общий облик (интерфейс) эмулятора (Рис. 2.2).
Так как необходимо учитывать специфику разрабатываемой программы-эмулятора, то для полной эмуляции диалога пользователя с ОС МВК «Эльбрус» в данном блоке для поля ввода приказов пользователя (см. Рис. 2.2.) были разработаны и запрограммированы следующие ограничения стандартного пользовательского интерфейса Microsoft Windows - запрет нажатия кнопок мыши;
- запрет клавиш перемещения курсора и удаления последнего введенного символа (клавиша «BackSpace»);
- запрет работы со стандартным буфером обмена;
- запрет выделения мышью блоков текста;
- запрет применения стандартных комбинаций клавиш (такие как «Сtrl» + «Insert», «Сtrl» + «Z», «Shift» + «Insert» и другие);
- запрет позиционирования курсора мышью;
- запрет изменения размеров окна программы.
Часть данных запретов реализована с использованием функций WINAPI (Windows Application Programming Interface), что позволило сократить общий объем программы.
Неотъемлемой частью современного интерфейса, обладающего легкостью усвоения и удобством использования, является пользовательское меню. Поскольку эмулятор написан в среде визуального программирования Delphi 7.0, то и меню его является стандартным, привычным и удобным в использовании, характерным практически для любой Windows-программы, а в частности обладает следующими свойствами:
место расположения меню стандартно для всех Windows-программ;
привычный тип вложенности;
стандартные общая структура и вид.
Вид меню представлен на Рисунке 2.3, а схема на Рисунке 2.4
Рисунок 2.3 Пользовательское меню эмулятора
Размещено на http://www.allbest.ru/
Рисунок 2.4 Схема пользовательского меню эмулятора
Как видно из рисунка 2.4 , основными пунктами меню являются пункты: «Работа», «Инструментарий», «Помощь». Элементами подменю для пункта «Работа»: «Старт (рестарт)»; «Загрузить сессию»; «Сохранить сессию»; Выход. Для пункта «Инструментарий» соответственно: «Резерв» и «Настройки». Для пункта «Помощь»: «Руководство пользователя»; «Список запретов»; «О программе».
2.4.3 Блок обработки данных
Блок обработки данных представлен главным модулем программы Main. В нем определяются и реализуются типы входных и выходных данных, способы согласования и разграничения потоков данных, а также процедуры и функции управления этими потоками.
Модуль Main содержит следующие процедуры и функции:
процедура FormActivate - содержит действия инициализации программы;
процедуры реагирования на меню - содержат необходимое количество действий для работы с главным меню программы;
процедура учета отжатия клавиш MainFieldKeyPress - учитывает и регистрирует отжатые пользователем клавиши;
процедура StopButtonClick - процедура регистрации нажатия на кнопку «ВЫКЛ».
Необходимо отметить, что данный модуль управляет взаимодействием всех потоков данных, находящихся в программе (см. Рис. 2.5).
Размещено на http://www.allbest.ru/
Рисунок 2.5 Взаимодействие потоков данных в эмуляторе
В начале работы, модуль Main получает текст приказа, введенного пользователем в поле приказов FieldMain (тип данных - Pchar). После необходимого анализа данного потока, Main передает параметры для выполнения функции введенного пользователем приказа в динамически подключаемую библиотеку функций Resourses.dll (тип данных - Pchar). При завершении действий над приказом пользователя в библиотеке Resourses.dll готовая информация отклика системы на этот приказ пересылается в файл FileOfRes (тип данных - string), после чего данный файл считывается модулем Main для получения необходимой информации о реакции системы на приказ пользователя (тип данных - string). При успешном считывании файла FileOfRes, информация отклика системы на приказ пересылается в поле ввода приказов (тип данных TString). Если приказ пользователя содержал ошибку, о чем его успешно проинформировала система, модуль Main выдает информацию в поле ошибок (тип данных - Tstring). Обмен потоками данных с файлом сессий FileOfSes (тип данных String) осуществляется только в том случае, если пользователь выбрал в меню пункты «Загрузить сессию» или «Сохранить сессию».
2.4.4 Блок программных ресурсов
Блок программных ресурсов в эмуляторе представлен динамически линкуемой библиотекой (Dynamic Link Library) и находится в файле Resourses.dll. Он содержит более 30 функций работы с приказами пользователя, введенными в поле ввода приказов. Каждая функция обрабатывает поступающую от модуля Main информацию и выдает соответствующую реакцию системы на него. Общий принцип построения блока программных ресурсов схож с принципами построения модуля реакций операционных систем современности, то есть обладает следующими свойствами:
динамическое подключение по ходу работы основной программы;
полная реализация приказа введенного пользователем;
большая масштабируемость и адаптивность.
Динамическое подключение важная характеристика программного блока, характерная только для структур, реализованных на основе DLL, и обеспечивающая:
подключение не всего набора функций модуля, а только необходимых для выполнения текущей операции (реагирование на приказ пользователя);
подключение функции модуля DLL, неизвестного на момент компиляции программы (например, по введенному значению или приказу пользователя);
значительная экономия оперативная памяти компьютера. В зависимости от количества процедур или функций от 100% и более (для нашего блока программных ресурсов, в котором реализовано более 30 функций, а подключается всего одна - 3000%);
удобство работы, читаемость и познаваемость программы, поскольку основной объем кода находится в модуле DLL.
Полная реализация приказа пользователя - свойство, обеспечивающее полное и достаточное количество действий программы, необходимых для реализации отклика системы на любой конкретный приказ пользователя.
Масштабируемость и адаптивность - свойства, необходимые на этапах реализации и сопровождения программного продукта, обеспечивающие, в первую очередь, возможность совершенствования и отладки с незначительными временными затратами, а также легкость переноса его с одной программной платформы на другую.
Применение данных свойств при программировании блока программных ресурсов позволило значительно сократить объем оперативной памяти, требуемой для работы эмулятора, повысило масштабируемость и адаптивность блока и увеличило читаемость и понимаемость программы.
В данном модуле (Resourses.dll) реализованы следующие функции (см. Табл. 2.2);
Таблица 2.2
Функции, реализованные в модуле блока программных ресурсов
№п/п |
Название функции |
Выполняемые действия |
|
1. |
IL |
Эмулирование приказа пользователя КН |
|
2. |
AZT |
Эмулирование приказа пользователя ВЫХ |
|
3. |
AE |
Эмулирование приказа пользователя ВЖ |
|
4. |
APQ |
Эмулирование приказа пользователя ВСТ |
|
5. |
CAQA |
Эмулирование приказа пользователя ДАТА |
|
6. |
MP |
Эмулирование приказа пользователя OC |
|
7. |
ODE |
Эмулирование приказа пользователя РЕЖ |
|
8. |
PBX |
Эмулирование приказа пользователя СБЩ |
|
9. |
QAHKDO |
Эмулирование приказа пользователя ТАЙМЕР |
|
10. |
TJF |
Эмулирование приказа пользователя ХЛЗ |
|
11. |
A |
Эмулирование приказа пользователя А |
|
12. |
E |
Эмулирование приказа пользователя Ж |
|
13. |
FI |
Эмулирование приказа пользователя ЗК |
|
14. |
G |
Эмулирование приказа пользователя И |
|
15. |
NAA |
Эмулирование приказа пользователя ПВВ |
|
16. |
NO |
Эмулирование приказа пользователя ПР |
|
17. |
P |
Эмулирование приказа пользователя С |
|
18. |
PF |
Эмулирование приказа пользователя СЗ |
|
19. |
RCA |
Эмулирование приказа пользователя УДА |
|
20. |
AR |
Эмулирование приказа пользователя АУ |
|
21. |
OQ |
Эмулирование приказа пользователя РТ |
|
22. |
CK |
Эмулирование приказа пользователя ДМ |
|
23. |
IPL |
Эмулирование приказа пользователя КСН |
|
24. |
PMF |
Эмулирование приказа пользователя СОЗ |
|
25. |
KRP |
Эмулирование приказа пользователя МУС |
|
26. |
NOV |
Эмулирование приказа пользователя ПЕЧ |
|
27. |
GKA |
Эмулирование приказа пользователя ИМЯ |
|
28. |
GLPQO |
Эмулирование приказа пользователя ИНСТР |
|
29. |
MNDOR |
Эмулирование приказа пользователя ОПЕРУ |
|
30. |
IPRK |
Эмулирование приказа пользователя КСУМ |
|
31. |
PBOMP |
Эмулирование приказа пользователя СБРОС |
|
32. |
StartName |
Функция запроса имени пользователя и его пароля |
|
33. |
Pol |
Эмулирование приказа пользователя ПОЛ |
2.4.5 Блок вспомогательных процедур
Блок вспомогательных процедур эмулятора представлен модулем DataSource и предназначен для обеспечения дополнительных функций, необходимых в ходе работы главного модуля Main, а также для дальнейшей модернизации и отладки эмулятора. Его основное назначение - это совершенствование эмулятора, посредством написания пользователем любых процедур и функций, подключаемых к главному модулю.
Программное поле модуля DataSource содержит одну единственную процедуру для работы со строками ReplaceString, используемую главным модулем Main.
2.4.6 Блок описания
Блок описания реализован в модуле Help и предназначен для информативного обеспечения пользователя и осуществления работы основного пункта меню «Помощь».
Модуль Help содержит необходимые процедуры и функции, обеспечивающие вывод по желанию пользователя следующей справочной информации:
информация о горячих клавишах, реализованных в эмуляторе;
общая информация о программе и ее разработчике;
руководство пользователя.
2.5 Описание работы эмулятора
Поскольку эмулятор написан в среде визуального программирования Borland Delphi 7.0, то на начальном этапе работы происходит инициализация стандартных процедур и переменных среды, формирование пользовательского интерфейса.
После этого перед запуском основной формы программы обрабатывается событие Main.OnActivate для задания определенных параметров и режимов, в частности устанавливается запрет на изменение размеров формы главного модуля Main.
По завершению обработки события OnActivate, открывается главное окно программы, и пользователь получает управление. Теперь он может использовать все функции меню программы, а также имеет возможность работать в поле ввода приказов.
Система ожидает действий со стороны пользователя и при выборе пунктов меню реагирует следующим образом.
1. Пункт «Старт (Рестарт)» (см. Рис. )- запуск (перезапуск) эмулятора осуществляется посредством обнуления поля приказов MainField (MainField.Lines.Text:='') и инициализации переменных.
2. Пункт «Сохранить сессию» - сохраняет текущую сессию через запись всего поля приказов MainField в текстовый файл FileOfSession (MainField.Lines.Text > FileOfSession).
3. Пункт «Загрузить сессию» - загружает, раннее сохраненную сессию, восстанавливая поле приказов MainField из текстового файла FileOfSession (FileOfSession >MainField.Lines.Text).
4. Пункт «Выход» - осуществляет завершение программы, исполняя процедуру Halt.
5. Пункт «Резерв» - данный пункт зарезервирован для сохранения возможности модернизации и отладки.
6. Пункт «Настройки» - открывает окно опций.
7. Пункт «Руководство пользователя» - предназначен для получения справочной информации по эксплуатации программы.
8. Пункт «Список горячих клавиш» - выводит на экран список реализованных в программе горячих клавиш.
9. Пункт «О программе» - осуществляет показ информации о назначении программы, о создателе.
Если пользователь работает в поле приказов, то система ожидает от него ввода имени и пароля, после чего приглашает его к вводу приказов, реализованный в системе универсального языка управления.
При получении отклика от пользователя (то есть после ввода приказа и нажатию клавиши «ВВОД») программа анализирует полученную от него информацию и в переменные Command и MainDataString записывает введенную команду и ее параметры соответственно. После чего происходит подключение функции из Resourses.dll по имени, находящемуся в переменной Command и ее исполнение с параметрами, хранящимися в переменной MainDataString (см. Табл. 2.3).
Таблица 2.3 Приказы ОС МВК «Эльбрус», реализованные в эмуляторе
№ п/п |
Название функции |
Параметры функции |
Описание функции |
|
34. |
КН |
<внешнее имя> |
Сменить контекст |
|
35. |
ВЫХ |
Параметры не нужны |
Выход из диалога |
|
36. |
ВЖ |
<делиметр> - <текст>-<делиметр> |
Занести сообщение в системный журнал |
|
37. |
ВРЕМЯ |
<Время> |
Показать, установить время |
|
38. |
ДАТА |
<Дата> |
Показать, установить дату |
|
39. |
OC |
Параметры не нужны |
Показать версию ОС |
|
40. |
РЕЖ |
Параметры не нужны |
Выдать список режимов |
|
41. |
СБЩ |
Параметры не нужны |
Выдать последние 10 сообщений системы польщователю |
|
42. |
ТАЙМЕР |
<целое> |
Установить таймер |
|
43. |
ХЛЗ |
<№ устройства> |
Копирование работающей ОС на барабан или диск, указанный в качестве № устройства |
|
44. |
А |
Параметры не нужны |
Вывести информацию об активных задачах |
|
45. |
Ж |
Параметры не нужны |
Список ждущих задачи |
|
46. |
ЗК |
Параметры не нужны |
Список 10 последних оконченных задач |
|
47. |
И |
<№ задачи> |
Вывод информации о ресурсах задач |
|
48. |
ПВВ |
<№ устройства> |
Повторить обмен с устройством |
|
49. |
ПР |
<№ задачи>-:<целое> |
Выдать приоритет заданной задачи |
|
50. |
С |
Параметры не нужны |
Вывести состояние задач |
|
51. |
СЗ |
<№ задачи> |
Вывести информацию о задаче |
|
52. |
УДА |
<№ процесса>-<тип периф. уст-ва>-<№ устройства> |
Удалить объект |
|
53. |
АУ |
<№ устройства> |
Активизировать устройство |
|
54. |
РТ |
АКТ или ПРИГЛ |
Установить режим работы терминала |
|
55. |
ДМ |
<№ устройства> |
Демонтировать носитель |
|
56. |
КСН |
<№ устройства> |
Показать контекст |
|
57. |
СОЗ |
<компонента создания> |
Создать файл |
|
58. |
МУС |
<внешнее имя> |
Очистить контейнер |
|
59. |
ПЕЧ |
<внешнее имя>-:<процесс> |
Печать информации |
|
60. |
ИМЯ |
Параметры не нужны |
Выдать имя пользователя |
|
61. |
ИНСТР |
Параметры не нужны |
Выдать на печать инструкцию |
|
62. |
ОПЕРУ |
<делиметр> - <текст>-<делиметр> |
Оповестить оператора |
|
63. |
КСУМ |
<внешнее имя> |
Подсчет контрольной суммы контейнера |
|
64. |
СБРОС |
Параметры не нужны |
Сбросить признак предыдущего приказа |
|
65. |
ПОЛ |
<ИМЯ> |
Сменить пользователя |
В случае отсутствия функции в модуле Resourses.dll система принимает решение о неверности ввода приказа пользователем или его нереализованности в данном эмуляторе (см. список реализованных приказов в Табл. 3.3) и передает управление пользователю для повторного ввода.
Подобные документы
Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Общие понятия об e-learning. Области применения продукта. Модели и технологии. Исследование и анализ программных инструментов. Создание учебного курса для преподавателей инженерно-экономического факультета. Оценка эффективности внедрения такого обучения.
дипломная работа [4,7 M], добавлен 03.05.2018Цель и область применения логической поддержки когерентности в Эльбрус/МЦСТ-ХR. Построение системы с 16 процессорами. Решение проблемы пропускной способности в линках. Особенности существующего протокола когерентности. Организация справочника и фильтра.
презентация [403,1 K], добавлен 03.06.2012Общие сведения о предприятии "Гранит-ВТ". Основной вид деятельности - производство вычислительных модулей общего назначения. Разработка программы, предназначеной для автоматизированной проверки версий всех компонентов изделия. Алгоритм работы программы.
отчет по практике [33,8 K], добавлен 23.12.2009Создание программного продукта, предназначенного для автоматизированного учета гостиничных номеров, упрощения работы с базой данных, обеспечения быстрого поиска. Автоматизация резервирования номеров и регистрация постояльцев. Разработка экранных форм.
курсовая работа [1,8 M], добавлен 08.01.2014Написание программы, реализующей алгоритм RLE, позволяющий кодировать, декодировать файлы любого формата и размера, предоставлять пользователю информацию о степени их сжатия. Анализ эффективности кода. Экспериментальная оценка алгоритма программы.
контрольная работа [151,7 K], добавлен 29.05.2013Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Расчет издержек предприятия на разработку программного продукта и экономической эффективности от его внедрения. Топология физических связей и структуризация сети. Характеристика программного обеспечения. Средства автоматизации, описание алгоритма задачи.
дипломная работа [867,6 K], добавлен 05.11.2015Общие сведения о системах автоматизированного проектирования и детальное изучение программного продукта французской фирмы CATIA. Применение поддержки жизненного цикла изделия, описание продуктов и модулей программы при проектировании поверхностей.
реферат [5,5 M], добавлен 24.01.2011Технико-экономическое описание предметной области и разработка программного проекта по автоматизации рабочего места менеджера по клининговым услугам. Разработка этапов внедрения программного продукта и расчет экономической эффективности его внедрения.
дипломная работа [2,1 M], добавлен 12.04.2014