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/).
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. >.<
Cool! For what architecture is the OS? And my friend @brentmaas also made a simple OS, though it's only 512 bytes...
That sounds awesome :)
Keep the work up! I really want to see this come true.
Are you planning in publishing or open sourcing it?
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.
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
Yeah, I saw it. And considered it.
Compiler is cool and fast and all, but with an interperter you can write files way easier :P
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.
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
Oh i'm sorry, i must have misread something about a compiler :/
(and yeah i know what JIT is :P)
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 >.<
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
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.
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 :/
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.
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.
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.
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)
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=
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.