• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Computer architecture and operating systems. Python programming language

2020/2021
Academic Year
RUS
Instruction in Russian
9
ECTS credits
Delivered at:
Department of Applied Mathematics and Informatics (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Compulsory course
When:
2 year, 3, 4 module

Instructor


Токарев Александр Геннадьевич

Программа дисциплины

Аннотация

Целями освоения данной дисциплины являются как получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне, так и приобретение практических навыков программирования на языке Ассемблер. Также пройти курс по изучению языка программирования 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. Программирование простейшего консольного приложения.
Элементы контроля

Элементы контроля

  • неблокирующий Итоговый тест
  • неблокирующий Лабораторная работа 1
  • неблокирующий Лабораторная работа 2
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (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