Linux kernel 2015 — различия между версиями
Eabatalov (обсуждение | вклад) |
Eabatalov (обсуждение | вклад) (Удалил ссылки на практические задания, т.к. они ведут на репозиторий где есть их решения. Репозиторий удалить не могу, т.к. google code теперь readonly) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 4: | Строка 4: | ||
Вступайте в [https://groups.google.com/forum/#!forum/au-linux-kernel-spring-2015 google группу]. Она же список рассылки курса. | Вступайте в [https://groups.google.com/forum/#!forum/au-linux-kernel-spring-2015 google группу]. Она же список рассылки курса. | ||
− | |||
− | |||
[https://drive.google.com/folderview?id=0B-KXDlig5kwVfmNyYWZGYVJsYWFsR1B0WjdIVW16YzRJLVZqNTU5SWNFejdPY0syMzN1RGc&usp=sharing Материалы курса + успеваемость] | [https://drive.google.com/folderview?id=0B-KXDlig5kwVfmNyYWZGYVJsYWFsR1B0WjdIVW16YzRJLVZqNTU5SWNFejdPY0syMzN1RGc&usp=sharing Материалы курса + успеваемость] | ||
Строка 27: | Строка 25: | ||
== Зачет == | == Зачет == | ||
− | + | Тем кто наберет >=70% от максимально возможных баллов автоматом ставится зачет. Если нет автомата, то чтобы получить зачет, нужно будет успешно поговорить с преподавателем о нескольких темах из курса. | |
== Code style == | == Code style == | ||
Строка 39: | Строка 37: | ||
Все ошибки нужно обработать. В процессе обработки ошибки нужно освободить все более не используемые ресурсы. Далее нужно перейти в безопасное состояние, нахождение в котором не повлечет новых ошибок. Нужно сообщить об ошибке уровню выше, если он присутствует (например userspace'у или вызывающей функции). | Все ошибки нужно обработать. В процессе обработки ошибки нужно освободить все более не используемые ресурсы. Далее нужно перейти в безопасное состояние, нахождение в котором не повлечет новых ошибок. Нужно сообщить об ошибке уровню выше, если он присутствует (например userspace'у или вызывающей функции). | ||
Если ошибка не позволяет нормально функционировать ядру, то нужно вызвать функцию panic(). | Если ошибка не позволяет нормально функционировать ядру, то нужно вызвать функцию panic(). | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:5 курс. Весна 2015]] | [[Category:5 курс. Весна 2015]] |
Текущая версия на 15:04, 9 февраля 2016
Лектор - Евгений Александрович Баталов (eabatalov89 sobaka gmail.com)
Практика - Евгений Александрович Баталов
Вступайте в google группу. Она же список рассылки курса.
Материалы курса + успеваемость
Занятия проходят по средам с 14 до 18, аудитория 206.
Содержание
Примерная инструкция по настройке development environment
https://drive.google.com/file/d/0B-KXDlig5kwVTDZvS1VPSTA1Xzg/view?usp=sharing
Правила сдачи работ
- Комитим в свою ветку решение задания. Решение задания должно находиться в каталоге tasks/<название_задания>/
- Создаем новый issue. Ставим Owner'ом преподавателя. Шаблон названия темы: <фамилия> <имя> <название задания> <ветка git>
- Ждем комментариев и оценки от преподавателя в ответе на issue.
- Оценка выставляется от 0 до 5 баллов.
- issues, созданные позже дедлайна по-умолчанию не проверяются.
Зачет
Тем кто наберет >=70% от максимально возможных баллов автоматом ставится зачет. Если нет автомата, то чтобы получить зачет, нужно будет успешно поговорить с преподавателем о нескольких темах из курса.
Code style
Лучше придерживаться стиля, который используется в коде заданий. При желании можно писать по-другому, главное не меняйте правила формирования имен:
- upper case только для макросов и констант
- имена функций, типов пишутся в lower case + подчеркивание между словами
Обработка ошибок
Все ошибки нужно обработать. В процессе обработки ошибки нужно освободить все более не используемые ресурсы. Далее нужно перейти в безопасное состояние, нахождение в котором не повлечет новых ошибок. Нужно сообщить об ошибке уровню выше, если он присутствует (например userspace'у или вызывающей функции). Если ошибка не позволяет нормально функционировать ядру, то нужно вызвать функцию panic().