OS 2MIT Spring
Лектор — Кринкин Михаил (krinkin.m.u@gmail.com)
Практики — Кринкин Михаил (krinkin.m.u@gmail.com), Новокрещенов Константин (k.novokreshchenov@gmail.com )
Содержание
Группа Новокрещенового
- Беляев Станислав Валерьевич
- Бойкий Дмитрий Игоревич
- Бугакова Надежда Александровна
- Валин Глеб Александрович
- Гайдашенко Анастасия Валериевна
- Гуцол Ксения Дмитриевна
- Дегтяренко Иван Антонович
- Кравченко Дмитрий Сергеевич
- Кравченко Юрий Николаевич
- Лабутин Игорь Николаевич
Группа Кринкина
- Лапшин Дмитрий Владимирович
- Малышева Александра Ивановна
- Маркелов Александр Сергеевич
- Никонов Михаил Иванович
- Пластинин Виталий Вячеславович
- Подгузов Никита Владимирович
- Ребрик Юрий Андреевич
- Розплохас Дмитрий Александрович
- Смирнов Петр Юрьевич
- Старкова Анастасия Алексеевна
- Степанов Владимир Игоревич
- Степанов Всеволод Андреевич
- Суворов Егор Фёдорович
- Третьякова Елизавета Алексеевна
- Черникова Ольга Александровна
Материалы курса
Все материалы курса находятся в репозитории https://github.com/krinkinmu/os-course :
- lec{\d+} - слайды лекций
- hw{\d+} - описание домашних заданий
- src - исходники ОС (будут обновляться по мере прохождения дедлайнов и выдачи новых заданий)
Домашние задания
- Прерывания, таймер и последовательный порт. Дедлайн: 25 февраля (к 25 февраля задание должно быть сдано).
Критерии выставления оценки
Точные правила выставления оценки пока не зафиксированы, но вы как минимум можете рассчитывать на следующее:
- выполнять необязательные подзадания для получения отличной оценки не нужно
- ни одно отдельно взятое домашнее задание не влияет на оценку (т. е. если вы провалили одно задание, то вы все еще можете рассчитывать на отличную оценку)
Рекомендации по сдаче домашних заданий
- Заведите на github репозиторий для домашних заданий, присылайте ссылку на этот репозиторий и указание ветки или тега, который нужно проверять.
- Домашнее задание должно сопровождаться Cover Letter, которое должно описывать из чего состоит ваше решение (файлы, функции, кто и что делает).
- Вопросы по домашним заданиям можно задавать только до того, как вы попытаетесь его сдавать.
- Дополнительные подзадания проверяются только после того, как засчитаны основные.
Полезные ссылки
- System V ABI для amd64 (x86-64)
- сайт с множеством полезной информации (аккуратно, возможны ошибки!)
- еще одно описание работы с последовательным портом (с сопутствующими объяснениями портов ввода/вывод, прерываний и контроллеров прерываний)
Для пользователей MAC OS X
Компилятор и сопустствующие средства идущие вместе с XCode (или command line tools из app store) это не gnu toolchain, а урезанный clang и сопутствующие утилиты рассчитанные на прикладное ПО (в частности они не поддерживают linker script и мне не известно опций, которые могли бы его заменить). Поэтому у вас есть несколько опций:
- найти способ пользоваться теми утилитами, что есть (я тут не помошник - мне негде проверять)
- собрать свой gnu toolchain и использовать его (тут я, возможно, смогу помочь)
- использовать виртуальную машину с Linux
Для тех, кто выбрал 2 или 3 варианты, могут оказаться полезными следующие ссылки: