Бакалавриат
2020/2021




Архитектура компьютера и операционные системы. Язык программирования Python
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс обязательный (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Когда читается:
2-й курс, 3, 4 модуль
Формат изучения:
с онлайн-курсом
Преподаватели:
Токарев Александр Геннадьевич
Язык:
русский
Кредиты:
9
Контактные часы:
84
Программа дисциплины
Аннотация
Целями освоения данной дисциплины являются как получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне, так и приобретение практических навыков программирования на языке Ассемблер. Также пройти курс по изучению языка программирования Python.
Цель освоения дисциплины
- Получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне
- Приобретение практических навыков программирования на языке Ассемблер
- Изучение языка программирования Python
Планируемые результаты обучения
- Знает программную модель микропроцессорных систем и организацию памяти.
- Знает методы адресации. Знает основные группы команд процессора Intel 8086.
- Знает формат записи команд. Знает простейшие программы ввода/вывода.
- Знает язык ассемблер, знает трансляцию получение объектного модуля, ключи программы tasm, редактирование связей, получение загрузочного модуля, ключи программы tlink.
- Знает функции операционной системы и программы ввода/вывода. Использует функции прерывания int 21h операционной системы для различных задач.
- Умеет работать с файлами в DOS. Знает дескрипторы, описание функций операционной системы для работы с файлами. Понимает примеры программ создания, чтения файлов.
- Умеет обрабатывать аргументы командной строки
- Знает векторную систему прерываний. Знает распределение адресного пространства. Понимает программы обработки прерываний. Умеет использовать стек при прерываниях.
- Знает эволюцию системы прерываний. Чтение и установка вектора прерываний. Знает контроллер прерываний и его функционирование. Знает обработчики программных и аппаратных прерываний.
- Знает понятие резидентной программы.Знает способы передачи управления в системный обработчик и защиту от повторной загрузки. Умеет сделать выгрузку резидентной программы и переключить стек в резидентной программе. Подключение собственного обработчика прерываний до системного, после системного и как до так и после системного. Обработчик прерываний от клавиатуры, кольцевой буфер. Разбор примеров резидентных программ.
Содержание учебной дисциплины
- Программная модель микропроцессорных систем и организация памяти.Развитие компьютерных систем – технология, поколения, перспективы. Обзор основных архитектур ЭВМ. Программная модель микропроцессорной системы. Программно доступные регистры процессора, память, регисты ввода/вывода. Сегментная организация памяти
- Команды и адресация. Простейшие программы.Методы адресации. Основные группы команд процессора Intel 8086. Язык ассемблер, мнемоника команд. Получение загрузочного модуля. Разбор примеров простейших программ
- Основы программирования на языке ассемблер.Формат записи команд. Простейшие программы ввода/вывода.
- Разработка программ на языке ассемблер для MS DOS.Ассемблер, трансляция получение объектного модуля, ключи программы tasm, редактирование связей, получение загрузочного модуля, ключи программы tlink.
- Использование функций прерывания DOS.Обзор функций операционной системы. Программы ввода/вывода. Использование функций прерывания int 21h операционной системы для различных задач. Функции BIOS – обзор и использование
- Работа с файлами.Работа с файлами в DOS. Дескрипторы, описание функций операционной системы для работы с файлами. Примеры программ создания, чтения файлов.
- Работа с командной строкой.Обработка аргументов командной строки
- Система прерываний.Векторная система прерываний. Распределение адресного пространства. Программы обработки прерываний. Использование стека при прерываниях.
- Архитектура контроллера прерываний.Эволюция системы прерываний. Чтение и установка вектора прерываний. Контроллер прерываний и его функционирование. Обработчики программных и аппаратных прерываний.
- Разработка резидентных программ.Резидентная программа. Способы передачи управления в системный обработчик. Защита от повторной загрузки. Выгрузка резидентной программы. Переключение стека в резидентной программе. Подключение собственного обработчика прерываний до системного, после системного и как до так и после системного. Обработчик прерываний от клавиатуры, кольцевой буфер. Разбор примеров резидентных программ.
- Разработка программ ввода/вывода с использованием BIOSСистемные возможности BIOS для организации ввода/вывода
- Непосредственный вывод в видеобуфер.Логическая организация текстового видеобуфера. Знакоместо, атрибуты символа. Непо- средственный вывод в видеобуфер, целесообразность использования. Строковые команды. Примеры программ вывода непосредственно в видеобуфер.
- Связь программ на ассемблере с программами на языке СПередача параметров из программ на языке С в подпрограмму-функцию на языке ассемблер
- Структуры и записи.Примеры программ. Метка тома.
- Основы организации Windows. WinAPI.События, очереди сообщений, ресурсы. Библиотеки динамической загрузки. Интерфейс WinAPI
- Разработка программ на языке ассемблер под Windows.Разработка программ под Windows. Программирование простейшего консольного приложения.
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.4 * Итоговый тест + 0.3 * Лабораторная работа 1 + 0.3 * Лабораторная работа 2
Список литературы
Рекомендуемая дополнительная литература
- Сузи Р.А. - Язык программирования Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 350с. - ISBN: 5-9556-0058-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100546
- Язык программирования Python: практикум : учеб. пособие / Р.А. Жуков. — М. : ИНФРА-М, 2019. — 216 с. + Доп. материалы [Электронный ресурс; Режим доступа: http://www.znanium.com]. — (Высшее образование: Бакалавриат). — www.dx.doi.org/10.12737/textbook_5cb5ca35aaa7f5.89424805.
- Язык программирования Python: практикум : учебное пособие / Р.А. Жуков. — Москва : ИНФРА-М, 2020. — 216 с. + Доп. материалы [Электронный ресурс]. — (Высшее образование: Бакалавриат). — www.dx.doi.org/10.12737/textbook_5cb5ca35aaa7f5.89424805. - Режим доступа: http://znanium.com/catalog/product/1045700
- Язык программирования Python: практикум : учебное пособие / Р.А. Жуков. — Москва : ИНФРА-М, 2020. — 216 с. + Доп. материалы [Электронный ресурс]. — (Среднее профессиональное образование). - Текст : электронный. - URL: http://znanium.com/catalog/product/1044193