Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Математическое обеспечение вычислительных систем
6.1. Системы и языки программирования, их классификация по разным критериям. 6.2. Скалярные типы языков типа С. Простые переменные, массивы, перечислимый тип. 6.3. Структура языка С как пример типа, определяемого пользователем. Тип и объект. 6.4. Процедурный механизм в алгоритмических языках. Методы реализации для языков типа С и Фортран. Способы передачи фактических параметров. Указатели на процедуру. 6.5. Классы" в языках C++ и Джава. Скрытая и интерфейсная части типа. Получение экземпляров классов (объектов). Конструкторы и деструктуры. Использование классов при программировании сложных систем как дальнейшее развитие модульного программирования. 6.6. Наследование классов. Правила формирования нового типа. Конструкторы наследуемого и выводимого типов, их взаимодействие. Правила приведения типов по цепочке наследования. Виртуальные функции. Множественное наследование. 6.7. Переопределение операций в Языке C++ как средство повышения абстрактности и универсальности программ. Примеры переопределения бинарных, унарных, пре- и пост-фиксных операций. Полиморфизм. Приоритеты при обработке управляющих символов, таких как "()". 6.8. Ситуационный механизм как средство взаимодействия вызывающей и вызываемой процедур. "Порождение" и "перехват" исключений в C++ и Джава. Тгу-блок. Реализация механизма исключений на стеке. 6.9. Основные концепции системы Джава. Входной язык, его отличия от C++. Концепция защищенного программирования. Независимость от платформы. Общая характеристика окружения. 6.10. Распараллеливание программ для современных ЭВМ. Модели и виды параллелизма. 6.11. Глобальные (меж- и внутри-процедурные) анализ и оптимизации. Анализ потоков управления и данных. Классические прямые и обратные алгоритмы анализа и оптимизации (распространение констант, вычисление "живых" переменных). 6.12. Анализ потока управления. Структурированные и неструктурированные программы. 6.13. Разметка графа. Понятие критического пути. Оптимизация "втягивание в альтернативу". Устранение ложных информационных зависимостей. Оптимизация дозированным добавлением операций управления. Использование алгебраических свойств операций. 6.14. Методы оптимизации циклов. Вынесение инвариантов. Индуктивные переменные. 6.15. Анализ зависимостей в циклах. Индексный анализ как задача целочисленного программирования. Решение систем линейных диофантовых уравнений. Экономные методы решения целочисленных неравенств. Метод Фурье-Моцкина, Выявление направлений и дистанций информационных зависимостей. 6.16. Оптимальное планирование потока команд. Алгоритмы компактировки кода (приоритетное планирование списков с оптимальным назначением исполнительных устройств для ациклических программ и конвейеризованных циклов). 6.17. Стратегия распределения аппаратных ресурсов при компактировке кода. 6.18. Понятие об архитектуре вычислительных систем. "Аппаратная" и "программная" компоненты архитектуры. Различные типы архитектур и их примеры. 6.19. Основные компоненты современных операционных систем и их характеристики. 6.20. Управление памятью в современных операционных системах. Проблематика отображения адресного пространства. Сегментная, страничная и сегментно-страничная организация. Фрагментация памяти (внутренняя, внешняя). Мусорщики 6.21. Управление процессами и задачами. Понятие процесса. Классификация Методы синхронизации (семафоры, мониторы). Потоки Джава, как пример реализации мониторов в языке программирования. 6.22. Управление файлами. Структура файловых систем, стратегии распределения и защиты ресурсов, управление информацией. 6.23. ОС UNIX как удачный пример мобильной операционной системы. Общая философия и основные технические решения (файлы, память, процессы, командный язык).
Литература:
|