- •Программа государственного экзамена
- •Пояснительная записка
- •Основные задачи государственного экзамена
- •Содержание государственного экзамена
- •Структура экзаменационного билета
- •Требования к ответу на вопросы экзаменационного билета
- •Критерии оценки ответа
- •Программа
- •I. Общепрофессиональные дисциплины
- •Раздел 1. Программирование на языке высокого уровня
- •Динамический тип данных, линейные динамические структуры данных: стек, очередь, списки; нелинейные динамические структуры данных: мультисписки, деревья.
- •Процедуры и функции: описание, вызов, передача параметров, программирование рекурсивных алгоритмов.
- •Раздел 2. Компьютерная графика
- •Раздел 3. Организация эвм и систем
- •Архитектура эвм, периферийные устройства, организация ввода-вывода информации.
- •Системы эвм: вычислительные системы и сети, сопроцессоры, мультипроцессорные вычислительные системы, матричные и конвейерные вычислительные системы, связные устройства, модемы, протоколы обмена.
- •Раздел 4. Операционные системы
- •Виртуальная память: страничная, сегментная, сегментно-страничная организация памяти, коллективное использование и защита информации; файлы, отображаемые в память.
- •Файловая система ос: состав, управление, типы файловых систем; логическая и физическая организация файла, методы доступа, операции над файлами, отображаемые файлы.
- •Раздел 5. Базы данных
- •Управление транзакциями, сериализация транзакций (синхронизационные захваты, метод временных меток), изолированность пользователей.
- •Архитектура "клиент-сервер": открытые системы, клиенты и серверы локальных сетей, системная архитектура "клиент-сервер", серверы баз данных.
- •Распределенные бд: разновидности распределенных систем, распределенная субд System r, интегрированные или федеративные системы и мультибазы данных.
- •Раздел 6. Сети эвм и телекоммуникации
- •Передача дискретных данных: линии связи, методы передачи дискретных данных на физическом уровне, методы передачи данных канального уровня, методы коммутации.
- •Средства анализа и управления сетями: функции и архитектура систем управления сетями, стандарты систем управления, мониторинг и анализ локальных сетей.
- •Раздел 7. Методы и средства защиты компьютерной информации
- •Безопасность компьютерных сетей: протоколы сетевой безопасности, программно-аппаратные комплексы защиты сетей.
- •Безопасность современных ос и программных комплексов, вредоносные программы, системы обнаружения вторжений, комплексный подход к проектированию и анализу защищенных ис.
- •Раздел 8. Системное программирование
- •Организация ячеек памяти, регистры, форматы команд.
- •Ассемблер: основные понятия, директивы, команды. Условный и безусловный переходы. Циклы. Массивы. Процедуры. Упакованные данные. Структуры.
- •Защищенный режим процессора Intel 80386: страничная адресация, переключение контекста, использование возможностей защищенного режима различными ос.
- •Раздел 9. Структуры и алгоритмы обработки данных
- •Абстрактный тип данных. Линейные и нелинейные структуры данных. Стек, очередь, списки, деревья, графы.
- •Алгоритмы сортировки: методы внутренней и внешней сортировки, анализ сложности и эффективности алгоритмов сортировки.
- •Алгоритмы поиска: последовательный, бинарный, интерполяционный поиск, использование деревьев в задачах поиска; хеширование с открытой и закрытой адресацией; алгоритмы поиска подстроки в строке.
- •Раздел 10. Функциональное и логическое программирование
- •Принципы функционального программирования: программирование при помощи функций, функциональность, основные свойства функциональных языков, язык программирования Лисп, рекурсия.
- •Функционалы: функциональное значение функции, способы композиции функций, функции более высокого порядка.
- •Раздел 11. Объектно-ориентированное программирование
- •Параметрический полиморфизм: шаблонные классы и шаблонные функции - назначение, параметризованные типы данных, синтаксис и семантика.
- •Раздел 12. Теория вычислительных процессов
- •Элементы теории вычислимости: вычислимость и разрешимость, интуитивное и точное понятие алгоритма, вычислимые функции, машина Тьюринга, массовые алгоритмические проблемы.
- •Раздел 13. Теория языков программирования и методы трансляции
- •Раздел 14. Архитектура вычислительных систем
- •Раздел 15. Технология разработки программного обеспечения
- •1 Область применения
- •Структуры данных: несвязанные, с неявными связями, с явными связями; иерархические модели Джексона-Орра; моделирование данных – диаграммы «сущность-связь» (erd); метод Баркера; метод idef1.
- •Разработка структуры по при объектом подхода
- •Раздел 16. Человеко-машинное взаимодействие
- •Типы пользовательских интерфейсов и этапы их разработки, психофизические особенности человека, связанные с восприятием, запоминанием и обработкой информации.
- •Раздел 17. Системы искусственного интеллекта
- •Системы распознавания образов (идентификации): обучение распознаванию образов, геометрический и структурный подходы, гипотеза компактности, адаптация и обучение.
- •Эволюционные методы поиска решений: метод группового учета аргументов, генетический алгоритм.
- •Экспертные системы: классификация и структура; инструментальные средства проектирования, разработки и отладки; этапы разработки; примеры реализации.
- •Раздел 18. Проектирование информационных систем
- •Архитектуры реализации корпоративных информационных систем на платформах Sun, Microsoft, Linux.
- •Раздел 19. Сетевые операционные системы
- •Основные концепции ос семейства Windows nt: особенности установки, конфигурирования, администрирования, оптимизации производительности.
- •Администрирование удаленного доступа к сетям Windows, взаимодействие с сетями tcp/ip, взаимодействие с сетями NetWare, средства просмотра сетевых ресурсов.
- •Основные концепции ос unix/Linux, средства графического интерфейса пользователей, основные механизмы и компоненты ядра, программирование в среде unix /Linux.
- •Основные концепции ос NetWare, проектирование Novell Directory Services, поддержка ос NetWare.
- •Администрирование ос NetWare, дополнительные средства ос NetWare: средства защиты nds для nt, встроенные утилиты администрирования сети.
- •Раздел 20. Комплексные программные платформы
- •Системы планирования ресурсов предприятия (erp). Основные понятия, принципы, подсистемы.
- •Методология внедрения erp-систем.
- •Раздел 21. Программное обеспечение распределенных систем и сетей
- •Раздел 22. Разработка корпоративного web-узла
- •Перечень литературы
- •Перечень основных стандартов в области обеспечения жизненного цикла и качества программных средств
Ассемблер: основные понятия, директивы, команды. Условный и безусловный переходы. Циклы. Массивы. Процедуры. Упакованные данные. Структуры.
Директивы представляют собой команды транслятору языка ассемблера. Эти команды, в основном, определяют параметры трансляции программы. По функциональному назначению, директивы можно разделить на следующие группы:
директивы управления размещением данных;
директивы связи модулей программы;
директивы создания элементов программы;
директивы условной компиляции;
прочие директивы.
Директивы управления размещением данных позволяют определить ячейки памяти программы, их тип, количество и задать начальные значения.
Директивы связи модулей программы предназначены для управления связыванием различных модулей в одну программу. Используются, в основном, при написании больших программ или библиотек.
Директивы создания элементов программы позволяют создавать такие элементы программы, как программные сегменты, структуры, процедуры и макросы. Эти директивы используются в любой программе написанной на языке ассемблера.
Директивы условной компиляции предназначены для обозначения фрагментов программы, обрабатываемых транслятором в зависимости от определенных условий.
Все директивы ассемблера записываются в виде символьных операторов. Некоторые директивы могут располагаться в любом месте программы, другие – только в определенных местах или между определенными директивами. Директива не преобразуется в машинную команду процессора, а лишь влияет на трансляцию программы и определяет параметры трансляции. Рассмотрим расположение кодов и данных в пределах одного программного сегмента. Особенностью МП 8086 является то, что и коды команд и данные хранятся в одной области памяти размером 1 Мб. Не существует способа определить, является ли какая-либо последовательность байт командой процессора или данными программы. Если в программном сегменте среди команд располагаются и данные, то процессор при выполнении команд может дойти до данных и попытаться «выполнить» эти данные, так как интерпретирует их как команды. Поэтому при размещении данных в одном сегменте с командами следует избегать передачи управления процессора с команд на данные. Это можно выполнить несколькими способами:
перед данными поставить команду безусловного перехода так, чтобы управление передавалось на следующую после данных команду – таким образом, процессор как бы «обходит» данные и приступает к выполнению следующей команды;
разместить данные в конце программного сегмента, а перед ними поставить вызов какой-либо функции DOS, завершающей выполнение программы.
Защищенный режим процессора Intel 80386: страничная адресация, переключение контекста, использование возможностей защищенного режима различными ос.
С помощью введенных 4-х уровней привилегий (0,1,2,3) в 386+ введен принцип мандатного ограничения доступа. При исполнении процесса ему присваивается текущий уровень привилегии (изначально предполагается, что ядро ОС – 0 уровень, пользовательское приложение – 3 уровень, 1 и 2 уровни на усмотрения ОС). При вызове процедур или при переходе между сегментами разрешается использовать код, имеющий более высокий уровень привилегии, при этом уровень привилегии текущего процесса не изменяется. Если необходимо изменение (повышение обычно уровня привилегии), то используются шлюзы переходов. При вызове подобного прерывания меняется уровень привилегии процесса, процесс переходит на другой сегмент, стек.
Контекст задачи – структура данных, описывающая текущее содержимое регистров, селекторов сегментов, флагов, текущих значений привилегий и др. информация, используемая для аппаратного переключения между процессами.
В процессорах 80386 преодолено жесткое ограничение на длину непрерывно сегмента памяти и составляет 64Кбайта. В защищенном режиме 32 разрядных процессоров оно отодвинулось до 4Гбайт. Процессоры могут работать в 2 режимах: Real address mode – режим реальной адресации, полностью совместим с 8086(этом режиме возможна адресация до 1мб); Protected Virtual Address mode – защищенный режим (в этом режиме возможна адресация до 4гб физической памяти).
Страница в 80386 имеет длину 4к байт. Этот размер находится в согласии с промышленной тенденцией к увеличению длины страниц и ведет к увеличению производительности по двум направлениям. Во-первых, он обеспечивает хорошее отношение показаний страниц в кэш при данном объеме кэш-памяти. Во-вторых, 4кбайтов являются эффективным размером блока для дисковых передач.
80386 включает страничный механизм, устанавливая бит PG в управляющем регистре 0 при помощи привилегированной команды. Когда страничный механизм включен, процессор транслирует линейный адрес в физический адрес, используя страничные таблицы. Страничные таблицы являются частью таблиц дескрипторов сегментов. Так же как таблицы дескрипторов сегментов задачи определяют ее логическое адресное пространство, страничные таблицы задачи определяют ее линейное адресное пространство. Аналогично супер-мини-эвм и большим эвм страничные таблицы 80386 организованы по принципу двухуровневой иерархии. Каждая задача может иметь справочник системных таблиц. Системный регистр CR3 процессора 80386 (база справочника системных таблиц) указывает на справочник страничных таблиц работающей задачи. Процессор обновляет регистр CR3 при каждом переключении задачи, получая новый адрес задачи из TSS(сегмент состояния задачи) новой задачи. Справочник страничных таблиц имеет длину, равную одной странице и содержит элементы страничной таблицы описывают 1024 страницы. Таким образом, каждая страничная таблица описывает 4м байта, а оглавление может описать до 4г байт - максимальное адресное пространство.
Windows графическая 32 разрядная многозадачная ОС. Windows 1) основана на защищенном 386+; 2) динамически загружаемые библиотеки DLL. Блок программного кода, который по требованию может быть загружен в ОЗУ, используется несколькими программами одновременно и может быть выгружен в тот момент когда надобность в нем отпадает. (exe ->dll->dll). Основные DLL это Kernel, работа с файлами, потоками, процессами, событиями, сообщениями, системными часами, управление памятью, загрузка библиотек, запуск и остановка процесса.
Advapi32 – системный log файл.
Gdi32 – графический интерфейс.
User32 - клавиатура, мышь, сообщения пользователю и высоко уровненная работа с графическим интерфейсом.
II. СПЕЦИАЛЬНЫЕ ДИСЦИПЛИНЫ