You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

TsukiOS

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

0
b/PC, Mac & Vintage Computers publicado por u/Yuki 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.
Last Edit: April 10, 2015, 03:36:19 AM by Juju
Inicia sesión o crea una cuenta para dejar un comentario
u/Dream of Omnimaga 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. >.<
u/Snektron 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...
u/DarkestEx 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?
u/Yuki 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.
u/DarkestEx 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
Last Edit: April 10, 2015, 01:30:29 PM by DarkestEx
u/Yuki April 10, 2015, 02:14:47 PM
Yeah, I saw it. And considered it.
u/Snektron 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
u/DarkestEx 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.
u/Duke "Tape" Eiyeron 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
u/Snektron 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)
u/Dream of Omnimaga 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 >.<
u/Snektron 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
u/DarkestEx 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.
u/Snektron 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 :/
Start a Discussion

b/PC, Mac & Vintage Computers

Computer programming discussion and project showcase

132
Topics
Explore Board
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal