Ну, дело отчасти в том, что конкретика будет неизбежно завязана на какую-то из реально используемых осей, а они все (ну, почти все) уж слишком сложные, а посему для изучения подходят плохо. Кроме того, лично моё мнение -- хорошо разобраться в предмете вообще на теоретическом уровне важнее, чем практически разобрать что-то конкретное, поскольку хорошему "теоретику" обычно не составляет труда подстроиться под любую конкретную реализацию, а вот у "зацикленного" на определённом решении часто мозги клинит, и до них с трудом доходит, что известное им решение -- не только не единственно возможное, но нередко и не самое лучшее (по крайней мере, лучшее не для каждого случая).
Что же касается низкоуровневого программирования, то тут прямой связи с осеписательством нет, ведь многие вещи, реализуемые в ОС, вполне себе высокоуровневые, иначе б запрограммировать их на ЯВУ было бы слишком сложно, если вообще возможно. Например, любой алгоритм выбора следующей задачи (процесса, потока -- как обозвать, в данном случае не суть важно, лишь бы говорящие понимали, о чём речь) сводится к просмотру некоего списка и анализу в каждом элементе нескольких полей (приоритет, готовность к выполнению и т.п.), что без проблем пишется на ЯВУ (хотя на ассемблере, скорей всего, то же самое можно закодировать эффективнее). Так что, возможно, "атмосферу низкоуровневого программирования" было бы лучше показать на примере работы загрузчика или ещё чего такого, что действительно достаточно тесно связано с аппаратурой, вызовами БИОС, "дешифровкой" управляющих структур файловых систем, но при этом ещё остаётся вполне обозримым, ну а осестроение оставить для действительно заинтересованных в этом предмете (что-нибудь типа семинара организовать, например).
|