S
S
SKEPTIC2019-04-01 20:23:03
C++ / C#
SKEPTIC, 2019-04-01 20:23:03

Operating system?

I'm starting to learn assembler, I would like to know how I could write my own OC.
I understand that there must be a bootloader and a kernel + something else.
I'm wondering how this loader generally works. You don’t have to describe directly specifically, just write what it does and how it works, at least a couple of sentences, or maybe you have some articles on this topic.
What can you write OC on?
As I understand it, the loader must be written in Assembler, and the kernel can be written either in C or in Assembler. Correct me if I'm wrong.
Is it possible to write OC in FASM?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
R
Ronald McDonald, 2019-04-01
@Zoominger

there must be a bootloader and a kernel + something else

No, the bootloader itself, you can use GRUB, for example.
Your own OS, even a simple one, is very, very difficult and you can’t drag it alone.
Look towards Hummingbird OS, it's just OS in assembler.

A
Andrey, 2019-04-02
@poslannikD

Guy, start by smoking books on the topic:
https://www.ozon.ru/context/detail/id/31649356/ - there are more than 50 links at the end of the book. At least one link to an additional source on any topic covered in the book.
you can
https://kolibrios.org/ru/index

V
Vladimir T, 2019-04-01
@32bit_me

the loader must be written in Assembler, and the kernel can be written in either C or Assembler.

Not certainly in that way. The loader can also be written in C. The kernel can be written in C, it can be in assembler, but writing in assembler is very time consuming, you probably don’t want to. The maximum that is written on it is small inserts in especially critical places.
The OS can also be written in other languages, such as Rust.
Examples of bootloaders for embedded systems: U-Boot, Barebox. They can be found without difficulty, look at the source. And there were a lot of training examples of self-written OS on the same hub, and there are a lot of them on github.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question