We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

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

Computer Architecture and Operating Systems

2021/2022
Academic Year
RUS
Instruction in Russian
6
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

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

Аннотация

Целями освоения данной дисциплины являются как получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне, так и приобретение практических навыков программирования на языке Ассемблер. Также пройти курс по изучению языка программирования Python.
Цель освоения дисциплины

Цель освоения дисциплины

  • Получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне
  • Пиобретение практических навыков программирования на языке Ассемблер
  • Приобретение практических навыков программирования на языке Ассемблер
  • Изучение языка программирования Python
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает библиотеки динамической загрузки и умеет пользоваться интерфейсом WinAPI.
  • Знает векторную систему прерываний, умеет использовать стек при прирываниях
  • Знает логическую организацию текстового видеобуфера, умеет выводить в видеобуфер
  • Знает методы адресации, основные группы команд процессора Intel 8086
  • Знает обработчики программных и аппаратных прерываний.
  • Знает основные понятия раздела и примеры программ
  • Знает основные понятия раздела и программно доступные регистры процессора, память, регистры ввода/вывода
  • Знает основные понятия раздела, умеет редактировать связи, получать загрузочный модуль
  • Знает Системные возможности BIOS для организации ввода/вывода
  • Знает способы передачи управления в системный обработчик, умеет выгружать резидентные программы
  • Знает Формат записи команд. Простейшие программы ввода/вывода.
  • Знает функции операционной системы, программы ввода/вывода, умеет использовать функции прерывания int 21h операционной системы для различных задач
  • Умеет передавать параметры из программ на языке С в подпрограммуфункцию на языке ассемблер
  • Умеет работать с файлами в DOS и обрабатывать аргументы командной строки
  • Умеет разрабатывать программы на языке ассемблер под Windws
  • Знает векторную систему прерываний. Знает распределение адресного пространства. Понимает программы обработки прерываний. Умеет использовать стек при прерываниях.
  • Знает методы адресации. Знает основные группы команд процессора Intel 8086.
  • Знает понятие резидентной программы.Знает способы передачи управления в системный обработчик и защиту от повторной загрузки. Умеет сделать выгрузку резидентной программы и переключить стек в резидентной программе. Подключение собственного обработчика прерываний до системного, после системного и как до так и после системного. Обработчик прерываний от клавиатуры, кольцевой буфер. Разбор примеров резидентных программ.
  • Знает программную модель микропроцессорных систем и организацию памяти.
  • Знает формат записи команд. Знает простейшие программы ввода/вывода.
  • Знает функции операционной системы и программы ввода/вывода. Использует функции прерывания int 21h операционной системы для различных задач.
  • Знает эволюцию системы прерываний. Чтение и установка вектора прерываний. Знает контроллер прерываний и его функционирование. Знает обработчики программных и аппаратных прерываний.
  • Знает язык ассемблер, знает трансляцию получение объектного модуля, ключи программы tasm, редактирование связей, получение загрузочного модуля, ключи программы tlink.
  • Умеет обрабатывать аргументы командной строки
  • Умеет работать с файлами в DOS. Знает дескрипторы, описание функций операционной системы для работы с файлами. Понимает примеры программ создания, чтения файлов.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Программная модель микропроцессорных систем и организация памяти.
  • Программная модель микропроцессорных систем и организация памяти.
  • Команды и адресация. Простейшие программы.
  • Команды и адресация. Простейшие программы.
  • Основы программирования на языке ассемблер.
  • Основы программирования на языке ассемблер.
  • Разработка программ на языке ассемблер для MS DOS.
  • Разработка программ на языке ассемблер для MS DOS.
  • Использование функций прерывания DOS.
  • Использование функций прерывания DOS.
  • Работа с файлами.
  • Работа с файлами.
  • Работа с командной строкой.
  • Работа с командной строкой.
  • Система прерываний.
  • Система прерываний.
  • Архитектура контроллера прерываний.
  • Архитектура контроллера прерываний.
  • Разработка резидентных программ.
  • Разработка резидентных программ.
  • Разработка программ ввода/вывода с использованием BIOS
  • Разработка программ ввода/вывода с использованием BIOS
  • Непосредственный вывод в видеобуфер.
  • Непосредственный вывод в видеобуфер.
  • Связь программ на ассемблере с программами на языке С
  • Связь программ на ассемблере с программами на языке С
  • Структуры и записи.
  • Структуры и записи.
  • Основы организации Windows. WinAPI.
  • Основы организации Windows. WinAPI.
  • Разработка программ на языке ассемблер под Windows.
  • Разработка программ на языке ассемблер под Windows.
Элементы контроля

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

  • неблокирующий Лабораторная работа 1
  • неблокирующий Лабораторная работа 2
  • неблокирующий Итоговый тест
    Экзамен проводится в письменной форме (опрос по материалам курса). Экзамен проводится на платформе Zoom, github. К экзамену необходимо подключиться согласно расписанию ответов, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка Zoom, github. Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи до 5 минут. Долговременным нарушением связи во время экзамена считается нарушение 5 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
  • неблокирующий Итоговый тест
  • неблокирующий Лабораторная работа 1
  • неблокирующий Лабораторная работа 2
Промежуточная аттестация

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

  • 2020/2021 учебный год 3 модуль
    0.3 * Лабораторная работа 2 + 0.3 * Лабораторная работа 1 + 0.4 * Итоговый тест
  • 2020/2021 учебный год 4 модуль
  • 2021/2022 учебный год 4 модуль
    0.3 * Лабораторная работа 1 + 0.3 * Лабораторная работа 2 + 0.4 * Итоговый тест
Список литературы

Список литературы

Рекомендуемая дополнительная литература

  • Практикум по программированию на языке Паскаль: Массивы, строки, файлы, рекурсия, линейные динамические структуры, бинарные деревья: учебное пособие / М.Э. Абрамян. - Ростов н/Д: Издательство ЮФУ, 2010. - 276 с. ISBN 978-5-9275-0801-3 - Режим доступа: http://znanium.com/catalog/product/549917
  • Сузи, Р. А. Язык программирования Python : учебное пособие / Р. А. Сузи. — 2-е изд. — Москва : ИНТУИТ, 2016. — 350 с. — ISBN 5-9556-0058-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100546 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Язык программирования 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

Авторы

  • Калягин Валерий Александрович
  • Токарев Александр Геннадьевич