На стажировке мне пришлось изменить драйвер жесткого диска в Minix, чтобы он обслуживал запросы по алгоритму лифта, а не по принципу «первым пришел — первым обслужен». Я должен был сделать это в Minix 2, но я хотел сделать это в Minix 3, потому что мне не нравятся старые технологии.
За те 2 месяца, что я над ним работал, больше всего расстроило то, что Minix 3 компилировался в VMWare на ноутбуке с процессором I5, 4 Гб оперативной памяти под управлением Windows 7 примерно за 20 минут. Наконец, через 2 месяца я сдался. на Minix 3 и переключился на Minix 2, который скомпилировался примерно за 20 с.
Я не говорю, что не могло быть чего-то очень неправильного в том, как я компилировал систему, но я очень старался ускорить ее, но безуспешно.
Скажу лишь, что в то время я только что получил степень магистра компьютерных наук и имел 5-летний интенсивный опыт программирования на C (просто чтобы вы не подумали, что я программист-самоучка, который только что решил перейти к программированию, перепроектировав операционную систему: D)
РЕДАКТИРОВАТЬ: В конце концов, я предлагаю вам попробовать скомпилировать Minix 3, чтобы посмотреть, как это у вас получится. Если вам больше повезет, определенно выберите этот, потому что он имеет более современные концепции ОС, с другой стороны, если вы новичок, вы, вероятно, многому научитесь в Minix 2. Я так и сделал.
person
Zoltán
schedule
24.11.2011
can program [...] medium sized programs in them
-› Я бы оспорил это мнение, если бы вы только формально изучили их и имеете лишь самое базовое представление о структурах данных. Для меня программы среднего размера находятся в регионах 100kLoC, а это означает, что вам нужно хорошее понимание того, как организовать код, как выбрать хорошие имена для ваших сущностей, пространства имен, хороший дизайн классов и интуиция, основанная на многолетнем опыте. Это сводится к следующему: если вы еще не написали хорошую и чистую программу среднего размера, вы не можете знать, способны ли вы уже это сделать. - person Sebastian Mach   schedule 24.11.2011