Навигация

То, что здесь описано, является идеями, а не техзаданиями.

Аллокатор памяти

Реализовать менеджер памяти, которым можно будет подменить стандартные libc-шные функции posix_memalign/malloc/free, а так же calloc и realloc для консистентности.

Статический линковщик

Придумать или взять существующий формат объектных файлов и реализовать:

Динамический линковщик/загрузчик

Придумать или взять существующий формат объектных файлов и реализовать:

shell

Реализовать интерпретатор команд, поддерживающий:

remote shell

Аналог ssh без авторизации, поддерживающий несколько соединений и заводящий отдельную сессию на каждое подключение.

Отладчик

Реализовать простой дебаггер, поддерживающий, breakpoint по адресу, печать регистров и печать значений памяти.

Веб-сервер

Написать веб-сервер, хостящий заданные CGI-скрипты.

Нагрузочный тестировщик веб-сервера

Программа, спамящая веб-сервер x запросами в секунду в течение t секунд и строящая гистограмму времён ответа.

FUSE-файловая система

Несложная файловая система. Например, на входе папка с кучей mp3-шек, на выходе - файловая система с иерархией вида /artist/album/track.mp3.

standalone-игра в реальном режиме

Змейка/трон/тетрис, работающие без операционной системы на голом железе.

Задания со звездочкой

init

bootloader

Эмулятор терминала

pthread

Ядро

???

Возможно, стоит придумать курсовые, покрывающие следующие темы: