Pull to refresh

Comments 21

Когда есть такой скелет, тогда можно и многозадачность, на многоядерности замутить.

Пусть для начала и статическую, сколько ядер, столько и крутящихся статических задач.

Причём 640кб позволят запустить до 128 задач, при наличии 128 ядер.

Есть прерывание которые процессор вызывает 18 раз в секунду, на основе него можно что-нибудь придумать)

Сразу несколько моментов.
Почему в sp загружается нечетное число? Всё-таки выравнивание… Может, прибавить единицу?
Не делается проверка на поддержку расширенных функций чтения через int 13h, ну да это ладно, надеемся, что на старых компьютерах не будут запускать. Хотя если даже развивать тему и сделать защищенный режим, то запускать можно хоть на 286 в теории, 386 — более вероятно. Тогда однозначно проверка нужна.
И ещё, что касается загрузки… Не лучше ли сделать загрузчик так, чтобы систему можно было запускать на компьютере, где есть и другие ОС? То есть сделать загрузочный сектор с таблицей разделов ИЛИ чтобы он учитывал смещение от начала диска (если загружать его с раздела, а не из MBR).

Спасибо за отзыва, я сейчас, можно сказать, только вникаю как работать в защищенном режиме, читаю про порты, что бы написать драйвер для клавиатуры и тд, что бы ОС можно было запускать с другими ОСями надо ставить grub и тд, это не сложно, просто grub автоматически перевожит процессор в защищенный режим, а ос нацелена на realmode

чтобы он учитывал смещение от начала диска

Тогда придётся вникать в структуру ФС. Какую ФС вы собираетесь использовать?

Тогда придётся вникать в структуру ФС. Какую ФС вы собираетесь использовать?

Тип ФС в целом тут не играет роли. Тип таблицы разделов — да, пожалуй. Я в них не силен, и предполагаю, что будет обычная таблица разделов, которая принята в DOS была.
MBR-загрузчик выбирает раздел, с которого загрузиться. Если же загрузчик более крутой (типа GRUB), обычно есть возможность выбора раздела, с которого грузиться.
В итоге запускается код из BOOT-сектора выбранного раздела, а тому просто необходимо знать, с какого сектора его раздел начинается. Поэтому BOOT-сектор раздела обычно и содержит этот самый номер сектора.

То есть у вас ось работает в режиме реальных адресов. Вы описали то, с чего начинался совремнный хрюсофт в том числе. Вы же MS DOS помните?

Но сейчас технические возможности современных процессоров позволяют использовать и защищённый режим и страничную адресацию.

Только использовать системные вызовы биос уже не получится

Рекомендую почитать http://sasm.narod.ru/index.htm

Конечно помним про MS-DOS, я на нем учился программировать на ассемблере, прерывание 21h волшебно!
Благодарю за ресурс

Обнаружил пару опечаток. (... Функция 17h прерывания 90h(по сути просто бертка ...) - наверное обёртка. (... сделю вторую, третью и тд части ...) - наверное сделаю. Спасибо за статью. Побольше бы таких.

Всего лишь пару, когда весь текст усыпан ими?!

BIOS проверяет...

А без BIOS?

Ставите свою микросхему со своим кодом на видеокарту. ( Или в сетевую карту). Процессор (при подаче питания) послушно выставляет на шине адреса адрес ПЗУ, считывает команды и исполняет их же.

И никто не обязан считывать некий сектор с некого HDD. А если контроллера нету просто?

Вытащите микросхему BIOS, и работайте на "голом железе". В конце-концов, BIOS тоже кто-то пишет.

так ни кто и не говорит делать так, как написанно в этой статье, в начале статьи написанно , что это мои личные наблюдения и тд)

Где это видано?

Радуйтесь, что биос есть в каждом нормально работающем компьютере.

Во первых, лишний слой совместимости вам только поможет

Во вторых, без биос вам придётся проделывать вручную инициализацию оборудования.

Если ещё оперативку не сожгёте, выставив неправильно таймауты

Здравствуйте, прочитал статью. Всегда хотел написать свою собственную OC. Был бы очень благодарен, если бы вы мне подсказали какие книги почитать, чтобы относительно быстро и безболезненно разобраться в этой теме и приступить к созданию собственной OC.

Продолжайте, будет интересно до каких масштабов дорастет эта ОС

Как сварится, надо будет попробовать:)

Sign up to leave a comment.

Articles