Linux kernel 2015 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Обработка ошибок)
Строка 38: Строка 38:
 
== Обработка ошибок ==
 
== Обработка ошибок ==
 
Все ошибки нужно обработать. В процессе обработки ошибки нужно освободить все более не используемые ресурсы. Далее нужно перейти в безопасное состояние, нахождение в котором не повлечет новых ошибок. Нужно сообщить об ошибке уровню выше, если он присутствует (например userspace'у или вызывающей функции).
 
Все ошибки нужно обработать. В процессе обработки ошибки нужно освободить все более не используемые ресурсы. Далее нужно перейти в безопасное состояние, нахождение в котором не повлечет новых ошибок. Нужно сообщить об ошибке уровню выше, если он присутствует (например userspace'у или вызывающей функции).
 +
Если ошибка не позволяет нормально функционировать ядру, то нужно вызвать функцию panic().
  
 
== Задание 1: ==
 
== Задание 1: ==

Версия 22:25, 4 марта 2015

Лектор - Евгений Александрович Баталов (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% от максимально возможных баллов автоматом ставится 4. Для получения 5ки или 3ки, нужно будет поговорить с преподавателям на темы из курса.

Code style

Лучше придерживаться стиля, который используется в коде заданий. При желании можно писать по-другому, главное не меняйте правила формирования имен:

- upper case только для макросов и констант

- имена функций, типов пишутся в lower case + подчеркивание между словами

Обработка ошибок

Все ошибки нужно обработать. В процессе обработки ошибки нужно освободить все более не используемые ресурсы. Далее нужно перейти в безопасное состояние, нахождение в котором не повлечет новых ошибок. Нужно сообщить об ошибке уровню выше, если он присутствует (например userspace'у или вызывающей функции). Если ошибка не позволяет нормально функционировать ядру, то нужно вызвать функцию panic().

Задание 1:

https://code.google.com/p/au-linux-kernel-spring-2015/source/browse/tasks/linked_lists/

Описание задания в файле task.txt

Дедлайн: 4 марта

Задание 2:

https://code.google.com/p/au-linux-kernel-spring-2015/source/browse/tasks/vsd1/

Описание задания в файле task.txt

Дедлайн: 18 марта