Jump to page: 1 2
Thread overview
D as System Language
Mar 30, 2015
Columbus
Mar 30, 2015
Adam D. Ruppe
Mar 30, 2015
Columbus
Mar 30, 2015
Mathias Lang
Mar 30, 2015
Columbus
Mar 30, 2015
Adam D. Ruppe
Mar 30, 2015
Columbus
Mar 30, 2015
Columbus
Mar 31, 2015
lobo
Mar 30, 2015
cym13
Mar 30, 2015
weaselcat
Mar 30, 2015
Paulo Pinto
Mar 31, 2015
Mike
Mar 31, 2015
Daniel Murphy
Mar 31, 2015
Mike
Mar 31, 2015
Kagamin
Mar 31, 2015
w0rp
Mar 31, 2015
Vladimir Panteleev
Mar 31, 2015
w0rp
March 30, 2015
I'm not so much into the D Projects, but am familiar with the
concepts of the language.
I want to use D as the language of a hobby operating system.
There isn't much documentation about doing so, and the question
already got asked: "When D is a system language, why hasn't
anyone made an OS in it yet?".
So I ask it again, maybe a bit differently:

"Is there usefull documentation about using D as OS language?"

I know there's https://github.com/xomboverlord , but this is for
D1, and didn't get updated to D2.
It won't get updated by me (in the near future), because I don't
know enough of D and the inner workings of it, to do such a thing.
For your interest: At first, the OS should run on x86_64.
Don't expect any repositories hosted by me about an OS in D, it's
just a hobbyistic interest of me.
March 30, 2015
On Monday, 30 March 2015 at 15:32:25 UTC, Columbus wrote:
> "Is there usefull documentation about using D as OS language?"

I wrote briefly in my book some stuff that might help get you started
https://www.packtpub.com/application-development/d-cookbook

Basically you can start with an empty runtime and then add back missing functions as needed to get it to compile.

> For your interest: At first, the OS should run on x86_64.

Though I did 32 bit, I haven't worked with 64 bit. Probably not that much different though.
March 30, 2015
On Monday, 30 March 2015 at 15:32:25 UTC, Columbus wrote:
> Don't expect any repositories hosted by me about an OS in D, it's just a hobbyistic interest of me.

I find it a bit sad... I mean, today not much documentation exists, such a project could be a great example. If everybody locks down its projects then of course nobody will find about it. Maybe the answer to your first question was that other did but decided not to share it.

Well, that said, it is your choice to open it or not, and I have no right to criticize this any further.

March 30, 2015
On Monday, 30 March 2015 at 15:32:25 UTC, Columbus wrote:
> I'm not so much into the D Projects, but am familiar with the
> concepts of the language.
> I want to use D as the language of a hobby operating system.
> There isn't much documentation about doing so, and the question
> already got asked: "When D is a system language, why hasn't
> anyone made an OS in it yet?".
> So I ask it again, maybe a bit differently:
>
> "Is there usefull documentation about using D as OS language?"
>
> I know there's https://github.com/xomboverlord , but this is for
> D1, and didn't get updated to D2.
> It won't get updated by me (in the near future), because I don't
> know enough of D and the inner workings of it, to do such a thing.
> For your interest: At first, the OS should run on x86_64.
> Don't expect any repositories hosted by me about an OS in D, it's
> just a hobbyistic interest of me.

https://github.com/xomboverlord/xomb
March 30, 2015
On Monday, 30 March 2015 at 15:39:07 UTC, Adam D. Ruppe wrote:
> Basically you can start with an empty runtime and then add back missing functions as needed to get it to compile.

What do you mean by "an empty runtime"?
What does a runtime need?

On Monday, 30 March 2015 at 15:42:46 UTC, weaselcat wrote:
> https://github.com/xomboverlord/xomb

Yes I know, but it is D1 and not D2.
I do not exactly understand the differences, but I want to use D2
because I don't know what would be better when I'd use D1.
March 30, 2015
2015-03-30 18:01 GMT+02:00 Columbus via Digitalmars-d < digitalmars-d@puremagic.com>:

> On Monday, 30 March 2015 at 15:39:07 UTC, Adam D. Ruppe wrote:
>
>> Basically you can start with an empty runtime and then add back missing functions as needed to get it to compile.
>>
>
> What do you mean by "an empty runtime"?
> What does a runtime need?
>
> On Monday, 30 March 2015 at 15:42:46 UTC, weaselcat wrote:
>
>> https://github.com/xomboverlord/xomb
>>
>
> Yes I know, but it is D1 and not D2.
> I do not exactly understand the differences, but I want to use D2
> because I don't know what would be better when I'd use D1.
>

I would discourage learning a language by writting a kernel (unless you previously wrote a decent one). You'll run into issues that you won't be able to easily debug, and very few people will be able to help you. You might get away by doing that with much lower level language (C, ASM), but that's pretty much it. Even C++ has some hard to debug corner case when you go freestanding.

Note: It doesn't mean D is not suitable for such a task. But I tried it myself and run into more problems than I can remember. Some people came with interesting solutions: I found https://www.youtube.com/watch?v=o5m0m_ZG9e8 very interesting (and I think it blew everyone's mind at that time ;) ). Adam also had a talk at last year's DConf, and an ebook you can easily find. Note that *the* place to go for OSDev is osdev.org which has some (sometimes outdated) D-related topics (and will give you exactly the same advice as me).


March 30, 2015
On Monday, 30 March 2015 at 16:17:33 UTC, Mathias Lang wrote:
> Note that *the* place to go
> for OSDev is osdev.org which has some (sometimes outdated) D-related topics
> (and will give you exactly the same advice as me).

Acutally I'm on osdev.org , I just wanted to hear something from
D people and not only from osdev people. It's always good to hear
different opinions.
Also I thought I would find some documentation about creating a
custom runtime and so on. Which is information I didn't get from
osdev.org
March 30, 2015
On Monday, 30 March 2015 at 17:19:38 UTC, Columbus wrote:
> Also I thought I would find some documentation about creating a
> custom runtime and so on. Which is information I didn't get from
> osdev.org

I think there is a page on the osdev wiki somewhere, but odds are the chapter in my book is the best we have (and even there, I didn't go too deep into it, I just got interrupts working on x86)

I can also offer my minimal.zip which does exceptions and other more advanced features on bare metal and could serve as a guide/starting point.
http://arsdnet.net/dcode/minimal.zip
March 30, 2015
On Monday, 30 March 2015 at 17:22:47 UTC, Adam D. Ruppe wrote:
> I think there is a page on the osdev wiki somewhere, but odds are the chapter in my book is the best we have (and even there, I didn't go too deep into it, I just got interrupts working on x86)
>
> I can also offer my minimal.zip which does exceptions and other more advanced features on bare metal and could serve as a guide/starting point.
> http://arsdnet.net/dcode/minimal.zip

I'm now reading the specific chapter in your book.
Maybe I'll work it out.
March 30, 2015
Many thanks for your work!!!

This is the thing I searched so long.
Now only the people from risc-v need to publish the privileged
ISA documentation, and I can work on my weird plan.
I don't know in what kind of problems I'm running into, but it is
one of the only exciting things I'm interested in.

I want to create an OS written in D for the RISC-V platform.
Maybe some UNIX clone, or an exokernel. I don't know. Probably
some combination (I mean they don't exclude eachother).

But don't expect anything from me, maybe you will hear from me
again in some time, maybe not. This is the current plan I'm
working on, but it may change.

thanks again for your help

Columbus out
« First   ‹ Prev
1 2