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

Материал из SEWiki
Перейти к: навигация, поиск
(Полезные ссылки)
Строка 67: Строка 67:
 
== Полезные ссылки ==
 
== Полезные ссылки ==
  
* [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)], если вы пользуетесь компиляторами от Microsoft, то они используют другой ABI
 
* [http://wiki.osdev.org/Main_Page сайт с множеством полезной информации (аккуратно, возможны ошибки!)]
 
* [http://wiki.osdev.org/Main_Page сайт с множеством полезной информации (аккуратно, возможны ошибки!)]
 
* [https://en.wikibooks.org/wiki/Serial_Programming/8250_UART_Programming#Interrupt_Enable_Register еще одно описание работы с последовательным портом (с сопутствующими объяснениями портов ввода/вывод, прерываний и контроллеров прерываний)]
 
* [https://en.wikibooks.org/wiki/Serial_Programming/8250_UART_Programming#Interrupt_Enable_Register еще одно описание работы с последовательным портом (с сопутствующими объяснениями портов ввода/вывод, прерываний и контроллеров прерываний)]

Версия 13:49, 24 февраля 2016

Лектор — Кринкин Михаил (krinkin.m.u@gmail.com)

Практики — Кринкин Михаил (krinkin.m.u@gmail.com), Новокрещенов Константин (k.novokreshchenov@gmail.com )

Вопросы можно задавать (и отвечать) в google группе: os-2mit-spring-qa@googlegroups.com

Группа Новокрещенового

  • Беляев Станислав Валерьевич
  • Бойкий Дмитрий Игоревич
  • Бугакова Надежда Александровна
  • Валин Глеб Александрович
  • Гайдашенко Анастасия Валериевна
  • Гуцол Ксения Дмитриевна
  • Дегтяренко Иван Антонович
  • Кравченко Дмитрий Сергеевич
  • Кравченко Юрий Николаевич
  • Лабутин Игорь Николаевич

Группа Кринкина

  • Лапшин Дмитрий Владимирович
  • Малышева Александра Ивановна
  • Маркелов Александр Сергеевич
  • Никонов Михаил Иванович
  • Пластинин Виталий Вячеславович
  • Подгузов Никита Владимирович
  • Ребрик Юрий Андреевич
  • Розплохас Дмитрий Александрович
  • Смирнов Петр Юрьевич
  • Старкова Анастасия Алексеевна
  • Степанов Владимир Игоревич
  • Степанов Всеволод Андреевич
  • Суворов Егор Фёдорович
  • Третьякова Елизавета Алексеевна
  • Черникова Ольга Александровна

Результаты ДЗ

Материалы курса

Все материалы курса находятся в репозитории https://github.com/krinkinmu/os-course :

  • lec{\d+} - слайды лекций
  • hw{\d+} - описание домашних заданий
  • src - исходники ОС (будут обновляться по мере прохождения дедлайнов и выдачи новых заданий)

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

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

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

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

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

Правила и рекомендации по сдаче домашних заданий

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

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

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

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

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

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