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. В письме приложите своё краткое резюме, обязательно укажите уровень владения С.

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


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

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

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 ()
Ответ на: Чуть более подробно от Z

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

Интересно конечно! А двоечникам можно еще раз прийти?! :)

hibou ★★★★★ ()
Ответ на: Re: Чуть более подробно от hibou

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

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

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

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

Z ()

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

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

level1 ()

Re:

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

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

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

Z ()

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

А brainbench'a оценки не пойдуть, а то лениво кататься как-то ;)

kyb27 ()

Re: К

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

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

Z ()

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

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

dimon555 ★★★★★ ()

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

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

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

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

// wbr

klalafuda ★☆☆ ()

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

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

Davidov ★★★★ ()

Re:

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

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

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

Z ()

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

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

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

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

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

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

Z ()

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

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

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

dimon555 ★★★★★ ()

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

Страница 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

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

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

Goldseeker ()

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

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

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

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

Z ()

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

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

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

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

Z ()

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

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

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

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

Z ()
Ответ на: Re: Чуть более подробно от Goldseeker

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

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

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

Z ()

Re

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

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

Z ()
Ответ на: Re от Z

Результаты

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

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

Re: Результаты

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

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

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

Z ()

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

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

Snorg ()

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

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

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

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

Z ()

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

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

Robotron ()

Re:

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

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

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

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