Реклама

GoOS: от любопытства к собственному ядру

#GoOS #Pascal #Программа #Почему #Вместо
GoOS: от любопытства к собственному ядру

Ещё в школе, когда я впервые начал писать на Pascal, меня заинтересовал вопрос: что именно происходит, когда запускается программа? Программа читает клавиатуру, выводит текст, выделяет память. Но кто её запускает? Кто выделяет ей процессорное время? Почему она не может прочитать память другого процесса? Как нажатие клавиши превращается в событие для приложения? И что происходит между включением компьютера и первым приглашением командной строки? Вместо того чтобы ограничиться прикладным программированием, я полез разбираться в загрузчиках, памяти и работе процессора. Но теперь у этой истории истории есть своё собственное имя - GoOS . Если вам интересно почитать об этом подробнее - добро пожаловать! Читать далее

Ещё в школе, когда я впервые начал писать на Pascal, меня заинтересовал вопрос: что именно происходит, когда запускается программа? Программа читает клавиатуру, выводит текст, выделяет память. Но кто её запускает? Кто выделяет ей процессорное время? Почему она не может прочитать память другого процесса? Как нажатие клавиши превращается в событие для приложения? И что происходит между включением компьютера и первым приглашением командной строки? Вместо того чтобы ограничиться прикладным программированием, я полез разбираться в загрузчиках, памяти и работе процессора.

Теперь у этой коротенькой истории истории есть имя - GoOS. Если вам интересно почитать об этом подробнее - добро пожаловать!

Сразу уточню: я не разрабатываю "убийцу Linux", замену Windows или Болженос. GoOS - это экспериментальная операционная система для x86_64, написанная преимущественно на Go с использованием TinyGo. Я делаю её, потому что мне интересно, что получится, если изначально выбрать другую архитектуру. В этой статье я хочу рассказать не столько о том, что в ней есть, сколько о том, как оно устроено внутри и почему именно так.

Pascal, C++ и студенты