LINUX.ORG.RU
ФорумJob

Курс системного программирования (Москва)


0

1

17 марта страртует курс Системного программирования в НИВЦ МГУ. Курс бесплатный.
Курс охватывает:

1. Системное программирование под Linux и POSIX.
2. Программирование в пространстве ядра Linux.
3. Разбор основных подсистем ядра Linux (MMU, scheduler, booting, SMP, synchronization, networking, modules, drivers, ...).

Занятия будут проходить по вторникам и пятницам с 17:00, длительность занятия 2-3 часа.
Начало курса 17 марта, длительность 2.5 месяца.

Желающие присоединиться должны знать язык С и письменный английский, а также пройти тестирование на знание С до 17 марта.
Записаться на тестирование можно по адресу igor.markov at auriga.ru. В письме приложите своё краткое резюме, обязательно укажите уровень владения С.

Я веду этот курс, в комментариях можно задавать любые вопросы.


Ответ на: комментарий от Deleted

Аусвайс

> Аусвайс выдают? (Хотя бы за отдельную плату)

Диплом об окончании не выдаём, только знания.

С другой стороны, вы всегда можете написать в резюме, что проходили наш курс, мы подтвердим это по телефону, если необходимо.

Z
() автор топика

Чуть более подробно

Основные темы курса:


A. Системное программирование под POSIX и Linux (userspace).


1.Построение программ (toolchain).

2.Разделяемые библиотеки.

3.IPC (семафоры, очереди, сигналы, разделяемая память).

4.Выделение памяти.

5.Отображения файлов и устройств на память (mmap).

6.Системное время.

7.Файловая система и файлы устройств.

8.Процессы и нити. Синхронизация.



B. Программирование в пространстве ядра Linux.


1.Построение и загрузка ядра Linux.

2.Системные вызовы.

3.Управление памятью (MMU).

4.Выделение и освобождение памяти в Linux.

5.Управление процессами и нитями.

6.Структуры данных в ядре. Списки.

7.Синхронизация задач в ядре.

8.Сетевая подсистема.

9.Прерывания.

10.Встроенные системы. Системы реального времени. Cross compilation.

11. Файловые системы. VFS. Драйверы файловых систем. Procfs.

12.Драйверы устройств (символьные устройства, блочные, сетевые, USB, ...).

13.Виртуализация.

Z
() автор топика
Ответ на: комментарий от epsilon1024

Re:

Видеозапись не ведётся.

Z
() автор топика
Ответ на: комментарий от hibou

> А двоечникам можно еще раз прийти?

Тимур, приходите уже осенью, только с более глубоким знанием C ;-)

Одно тестирование на один поток курса.

Z
() автор топика
Ответ на: комментарий от level1

> По си - тест. А по английскому письменному?

Раньше сам тест по С был написан на английском. Сейчас он на русском, а знанию английского верим на слово.

Дело в том, что большинство "раздаточных" материалов курса на английском, и если вы совсем не знаете письменный технический английский (что довольно странно для человека, хорошо знакомого с программированием и Linux), вам будет сложно справляться.

Z
() автор топика
Ответ на: комментарий от kyb27

Курс проходит 2 дня в неделю, то есть за всё время курса "кататься" прийдётся около 20 раз.

Если осутствует желаение приехать на тестирование/собеседование на курс, то возможно нет желания его посещать и выполнять д/з. А если так, то особого смысла записываться нет.

Z
() автор топика

> Я веду этот курс, в комментариях можно задавать любые вопросы.

Уважаемый Z, вы ь хоть сказали, кто это есть Я :)

ps: боже упаси что-то личное или крамольное. был бы в Мск - зашел бы на чаёк.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

> Уважаемый Z, вы б хоть сказали, кто это есть Я

Я, как и Z -- крайняя буква в алфавите ;-)

Имеется в виду, что автор поста и ведущий курсы -- одно и тоже лицо. Если сумеете сказать то же самое другой короткой фразой от первого лица, так чтобы не возникали побочные трактовки (как, похоже, произошло у вас), напишите её сюда ;-)

Z
() автор топика
Ответ на: комментарий от Davidov

> Это регулярные курсы?

Да, курсы регулярные, проходят каждые полгода начиная с осени 2006 года.

Z
() автор топика
Ответ на: комментарий от dimon555

> Может какие материалы в онлайн выложите? так за пару лет и дозрею

Материалов как в онлайне, так и в оффлайне предостаточно.

Например, по ядру Linux написана отличная книга Understanding the Linux Kernel, третье издание, она даже на русский переведена. Очень рекомендую. Также существует тьма подобных книг, каждая со своей спецификой, начиная с LDD3. По системному программированию в userspace также книг предостаточно, и много информации онлайн, Google вам в помощь.

Также, как это не удивительно, много полезного (в зависимости от вашего уровня) материала может быть найдено на замечательном сайте http://www.linux.org.ru/ в колонке слева, под словами "Новые материалы на IBM developerWorks".

А к моим слайдам, что используются на курсе, нужен я сам, так как они содержат только часть информации, остальную часть я рассказываю. К тому же, настоящее усвоение темы идёт при выполнении д/з.

Z
() автор топика
Ответ на: комментарий от Z

>Например, по ядру Linux написана отличная книга Understanding the Linux Kernel, третье издание, она даже на русский переведена. Очень рекомендую. Также существует тьма подобных книг, каждая со своей спецификой, начиная с LDD3. По системному программированию в userspace также книг предостаточно, и много информации онлайн, Google вам в помощь.

