CodeWalrus

Development => PC, Mac & Vintage Computers => Topic started by: Juju on April 10, 2015, 03:34:02 am

Title: TsukiOS
Post by: Juju on April 10, 2015, 03:34:02 am
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 (http://runtimejs.org/).
Title: Re: TsukiOS
Post by: 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. >.<
Title: Re: TsukiOS
Post by: Snektron on April 10, 2015, 08:09:53 am
Cool! For what architecture is the OS? And my friend @brentmaas also made a simple OS, though it's only 512 bytes...
Title: Re: TsukiOS
Post by: DarkestEx on April 10, 2015, 08:16:25 am
That sounds awesome :)
Keep the work up! I really want to see this come true.

Are you planning in publishing or open sourcing it?
Title: Re: TsukiOS
Post by: Juju on April 10, 2015, 01:06:40 pm
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.
Title: Re: TsukiOS
Post by: DarkestEx on April 10, 2015, 01:28:39 pm
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
Title: Re: TsukiOS
Post by: Juju on April 10, 2015, 02:14:47 pm
Yeah, I saw it. And considered it.
Title: Re: TsukiOS
Post by: 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
Title: Re: TsukiOS
Post by: DarkestEx on April 10, 2015, 02:31:17 pm
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.
Title: Re: TsukiOS
Post by: Duke "Tape" Eiyeron on April 10, 2015, 02:42:42 pm
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
Title: Re: TsukiOS
Post by: Snektron on April 10, 2015, 02:43:20 pm
Oh i'm sorry, i must have misread something about a compiler :/
(and yeah i know what JIT is :P)
Title: Re: TsukiOS
Post by: DJ Omnimaga on April 11, 2015, 01:03:22 am
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 >.<
Title: Re: TsukiOS
Post by: Snektron on April 11, 2015, 07:22:35 am
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
Title: Re: TsukiOS
Post by: DarkestEx on April 11, 2015, 10:09:07 am
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.
Title: Re: TsukiOS
Post by: Snektron on April 11, 2015, 01:45:43 pm
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 :/
Title: Re: TsukiOS
Post by: DarkestEx on April 11, 2015, 01:48:11 pm
Quote from: Cumred_Snektron on April 11, 2015, 01:45:43 pm
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 :/

Yeah, but the point of JIT is that the source is visible and is, when run dynamically compiled to native code.
I know and used the ComputerCraft mod alot in the past. It is quite nice.
Title: Re: TsukiOS
Post by: DJ Omnimaga on April 12, 2015, 04:17:47 am
Quote from: Cumred_Snektron on April 11, 2015, 01:45:43 pm
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 :/
On the HP Prime, when you compile a program, you can still access its source code by going in the editor. I think it stores a copy of the source inside the compiled program, though.
Title: Re: TsukiOS
Post by: Duke "Tape" Eiyeron on April 12, 2015, 07:55:00 am
A shell is already an good OS (or start), you see. It's not beacuse you don't have a fancy GUI that you can't already use your computer/thing on it as much as with.
Title: Re: TsukiOS
Post by: gameblabla on November 03, 2016, 04:23:34 am
It's really funny seeing Juju trying to undertake such a massive project like this,
only to see it die less than a day after.
Maybe he's still secretly working on it...

Though i kind of admit i too attempted projects as ambitious as this one.
(DellardOS (http://DellardOS) for example, i still need to update it)
Title: Re: TsukiOS
Post by: DJ Omnimaga on November 03, 2016, 04:56:04 am
To be honest:
-Most juju projects did that :P (maybe short attention span plus school. I tend to switch projects often myself). This is why I was skeptical about the MLP fan movie project at first.
-It should be called TuskiOS or TuskOS not TsukiOS :3=
Title: Re: TsukiOS
Post by: Juju on November 03, 2016, 05:26:01 am
I have no attention span and I tend to abandon projects when the code I wrote/pieced together from tutorials and Linux 0.01 breaks beyond repair, like what happened to this project. Could try again, though.