Join us on Discord!
You can help CodeWalrus stay online by donating here.

TsukiOS

Started by Yuki, April 10, 2015, 03:34:02 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yuki

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.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
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

Dream of 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. >.<
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Snektron

Cool! For what architecture is the OS? And my friend @brentmaas also made a simple OS, though it's only 512 bytes...
  • Calculators owned: TI-84+
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?
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Yuki

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.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
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

#5
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
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Yuki

Yeah, I saw it. And considered it.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
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
  • Calculators owned: TI-84+
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.
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

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
  • Calculators owned: A lot.

Snektron

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


Dream of 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 >.<
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

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
  • Calculators owned: TI-84+
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.
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

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 :/
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Powered by EzPortal