OS 2MIT Spring — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
Строка 64: Строка 64:
 
* [https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjZqJKI1-rKAhXjO5oKHSGxA7QQFggbMAA&url=http%3A%2F%2Fwww.x86-64.org%2Fdocumentation%2Fabi.pdf&usg=AFQjCNHM5xtL4RVMdUxJSuuXe3SA6m9JEA&sig2=8gnPCHQjfL0TLC0RVztuwQ&bvm=bv.113943665,d.bGs System V ABI для amd64 (x86-64)]
 
* [https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjZqJKI1-rKAhXjO5oKHSGxA7QQFggbMAA&url=http%3A%2F%2Fwww.x86-64.org%2Fdocumentation%2Fabi.pdf&usg=AFQjCNHM5xtL4RVMdUxJSuuXe3SA6m9JEA&sig2=8gnPCHQjfL0TLC0RVztuwQ&bvm=bv.113943665,d.bGs System V ABI для amd64 (x86-64)]
 
* [http://wiki.osdev.org/Main_Page сайт с множеством полезной информации (аккуратно, возможны ошибки!)]
 
* [http://wiki.osdev.org/Main_Page сайт с множеством полезной информации (аккуратно, возможны ошибки!)]
 +
 +
=== Для пользователей MAC OS X ===
 +
 +
Компилятор и сопустствующие средства идущие вместе с XCode (или command line tools из app store) это не gnu toolchain, а урезанный clang и сопутствующие утилиты рассчитанные на прикладное ПО (в частности они не поддерживают linker script и мне не известно опций, которые могли бы его заменить). Поэтому у вас есть несколько опций:
 +
 +
* найти способ пользоваться теми утилитами, что есть (я тут не помошник - мне неначем проверять)
 +
* собрать свой gnu toolchain и использовать его (тут я, возможно, смогу помочь)
 +
* использовать виртуальную машину с Linux
 +
 +
Для тех кто выбрал 2 или 3 вариант могут оказаться полезными следующие ссылки:
 +
 +
* [http://wiki.osdev.org/User:Max/Building_a_GCC_4.9_cross_compiler_on_OS_X_Mavericks сборка gcc для Mavericks (полагаю, что для Yosemite и El Capitan тоже должно работать)]
 +
* [https://support.apple.com/en-us/HT203296 если вы используете ВМ, то проверьте, что прошивка не блокирует Intel VT и при создании ВМ включите использование аппартной виртуализации - это должно заметно ускорить ВМ]

Версия 18:14, 16 февраля 2016

Лектор — Кринкин Михаил (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 - исходники ОС (будут обновляться по мере прохождения дедлайнов и выдачи новых заданий)

Домашние задания

  1. Прерывания, таймер и последовательный порт. Дедлайн: 25 февраля (к 25 февраля задание должно быть сдано).

Критерии выставления оценки

Точные правила выставления оценки пока не зафиксированы, но вы как минимум можете рассчитывать на следующее:

  • выполнять необязательные подзадания для получения отличной оценки не нужно
  • ни одно отдельно взятое домашнее задание не влияет на оценку (т. е. если вы провалили одно задание, то вы все еще можете рассчитывать на отличную оценку)

Рекомендации по сдаче домашних заданий

  • Заведите на github репозиторий для домашних заданий, присылайте ссылку на этот репозиторий и указание ветки или тега, который нужно проверять.
  • Домашнее задание должно сопровождаться Cover Letter, которое должно описывать из чего состоит ваше решение (файлы, функции, кто и что делает).
  • Вопросы по домашним заданиям можно задавать только до того, как вы попытаетесь его сдавать.
  • Дополнительные подзадания проверяются только после того, как засчитаны основные.

Полезные ссылки

Для пользователей MAC OS X

Компилятор и сопустствующие средства идущие вместе с XCode (или command line tools из app store) это не gnu toolchain, а урезанный clang и сопутствующие утилиты рассчитанные на прикладное ПО (в частности они не поддерживают linker script и мне не известно опций, которые могли бы его заменить). Поэтому у вас есть несколько опций:

  • найти способ пользоваться теми утилитами, что есть (я тут не помошник - мне неначем проверять)
  • собрать свой gnu toolchain и использовать его (тут я, возможно, смогу помочь)
  • использовать виртуальную машину с Linux

Для тех кто выбрал 2 или 3 вариант могут оказаться полезными следующие ссылки: