The shoutbox is currently out of service. Join us on Discord instead.
You can help CodeWalrus stay online by donating here.

TsukiOS

Started by Juju, April 10, 2015, 03:34:02 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Juju

April 10, 2015, 03:34:02 am Last Edit: April 10, 2015, 03:36:19 am by Juju
I began playing with operating system development those days, just for fun... Yeah it's kind of hard, but the tutorials are very helping, so it's not that hard. The OS I'm working on is very early in development (printf is working and it's pretty much that, I'm on interrupts and it's not working yet), but I have a quite interesting design on paper, figured I should share it here.

So 月OS, or TsukiOS, as I call it, should be an attempt to write the most of the OS possible in an interpreted language. It includes a minimal kernel, the Tsuki kernel, written in Assembly and C, it initializes whatever needed to boot a computer, such as interrupts, memory, timers, the FS, syscalls (which would be accessible in an os object), etc. then it runs a Lua interpreter and interprets /bin/init in user space. And that's pretty much all it does. The init script should initialize everything else and run whatever is there to run, like a GUI or something. I wonder how far I would get if everything is written in Lua, including some device drivers maybe? Anyway it should be pretty interesting.

Note: Tsuki is japanese for moon, like Lua in portugese...
Note 2: There's a similar OS I found, but in Javascript, just here.
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron



if you wanna throw money at me and/or CodeWalrus monthly it's here

DJ Omnimaga

Interesting. I am mainly curious about what you plan to have in this OS as main features to attract a good userbase. Also, if you use an Interpreted language, could this cause speed issues or should things be fine on that level? In any case, good luck, because writing an OS that does a lot of stuff like big OSes out there would be incredibly nightmarish, especially as a solo project. >.<

Snektron

Cool! For what architecture is the OS? And my friend @brentmaas also made a simple OS, though it's only 512 bytes...
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


DarkestEx

That sounds awesome :)
Keep the work up! I really want to see this come true.

Are you planning in publishing or open sourcing it?

Juju

Yeah, I forgot, it's for x86.

Quote from: DJ Omnimaga on April 10, 2015, 06:03:39 am
Interesting. I am mainly curious about what you plan to have in this OS as main features to attract a good userbase. Also, if you use an Interpreted language, could this cause speed issues or should things be fine on that level? In any case, good luck, because writing an OS that does a lot of stuff like big OSes out there would be incredibly nightmarish, especially as a solo project. >.<
The main feature is pretty much, everything is in Lua, so you can easily hack it. It's probably more a toy OS than anything, so I won't expect it to do anything fancy. I don't think it would cause speed issues, of course it would be slower than in C, but it would probably be negligible since it's pretty much the only thing it runs. I don't really plan multitasking, maybe threading or interrupts-based code would be possible though.

And yes it's going on my GitHub once it would look interesting.
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron



if you wanna throw money at me and/or CodeWalrus monthly it's here

DarkestEx

April 10, 2015, 01:28:39 pm #5 Last Edit: April 10, 2015, 01:30:29 pm by DarkestEx
Quote from: Juju on April 10, 2015, 01:06:40 pm
Quote from: DJ Omnimaga on April 10, 2015, 06:03:39 am
Interesting. I am mainly curious about what you plan to have in this OS as main features to attract a good userbase. Also, if you use an Interpreted language, could this cause speed issues or should things be fine on that level? In any case, good luck, because writing an OS that does a lot of stuff like big OSes out there would be incredibly nightmarish, especially as a solo project. >.<
The main feature is pretty much, everything is in Lua, so you can easily hack it. It's probably more a toy OS than anything, so I won't expect it to do anything fancy. I don't think it would cause speed issues, of course it would be slower than in C, but it would probably be negligible since it's pretty much the only thing it runs. I don't really plan multitasking, maybe threading or interrupts-based code would be possible though.

Theres a lua bytecode converter available somewhere. Maybe you could make something like a JIT compiler for the lua code to make it faster.

EDIT:
Heres a link to a JIT compiler.
Maybe it could help: http://luajit.org/luajit.html

Juju

Yeah, I saw it. And considered it.
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron



if you wanna throw money at me and/or CodeWalrus monthly it's here

Snektron

Compiler is cool and fast and all, but with an interperter you can write files way easier :P
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


DarkestEx

Quote from: Cumred_Snektron on April 10, 2015, 02:28:03 pm
Compiler is cool and fast and all, but with an interperter you can write files way easier :P

I guess you got me wrong, Cumred_Snektron. A JIT compiler converts the source code (in this case Lua code) into machine code before running it.
This makes it way faster.

Duke "Tape" Eiyeron

JIT = Just In Time (and not Justin Hyme). It compiles on the fly the inputted source code, that's pretty amazing when you consider the feat.

Godspeed, Yuki, this is a promising project! o7

Snektron

Oh i'm sorry, i must have misread something about a compiler :/
(and yeah i know what JIT is :P)
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


DJ Omnimaga

Ah right if it was compiled it might be better for speed. It would be a shame if someone had a quantum computer in the future, yet the OS achieved Pentium II-esque performances just because it was written in interpreted Lua >.<

Although maybe I'm exagerrating a bit here, but Casio managed to do it once >.<

Snektron

Well it's not meant to be a high performance OS, is it? :P
Btw you can already buy yourself a quantum computer, at around $10000000
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


DarkestEx

Quote from: Cumred_Snektron on April 11, 2015, 07:22:35 am
Well it's not meant to be a high performance OS, is it? :P

Well, if its possible why don't try it.
Maybe the OS will get useful. I could imagine a Lua based os, being less likely to be virus-attacked (as the sourcecode is visible) and Lua is the fastest interpreted language (with JIT even faster) available, with what you really can do things.

Snektron

If it's compiled then the source code isn't visible :P but yeah, a lua based OS is quite cool. There are some ComputerCraft "OS"ses, but they're actually just a shell :/
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Powered by EzPortal