Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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 как удачный пример мобильной операционной системы. Общая философия и основные технические решения (файлы, память, процессы, командный язык).

 

Литература:

  1. Малер Р., Кейминс Т. Элементы интегральных схем. М.:МИР, 1989 г.
  2. Ферри Д.,Эйкерс Л., Гринвич Э. Электроника ультрабольших интегральных схем. М.:МИР, 1991 г.
  3. Дж. Фрир. Построение вычислительных систем на базе перспективных микропроцессоров. М.:МИР, 1999 г.
  4. И.П. Норенков, В.Б. Маничев. Системы автоматизированного проектирования электронной и вычислительной аппаратуры. М.: Высшая школа, 1983 г.
  5. Б. Керниган, Д. Ритчи. Язык программирования Си. М.:Вильямс, 2007 г.
  6. С. Баурн. Операционная система UNIX. М.: МИР, 1986 г.
  7. К.Арнольд, Дж. Гослинг. Язык программирования JAVA. С-Петербург: Питер, 1997
  8. Д. Грис. Наука программирования. М.:МИР, 1984 г.

Date: 2015-10-19; view: 892; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию