Комментарии 25
Заголовок хоть и кликбейтный, но статья хорошая для стартовой точки, чтобы понимать, куда двигаться
OC, Настоящая ОС, Собственная ОС - хорошо бы сначала как-то определить что является OS, а что нет, что можно считать "Собственной ОС", а что нет. А если с примерами, то вообще бы замечательно.
Все знают, что, разработка собственной ОС начинается с сложного выбора нескучных обоев.
как можно было забыть про ОС на дискете? KolibriOS почему не упомянуто? Сильно интереснее, чем всё перечисленное.
DOS 6.22 в базовом варианте вполне помещался на 3.5" дискету.
Уже давно на дискету нормально не вмещается. И из-за использования fasm она слишком привязана к 32-битной архитектуре x386
С заголовком проблема. Как-то исторически сформировалось в голове, что "ОС" занимаются
- управлением памятью,
- управлением задачами и
- управлением прерываниями.
Но не браузерными движками да TLS криптобиблиотеками. Всё смешалось в доме обломских...
Да, "микро" можно писать в одиночку. Статическая связанность - да пожалуйста, только это какая-то микро-система; правильнее - приложение; фирмвара простого девайса, проще иных роутеров. А в настоящей динамике для серьёзных процов с виртуализацией вы быстро упрётесь в учёт форматов компиляторов и линковщиков, это не для одного человека задачка, если речь о "своей ОС". И над всем висит хороший вопрос - зачем, есть же тьма готового? В учебных целях - да; вот три перечисленных управления со статической связанностью - пожалуйста, отлично! А чуть серьёзнее... Зачем?
во времена Линуса устройства были проще и производители считали нормальным прикладывать к ним инструкции для программистов, где описывали режимы/регистры и прочее. В 2000ых я покупал струйный принтер, и у него руководство большую часть занимало описание команд, которые можно в него послать. А сейчас ты покупаешь устройство, а в нем даже прошивки нет - она загрузится драйвером в рантайме, возможно даже тут же скачанная из интернета.
Все смешалось в доме Облонских.
А как же по своему великолепный курс Write your own Operating System in 1 hour
тут на С++ разрабатывается ОС, с поддержкой многопоточности, сети, UI, файловой системы
Помню зацепила фраза в фильме "Блуждающая Земля", где ИИ генерил Операционные Системы под конкретные задачи за доли секунды. Возможно особенности перевода.
В магистратуре проходил курс по ядру ОС. Ядро там было MIT-шное, но лаб не 7, а 12. Ощущения незабываемые :)
pigz
вместоgzip
Наглядный пример. Берем один и тот же архив:
И распаковываем его через:
tar xzf mariadb-11.3.2-linux-systemd-x86_64.tar.gz
![](https://habrastorage.org/getpro/habr/upload_files/207/81e/a29/20781ea2946481fe61b21c31140cd06e.png)
и через:
pigz -dc mariadb-11.3.2-linux-systemd-x86_64.tar.gz|tar xf -
![](https://habrastorage.org/getpro/habr/upload_files/d5a/96e/fd9/d5a96efd95b9a9f1a4b4bed060a2de7a.png)
Получаем почти 2-кратное увеличение скорости.
С заголовка сразу вспомнил про BolgenOS...
Oasis захотелось попробовать, а код Fomos поизучать, интересные проекты.
"Линус и написал его во время учёбы в университете, когда вернулся из армии" - Линус не "написал", а взял уже работающую систему Minix1 Таненбаума, а дальше уже только модифицировал её.
Как написать свою маленькую ОС