к этому видимо нужно ещё мануал по процессорам интел читать, лично я так и не понял почему процессу доступно только 3G, а не 4G? может статья какая есть толковая или переписка?

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

Страница 68 в Understanding the Linux Kernel 3, например.

http://www.ibm.com/developerworks/linux/library/l-memmod/ абзац Paging model in Linux

http://www.google.com/search?q=PAGE_OFFSET

Или переходите на x86_64 (или любую 64-битную архитектуру), там нет такого ограничения.

Z
() автор топика
Ответ на: комментарий от Z

Если материалов предостаточно (что правда), то чем на ваш взгляд привлекательны ваши курсы (для программистов)?

level1 ★★
()
Ответ на: комментарий от Mr_Nobody

> А ответит ли многоуважаемый Z почему используется разбиение 3G/1G, а не 2G/2G?

Для 32-битной архитектуры в современных ядрах в конфигурации можно задать разбиение 3/1, 2/2 или даже 1/3.

Разбиение 3/1 использовалось и используется исторически, в 1991 году размер физической памяти 1G редко встречался на PC, а 3G виртуальной памяти процессу было уж тем более достаточно.

Z
() автор топика
Ответ на: комментарий от level1

> Если материалов предостаточно (что правда), то чем на ваш взгляд привлекательны ваши курсы?

Интерактивом, ответами на вопросы, разбором выполнения вашего д/задания. Всем чем семинары привлекательны по сравнению с мануалом.

Кому удобнее обучаться по мануалу просто не приходят на наши курсы.

Z
() автор топика
Ответ на: комментарий от level1

> Если материалов предостаточно (что правда), то чем на ваш взгляд привлекательны ваши курсы?

Интерактивом, ответами на вопросы, разбором выполнения вашего д/задания. Всем чем семинары привлекательны по сравнению с мануалом.

Кому удобнее обучаться по мануалу просто не приходят на наши курсы.

Z
() автор топика
Ответ на: комментарий от Goldseeker

> Какого уровня тестирование по с?глубокого знания с++ достаточно чтоб пройти?

Глубокое знание C++ вообще не требуется и не проверяется. Если вы хорошо знаете операции C, работу с указателями, принципы препроцессора, представление целочисленных типов в памяти, функции типа malloc/fork/printf, то вы проходите.

Z
() автор топика
Ответ на: комментарий от epsilon1024

> а не планируется гастрольного тура в Санкт Петербург?

К сожалению, в настоящее время нет.

Z
() автор топика
Ответ на: комментарий от dkec

Re

> Я конечно извиняюсь, но какая выгода НИВЦ МГУ с бесплатных курсов?

Курсы спонсирует софтверная компания, для которой курс создаёт благоприятное мнение о ней. А также, тем, кто хорошо себя показал на курсе предлагается трудоустройство. Многие соглашаются.

Z
() автор топика
Ответ на: Re от Z

Результаты

А когда будут объявлены результаты тем кто уже прошёл собеседование? Или если со мной ещё не связались, значит не взяли?

Egorxe
()
Ответ на: Результаты от Egorxe

> А когда будут объявлены результаты тем кто уже прошёл собеседование? Или если со мной ещё не связались, значит не взяли?

В связи с тем, что последние несколько собеседований пройдут в понедельник во второй половине дня, окончательное решение о зачислении на курс будет принято в понедельник вечером.

С вами свяжутся в любом случае, независимо от результата.

Z
() автор топика

А вы можете 17-го, уже после окончания набора на курсы, выложить тестовые задания в открытый доступ? Я давно как-то писал ваш тест и провалил его, с тех пор подтянул С. В этом году не успел записаться, но было бы интересно посмотреть.

Snorg
()
Ответ на: комментарий от Snorg

> А вы можете 17-го, уже после окончания набора на курсы, выложить тестовые задания в открытый доступ? Я давно как-то писал ваш тест и провалил его, с тех пор подтянул С. В этом году не успел записаться, но было бы интересно посмотреть.

Нет, тестовые задания в открытый доступ мы не выкладываем, в основном для того чтобы новым претендентам было не слишком уж легко.

Если вы проходили тест меньше 2 лет назад, то он не слишком изменился.

Z
() автор топика
Ответ на: комментарий от Z

2Z: В данный момент изучаю ядро по третьему изданию книги приведённой выше. И в связи с этим есть вопросы: - какие книги нужно почитать кроме учебника по Си и ядру для трудоустройства? - можете назвать ту компанию которая курсы спонсирует? Хочу трудоустраиваться разработчиком ядра... - зарплат разработчика ядра на пиво хватит?

Robotron
()
Ответ на: комментарий от Robotron

> В данный момент изучаю ядро по третьему изданию книги приведённой выше. И в связи с этим есть вопросы: - какие книги нужно почитать кроме учебника по Си и ядру для трудоустройства? - можете назвать ту компанию которая курсы спонсирует? Хочу трудоустраиваться разработчиком ядра... - зарплат разработчика ядра на пиво хватит?

Компания auriga.ru. Сейчас планка набора повысилась, для самого базового уровня необходимо (например) понимать что такое динамические библиотеки, как на низком уровне работает отладчик, как работает fork(), что такое страничная адресация памяти, адресное пространство процесса... По крайней мере такие вопросы вам скорей всего зададут на собеседовании, среди многих других.

С другой стороны, обычно есть вакансии тестировщиков, на AFAIK пиво хватает.

Z
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.