Обзор книги Do Hoang Tu «Operating System from 0 to 1» — как новичку сделать свою операционную систему…

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Около двух лет назад в одном из блогов про IT я натолкнулся на статью, в которой автор вкратце, буквально за 15 минут рассказывал о своем опыте в любимой для многих начинающих программистов идее создания собственной операционной системы. Причем на моей памяти — это вторая статья на русском языке, где автор не собирал новый дистрибутив линукс или просто строил планы о том, как создаст новую операционную систему, которой будет суждено изменить мир. По факту автор с нуля на Ассемблере и C написал довольно примитивную операционную систему, не используя ничего кроме компиляторов. В своем материале он ссылался на до тех пор неизвестную мне книгу «Operating System from 0 to 1» написанную неким разработчиком по имени Do Hoang Tu.

Кстати, интересно, что она не находилась где-нибудь на сайтах с книгами, тем более не продавалась в книжных магазинах, единственным местом, где мне удалось найти текст книги, был GitHub репозиторий, созданный автором. Ну, и конечно, ее не было на русском, и я почти уверен, что до сих пор нет в переводе, только английский оригинал. Но так еще лучше: отличная прокачка знаний языка для программистов.

Книга проводит читателя через весь процесс создания операционной системы с нуля, даже человек, не знающий принципов электроцепей и не имеющий глубоких знаний в программировании, может разобраться с темой. И это мне, как специалисту в другом направлении программирования особенно понравилось. Книга знакомит с основными терминами компьютерных систем, из чего состоит процессор, как на физическом уровне создаются логические схемы, что такое MOSFETs и цифровые логические вентили (digital logic gates). При этом автор не вдается в глубокие подробности, которые можно изучить дополнительно из другой литературы.

Затем в книге даются знания о том, как создать операционную систему для IBM x86 процессоров. При этом читателю достаточно довольно неглубоких знаний в таких языках как С/С++ и Ассемблер. Есть отдельная глава об этих языках и их совместном использовании: «we will explore assembly language, and how it connects to C». Есть там и про бинарный код и инструкции Assembly.

Тема тронула меня и вызвала не только интерес, но и энтузиазм, ведь я много лет назад уже собирал Linux from scratch. А также полгода как начал на досуге учиться программировать на С, с которым мне не приходится работать, потому что я специализируюсь на веб-разработке. В процессе чтения я предпринял попытку реализовать часть знаний, полученных из книги, насколько мне позволяли свободное время и опыт в С программировании. И, Oh my Gosh, у меня получилось запустить в виртуальной машине ОС с функциональностью печатной машинки. Да-да, это немногим больше, чем «Hello word», но для меня этого с лихвой хватило, чтобы вдохновиться на то, чтобы продолжать изучать эту тему.

Но это еще не все. Из книги можно почерпнуть базовые знания по архитектуре современных компьютеров, принципы работы логических схем и центральных процессоров, работающих на их физической реализации. Она помогает понять, как устроены операционные системы. В особенности автор рекомендует ее прочитать тем, кто хочет разбираться в Linux не просто как уверенный пользователь или администратор, но как настоящий разработчик таких сложных систем и программного обеспечения к ним. Я считаю, что это одна из тех книг, которую стоит прочитать каждому студенту IT-специальностей, потому что она создаст в голове правильную базу знаний, понимания профессии.

Автор обзора - Максим Жук, инженер-программист практики Frontend «Рексофт».

Источник: https://habr.com/ru/post/529376/


Интересные статьи

Интересные статьи

13 октября состоялся релиз npm@7.0.0. Релиз носит экспериментальный характер и доступен для скачивания из публичного npm-реестра с тегом next-7. Также npm 7 поставляется ...
В данной статье я бы хотел познакомить читателей с одним из проектов Apache Software Foundation сообщества — NlpCraft. NlpCraft — библиотека с открытым исходным кодом, предназначенная для...
Вопросы безопасности персональных данных, их утечек и растущей «власти» крупных ИТ-корпораций все чаще беспокоят не только обычных пользователей сети, но и представителей различных политических п...
Как-то у нас исторически сложилось, что Менеджеры сидят в Битрикс КП, а Разработчики в Jira. Менеджеры привыкли ставить и решать задачи через КП, Разработчики — через Джиру.
Согласно многочисленным исследованиям поведения пользователей на сайте, порядка 25% посетителей покидают ресурс, если страница грузится более 4 секунд.