OS 2MIT Spring — различия между версиями
Krinkin.m (обсуждение | вклад) |
Krinkin.m (обсуждение | вклад) |
||
| (не показано 25 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
Лектор — Кринкин Михаил (<b>[mailto:krinkin.m.u@gmail.com krinkin.m.u@gmail.com]</b>) | Лектор — Кринкин Михаил (<b>[mailto:krinkin.m.u@gmail.com krinkin.m.u@gmail.com]</b>) | ||
| − | Практики — Кринкин Михаил (<b>[mailto:krinkin.m.u@gmail.com krinkin.m.u@gmail.com]</b>), Новокрещенов Константин (<b>[mailto: | + | Практики — Кринкин Михаил (<b>[mailto:krinkin.m.u@gmail.com krinkin.m.u@gmail.com]</b>), Новокрещенов Константин (<b>[mailto:k.novokreshchenov@gmail.com k.novokreshchenov@gmail.com ]</b>) |
| + | Вопросы можно задавать (и отвечать) в google группе: <b>[mailto:os-2mit-spring-qa@googlegroups.com os-2mit-spring-qa@googlegroups.com]</b> | ||
== Группа Новокрещенового == | == Группа Новокрещенового == | ||
| Строка 15: | Строка 16: | ||
* Кравченко Юрий Николаевич | * Кравченко Юрий Николаевич | ||
* Лабутин Игорь Николаевич | * Лабутин Игорь Николаевич | ||
| − | |||
== Группа Кринкина == | == Группа Кринкина == | ||
| Строка 35: | Строка 35: | ||
* Черникова Ольга Александровна | * Черникова Ольга Александровна | ||
| + | [https://docs.google.com/spreadsheets/d/1Dra-SXqoIcF7bXxQKtjW9ziKQNgz1g_GVjYsRhPnJig/edit?usp=sharing Результаты ДЗ] | ||
== Материалы курса == | == Материалы курса == | ||
| Строка 46: | Строка 47: | ||
== Домашние задания == | == Домашние задания == | ||
| − | + | # Прерывания, таймер и последовательный порт. Дедлайн: 25 февраля. Решение в репозитории. | |
| + | # Аллокация памяти. Дедлайн: 21 марта. Решение в репозитории. | ||
| + | # Потоки, плнирование и синхронизация. Решение в репозитории. | ||
| + | # Файловая система в памяти. Решение в репозитории. | ||
| − | == | + | == Критерии выставления оценки == |
| − | * Заведите на github репозиторий для домашних заданий, присылайте ссылку на этот репозиторий и | + | Точные правила выставления оценки пока не зафиксированы, но вы как минимум можете рассчитывать на следующее: |
| − | + | ||
| − | * Домашнее задание должно сопровождаться Cover Letter, которое должно описывать из чего состоит | + | * выполнять необязательные подзадания для получения отличной оценки не нужно |
| − | + | * ни одно отдельно взятое домашнее задание не влияет на оценку (т. е. если вы провалили одно задание, то вы все еще можете рассчитывать на отличную оценку) | |
| + | |||
| + | == Правила и рекомендации по сдаче домашних заданий == | ||
| + | |||
| + | * Заведите на github репозиторий для домашних заданий, присылайте ссылку на этот репозиторий и указание ветки или тега, который нужно проверять (под ссылкой на репозиторий имеется ввиду такая, с которой можно выполнить команду git clone, а не ссылка на github). | ||
| + | * Домашнее задание <b>должно</b> сопровождаться Cover Letter, которое должно описывать из чего состоит ваше решение (файлы, функции, кто и что делает, кто и за что отвечает). | ||
* Вопросы по домашним заданиям можно задавать только до того, как вы попытаетесь его сдавать. | * Вопросы по домашним заданиям можно задавать только до того, как вы попытаетесь его сдавать. | ||
| + | * Дополнительные подзадания проверяются только после того, как засчитаны основные. | ||
| + | * Дополнительные подзадания от начала и до конца делаются самостоятельно, вы можете задавать вопросы, но ответов на них вы не получите. | ||
== Полезные ссылки == | == Полезные ссылки == | ||
| − | * [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://www.skyfree.org/linux/references/ELF_Format.pdf спецификация ELF] | ||
| + | * [http://wiki.osdev.org/Main_Page сайт с множеством полезной информации (аккуратно, возможны ошибки!)] | ||
| + | * [https://en.wikibooks.org/wiki/Serial_Programming/8250_UART_Programming#Interrupt_Enable_Register еще одно описание работы с последовательным портом (с сопутствующими объяснениями портов ввода/вывод, прерываний и контроллеров прерываний)] | ||
| + | |||
| + | === Для пользователей 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 и при создании ВМ включите использование аппартной виртуализации - это должно заметно ускорить ВМ] | ||
Текущая версия на 10:39, 21 апреля 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 - исходники ОС (будут обновляться по мере прохождения дедлайнов и выдачи новых заданий)
Домашние задания
- Прерывания, таймер и последовательный порт. Дедлайн: 25 февраля. Решение в репозитории.
- Аллокация памяти. Дедлайн: 21 марта. Решение в репозитории.
- Потоки, плнирование и синхронизация. Решение в репозитории.
- Файловая система в памяти. Решение в репозитории.
Критерии выставления оценки
Точные правила выставления оценки пока не зафиксированы, но вы как минимум можете рассчитывать на следующее:
- выполнять необязательные подзадания для получения отличной оценки не нужно
- ни одно отдельно взятое домашнее задание не влияет на оценку (т. е. если вы провалили одно задание, то вы все еще можете рассчитывать на отличную оценку)
Правила и рекомендации по сдаче домашних заданий
- Заведите на github репозиторий для домашних заданий, присылайте ссылку на этот репозиторий и указание ветки или тега, который нужно проверять (под ссылкой на репозиторий имеется ввиду такая, с которой можно выполнить команду git clone, а не ссылка на github).
- Домашнее задание должно сопровождаться Cover Letter, которое должно описывать из чего состоит ваше решение (файлы, функции, кто и что делает, кто и за что отвечает).
- Вопросы по домашним заданиям можно задавать только до того, как вы попытаетесь его сдавать.
- Дополнительные подзадания проверяются только после того, как засчитаны основные.
- Дополнительные подзадания от начала и до конца делаются самостоятельно, вы можете задавать вопросы, но ответов на них вы не получите.
Полезные ссылки
- System V ABI для amd64 (x86-64), если вы пользуетесь компиляторами от Microsoft, то они используют другой ABI
- спецификация ELF
- сайт с множеством полезной информации (аккуратно, возможны ошибки!)
- еще одно описание работы с последовательным портом (с сопутствующими объяснениями портов ввода/вывод, прерываний и контроллеров прерываний)
Для пользователей MAC OS X
Компилятор и сопустствующие средства идущие вместе с XCode (или command line tools из app store) это не gnu toolchain, а урезанный clang и сопутствующие утилиты рассчитанные на прикладное ПО (в частности они не поддерживают linker script и мне не известно опций, которые могли бы его заменить). Поэтому у вас есть несколько опций:
- найти способ пользоваться теми утилитами, что есть (я тут не помошник - мне негде проверять)
- собрать свой gnu toolchain и использовать его (тут я, возможно, смогу помочь)
- использовать виртуальную машину с Linux
Для тех, кто выбрал 2 или 3 варианты, могут оказаться полезными следующие ссылки: