Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Мой эмулятор терминала обрастал наворотами. Я регулярно использовал
его, чтобы подключиться к университетскому компьютеру и получить почту или
поучаствовать в конференции по Minix. Беда была в том, что я хотел скачивать
и закачивать файлы. То есть мне нужно было уметь писать на диск. Для этого
моей программе эмуляции нужен был драйвер дисковода. А еще ей был нужен
драйвер файловой системы, чтобы она могла вникать в организацию диска и
записывать скачиваемые файлы.
…
Одним словом, жизнь моя не блистала разнообразием. А разработка
драйверов для дисковода и файловой системы казалась интересным делом. И я
решил им заняться. Написал драйвер дисковода. А поскольку я хотел записывать
файлы в файловую систему Minix, да к тому же эта система была хорошо
документирована, я сделал свою файловую систему совместимой с системой
Minix. Таким образом я мог читать файлы, созданные в Minix, и писать файлы
на тот же диск, так что Minix могла читать файлы, созданные моей программой
эмуляции терминала.
Я крутился как белка в колесе: программирование — сон — программирование — еда (соленые сухарики) — программирование — сон — программирование — душ (на скорую руку) — программирование. К концу работы
стало ясно, что моя программа превращается в операционную систему. И я стал
думать о ней не как о программе эмуляции терминала, а как об операционной
системе. Этот сдвиг произошел, вероятно, в дурмане одного из затянувшихся
сеансов программирования. Было это днем или ночью? Не знаю. Сижу я в своем
старом халате и работаю с программой эмуляции, снабженной дополнительными
функциями. А потом вдруг понимаю, что этих функций стало так много, что
программа превратилась в рабочую версию операционной системы.
Как начать и не бросить писать ОС