OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Apr 16, 2024 6:01 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Building a new kernel with a new compiler from scratch.
PostPosted: Mon Sep 24, 2018 6:52 am 
Offline

Joined: Mon Sep 24, 2018 6:23 am
Posts: 1
I want to build a new and powerful kernel from scratch which can support IOT devices and run on a server. From where should I start? I am new to kernel development. I am open to suggestions and advice. Thank You.
Edit: If anyone has played Watchdogs, I am talking about building an OS similar to CtOS but with a different powerful kernel.


Top
 Profile  
 
 Post subject: Re: Building a new kernel with a new compiler from scratch.
PostPosted: Mon Sep 24, 2018 7:05 am 
Offline
Member
Member
User avatar

Joined: Mon Sep 03, 2018 2:25 am
Posts: 66
Building an operating system like ctOS is practically impossible to build for one person, and an iot operating system still requires a lot of knowledge. I would advise you to first create a normal 32bit x86 Protected mode os and then maybe move on to an iot os.


Top
 Profile  
 
 Post subject: Re: Building a new kernel with a new compiler from scratch.
PostPosted: Mon Sep 24, 2018 10:06 am 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1925
Location: Athens, GA, USA
thomtl wrote:
Building an operating system like ctOS is practically impossible to build for one person


I have never played the game, but I have looked up something about it, and I would say you are being too generous here. Building a "Hollywood Operating System" of that sort is impossible, period. Windmills don't... sorry, I mean computers don't work that way.

While that sort of pervasive 'master control program' which has been ported to all sorts of devices isn't as absurd as, say, the LCARS system in Star Trek, or the many, many talking AIs in all sorts of films and games, it just isn't realistic. Even when you look at the nigh-ubiquitous Linux kernels, there are serious limits as to which kinds of devices it will run on, and the different versions are often quite different from each other.

thomtl wrote:
and an iot operating system still requires a lot of knowledge. I would advise you to first create a normal 32bit x86 Protected mode os and then maybe move on to an iot os.


While I would say that an OS for a single-board computer (Raspberry Pi being the obvious choice - despite the flaws which Zaval will be sure to point out as soon as this gets posted - simply through dint of its extensive documentation and support) would be closer to the OP's intentions, I have to agree that the sheer volume of information and support available for PCs compared to pretty much any other hardware has to be taken into consideration.

However, one has to use their judgement here, as there is also a lot more bad and/or outdated information about PCs, compared to newer and less ubiquitous platforms.

I would also argue that one has to balance the amount of documentation for PCs with the facts that

  • hardly any IoT hardware is based on x86 CPUs;
  • The x86 ISA is (IMAO) a particularly difficult one to work with, especially compared to (for example) ARM, MIPS, or the up-and-coming RISC-V designs;
  • PC hardware is much more complex than an SBC, simply by dint of being a class of hardware systems from a variety of manufacturers, rather than a single product line from a specific company;
  • the original PC design it is rooted in was from an earlier era when a lot of things we now consider bad design were common;
  • even in its day, the PC design was considered a poor one by hardware designers;
  • in the intervene 37 years since it was introduced, the PC platform has accumulated a vast amount of baggage which a newer, cleaner design won't have.

In some ways, an SBC might be a better choice after all.

But then, I really, really hate a lot about the PC platform in general, and the x86 ISA in particular. Take my opinions on it with a grain of salt.

_________________
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.


Top
 Profile  
 
 Post subject: Re: Building a new kernel with a new compiler from scratch.
PostPosted: Mon Oct 08, 2018 3:34 pm 
Offline
Member
Member
User avatar

Joined: Fri Feb 17, 2017 4:01 pm
Posts: 642
Location: Ukraine, Bachmut
Quote:
While I would say that an OS for a single-board computer (Raspberry Pi being the obvious choice - despite the flaws which Zaval will be sure to point out as soon as this gets posted - simply through dint of its extensive documentation and support) would be closer to the OP's intentions, I have to agree that the sheer volume of information and support available for PCs compared to pretty much any other hardware has to be taken into consideration.

:D I am not a RPi hater. Just it happened the way, I was first introduced to other boards instead of RPi, and now it looks to me a little bit unfair, that despite the sea of them, all attention (and credits, often undeserved or, rather, - deserved by others and developers etc) go to RPi. Especially, when there are really better competitors (price/feature set).

Also, does that "miraculous" level of "community" support for RPi matter so much for OS developers working on their own OSes? Like all those tons of python things written for loonix, sorry, linux :mrgreen: will be of any use for an OS developer, when he/she/they will dig into the psychedelic affair of figuring out how ARM depths work and keep together. Of course, to some degree it does still, - still more help, more available things - for example, IIRC, exactly RPi did get the Tianocore (EDK) UEFI implementation. Finally! a normal FW. But it doesn't matter for osdev as it does for those "ordinary" Pi users, who do ... what do they do with their RPi? blinking LEDs! :lol:

As of the documentation availability and complexity comparison between x86 PCs and ARM (99.9%) SBCs. I wouldn't say they are this different. There are open standards (USB, AHCI, SD host controller etc) and there are some pretty closed ones (GPUs, VPUs, HDMI controllers etc). On both platforms. They are similar in both respects. But I consider SBCs mostly as mini PCs, thus - I am talking about common, more powerful, of them, not IoT thingies. Those might be "simpler". The only thing, ARM platforms are not yet as unified as x86 are, - no ACPI for example, "core" controllers are non enumerable, they cannot be easily discovered on the fly (oppositely to the sitting on PCIe x86 counterparts). half assed Device Trees and clumsy manuals written in english not any better than my - are sources for information on hardware. but well, I highly doubt that writing a device tree "parser" and overall - "engine" helping the system with the "root enumeration" is any harder than writing a full blown ACPI interpreter. I'd say it is easier than even porting the latter from the Intel's one. :)

_________________
ANT - NT-like OS for x64 and arm64.
efify - UEFI for a couple of boards (mips and arm). suspended due to lost of all the target park boards (russians destroyed our town).


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot], Majestic-12 [Bot] and 1070 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group