С/к "Низкоуровневое программирование"Опубликовано avst в Сентябрь 11, 2014 - 19:23. |
Доцент А.В.Столяров начинает читать полугодовой спецкурс «Низкоуровневое программирование». Лекции будут проходить по вторникам в 16:20 (V пара), ауд. 579. Спецкурс можно рассматривать как своего рода дополнительные главы к курсам «Архитектура ЭВМ и язык ассемблера» и «Операционные системы».
В частности, в курсе будут рассмотрены следующие вопросы:
- Низкоуровневое программирование — что это, когда и для чего.
- Архитектурные принципы фон Неймана: в чём их определяющая роль. Пример нефоннеймановской архитектуры (микроконтроллеры AVR). Может ли программа, работающая под управлением современной операционной системы, рассматривать компьютер как фоннеймановский.
- Платформа i386 (32-битные Intel-совместимые процессоры): система регистров, основы системы команд. Отличия 64-битных процессоров.
- Операционная система: что это и зачем.
- Мультизадачный режим работы: как это делается. Ядро и процессы. Что такое «прерывание» и почему вокруг этого термина нагородили столько ахинеи. Особенности программирования, обусловленные наличием мультизадачной ОС.
- Системный вызов. Конвенции системных вызовов Linux и FreeBSD. Примеры простых программ для *nix на языке ассемблера.
- Аппаратное управление оперативной памятью, MMU и виртуализация.
- Язык Си: его история, почему он таков, каков есть, и зачем он нужен. Почему исполняемые файлы на Си получаются такими огромными и можно ли сделать их меньше.
- ...и так далее..
Приглашаются все желающие; предполагается, что слушатели знакомы с языком Си в объёме программы второго курса. В конце курса предполагается устный экзамен (по билетам) с оценкой. Прошлогодний список экзаменационных вопросов доступен тут: http://al.cs.msu.ru/node/138 — но в этом году возможны изменения в зависимости от того, что мы успеем на лекциях.