Как практиковаться в дисциплине Операционные системы?
Изучаю книгу "Операционные системы" - Таненбаум. Помимо теории, хотелось бы и попрактиковаться. Про то, что писать свою ОС - гиблое дело, уже читал. Как тогда? Писать свой драйвер? Ковыряться в ядре линукса? Какой у вас опыт, что посоветуете?
Лентюй, для того, чтобы понять, как взаимодействует ос с железом. Для понимания работы Android, Linux. Конечно, для этого я мог бы прочитать пару статеек и понять основы, но хочется углубиться + просто интересно. В общем нравится мне.
Всегда удивлялся людям которые что-то изучают, ради того что бы что-то изучить) Используйте "метод заплатки", т.е ковыряете что нибудь своими руками - не получается - гуглите, читаете на эту тему, - получается - следующий круг.
Это будет намного действеннее чем просто читать, и потом когда начало книги всё равно забылось - пытаться выдавить из этого хоть какую-то пользу.
Gaubgoph, в этой книге приведено достаточно много примеров кода, алгоритмов, можете попробовать написать свои реализации, также поработать с мьютексами, потоками (желательно написать более менее рабочее приложение где это будет нужно) и другими вещами, которые там раскрываются.
А кернел вы уже компилировали?
Если да, то
- посмотреть на модули - добавить новый, или добавить патч из другой ветки
- написать свой hello world модуль - есть примеры в интернете (если кто интересуется, я остановился примерно здесь :-)
- почитать форумы разработчиков кернела и понять о чем они говорят
- посмотреть на открытые баги в кернеле и начать чинить!
Понятно, что не обязательно с линуксом, просто 20 лет назад андроида еще не было.