Comments 26
Зачем текст команд и т.п. картинками?
Библиотека программиста братьев Фроловых 1993 года ещё вспомнилась. Там всё, начиная от прерываний до интерфейса Windows.
Ещё Александр Семенко Smart ASM. Можете сразу планировать писать свою ось
Убедитесь сами: функция AH = 01h, Int 21 считывает символ с эхом, в то время как getchar () и AH = 02h, Int 21 записывает символ в стандартный выход.
без DOSa на борту убедиться не получится. Но он точно так же мертв как и рассказы про BIOS, давайте про UEFI уже
ага, но зачем?
@ «Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий»
— Козьма Прутков
Вас заперли в комнате с одной только дискетой и ПК с пустым жёстким диском. Давайте напишем ОС и загрузим ее!
Каким-то образом мы что-то записали на дискету (легкотня!), между прочим, когда вы нажимаете на Power, то блок питания подает электроэнергию на ATX кабели!
Вот если записать в регистр al число, а потом вызвать прерывание, то вот вам код на C и в 2012 году загрузчик Grub2. Он схож с режимом нейтрализации неисправности в 8088 и это нехорошо, поэтому давайте скачаем дистрибутив ArchLinux и будем уже работать с мышкой, а то я заколебался рассказывать вам как много я всего знаю.
Вот мне тоже показалось, что как-то не последовательно изложено. Третья часть просто про установку арча и она явно не складывается в общее с первыми двумя. А первые две в свою очередь мечатся между прикладной экспериментальной задачей загрузки компьютера без ничего и обрывками теории. И это при том, что тема чертовски интересная. Я как-то ещё в бумажной газете в нулевых читал цикл статей, в которых было изложение основ ассемблера на примере написания самой базовой ОС, вмещающейся в загрузочный сектор целиком. Так там вот хотя бы экспериментальная задача была выполнена, пусть и без подробного теоретического разбора.
Я как-то ещё в бумажной газете в нулевых читал цикл статей, в которых было изложение основ ассемблера на примере написания самой базовой ОС, вмещающейся в загрузочный сектор целиком.
Что то подобное
Разместить FORTH в 512 байтах
Проект развивается в дополнении стандартных возможностей Форт языка. ?
P.S. Заходы и в написание Форт ОС есть в разных вариантах и базе кода…
Загрузка ОС - достаточно сложная и запутанная тема. Можно начать с чего-то попроще. Вот, к примеру, чтобы запустить программу, нужно ее сначала скомпилировать. Нужен компилятор. Но компилятор это тоже программа которую нужно скомпилировать. Сможете сделать тот самый первобытный компилятор из бумаги и дырочек?
Странная статья. Кстати автор а ты уверен что на интеле и амд свет клином сошелся? Для примера ПЗУ двк кроме базового загрузчика содержит функционал аля отладчик с возможностью курить на голом железе просто компилируя в уме или на листочке и вводя восьмеричный код. А мой расбери пи не содержит ни уефи ни описанного вами биос а содержит свою проприетарную фигню .
Нарисованную картину довольно существенно усложняет то, что в описанной схеме как-то "неожиданно" управление передаётся коду ОС.
Здесь напрашивается стек операционных систем:
Базовая операционная система (BIOS). Это уровень устройств. Здесь мы описываем конфигурацию устройств и их представление в системе.
Дисковая оперционная система (DOS). Это уровень файлов. Здесь мы описываем конфигурацию типов обрабатываемых данных. Высокоуровневая надстройка над файловой системой — это СУБД. Можно ожидать потребности в наличии трёх различных СУБД: (1) СУБД уровня представления конечных данных, (2) СУБД уровня программного (исполняемого) кода и (3) СУБД уровня задач, которая осуществляет связывание между СУБД (1) и СУБД (2).
Прикладная оперционная система (User OS). Это уровень документов. Пользователь работает не с файлами, а с документами. Каждый документ возникает при решении определённой задачи в ходе ведения деятельности так же определённого вида.
В результате, возникает естественная иерархия. Базовая ОС полностью определяется аппаратным обеспечением, но имеет общй интерфейс. Дисковые ОС различаются подходом к хранению данных и функциональными возможностями по управлению этими данными. Для многих задач достаточно чистой дисковой ОС совместно с подходящими оболочками. Прикладные ОС определяются кругом решаемых задач.
Дисковая ОС должна позволить распределить дисковое пространство между различными прикладными ОС и обеспечить возможность переноса конфигурации ОС с одного компьютера на другой без обращения к шатным средствам прикладной ОС (средства управления дисковым протсранством в прикладной ОС не нужны совсем!).
Прикладная ОС должна позволить оперировать именно документами, а не файлами. Копирование данных должно, в этом случае, означать транзакцию, которая осуществляется между внутренней СУБД и внешней СУБД. Способы управления документами описываются в СУБД (3). По своей сути, прикладную ОС можно сравнить с технологической платформой, а решение определённого круга задач — с управлением определённой конфигурацией.
Такая иерархия обеспечивает хорошую безопасность. Действительно, прикладная ОС никогда не получит доступа к загрузочной записи (она о ней ничего не знает, и такой код написать невозможно). При этом, весь исполняемый код изначально присутствует в ОС, и никакая загрузка никаких приложений не требуется.
Иерархическая организация ОС, вообще, уничтожает понтяие приложения, поскольку программный код хранится в виде БД. Это означает, что сложных прикладные программы могут формироваться как результаты запросов к БД.
Такова примерная постановка задачи. ;-)
》обеспечивается базовый доступ к оборудованию. Делается это за счёт прерываний.
В Legacy, или UEFI с активным CSM модулем - да. В чистом UEFI - нет.
Устройства вроде накопителей имеют неизменяемые логические схемы и потому запускаются самостоятельно. У более сложных компонентов вроде графического процессора или сетевого адаптера имеется собственная периферия, посредством которой и происходит инициализация.
Кто-нибудь объяснит, что это значит?))
Вероятно отсылка к https://ru.m.wikipedia.org/wiki/Video_BIOS
Слишком сумбурное изложение. Очень схоже с изложением высшей математики неопытным преподавателем. То есть с точки зрения человека, который всё это знает - да, в целом как бы и нет грубых ошибок, в целом всё правильно. Но с точки зрения новичка - ну совсем ничего не понятно.
Linux Arch заслужил репутацию самого хардкорного дистрибутива
*смеётся на гентушном*
Специфика написания кода для ОС