ToaruOS 2.0
ToaruOS 2.0
tl;dr: https://github.com/klange/toaruos/releases/tag/v2.0.0
I have been working on ToaruOS for eleven years now, which is kind of amazing to think about. I set the target goals for 2.0 all the way back in 2013: 64-bit and SMP. It has been a long journey, and a lot of things happened on the way there, but now I am quite happy to finally announce that ToaruOS 2.0 is ready.
The main selling point of this release is Misaka - a new 64-bit, SMP-capable kernel with a rebuilt core and a port of the original system call layers from ToaruOS's previous kernel (which never got a proper name, but I've taken to calling "toaru32" for clarity). Misaka's memory management, startup code, and large parts of process management are new and were written with multicore systems in mind, but the VFS and the bulk of device drivers remain mostly the same, which made porting the complete ToaruOS "NIH" userspace to the new platform a breeze.
ToaruOS 2.0 also brings a number of improvements to that userspace, including:
- A new TrueType text rasterizer engine.
- Affine transformation rendering in the graphics library.
- The latest build of Kuroko, my implementation of a dialect of Python.
- Updated packages in the repository, including a new port of Doom with support for sound effects.
- Process tracing tools powered by new functionality in Misaka, including a stepping debugger (`dbg`), system call tracer, `strace`, and two resource monitors (`top` and `cpuwidget`).
ToaruOS's bootloaders also got a considerable revamp with new graphical menus and support for disk boot.
ToaruOS remains an ongoing project, and I have set out a roadmap for the next few releases.
I have been working on ToaruOS for eleven years now, which is kind of amazing to think about. I set the target goals for 2.0 all the way back in 2013: 64-bit and SMP. It has been a long journey, and a lot of things happened on the way there, but now I am quite happy to finally announce that ToaruOS 2.0 is ready.
The main selling point of this release is Misaka - a new 64-bit, SMP-capable kernel with a rebuilt core and a port of the original system call layers from ToaruOS's previous kernel (which never got a proper name, but I've taken to calling "toaru32" for clarity). Misaka's memory management, startup code, and large parts of process management are new and were written with multicore systems in mind, but the VFS and the bulk of device drivers remain mostly the same, which made porting the complete ToaruOS "NIH" userspace to the new platform a breeze.
ToaruOS 2.0 also brings a number of improvements to that userspace, including:
- A new TrueType text rasterizer engine.
- Affine transformation rendering in the graphics library.
- The latest build of Kuroko, my implementation of a dialect of Python.
- Updated packages in the repository, including a new port of Doom with support for sound effects.
- Process tracing tools powered by new functionality in Misaka, including a stepping debugger (`dbg`), system call tracer, `strace`, and two resource monitors (`top` and `cpuwidget`).
ToaruOS's bootloaders also got a considerable revamp with new graphical menus and support for disk boot.
ToaruOS remains an ongoing project, and I have set out a roadmap for the next few releases.
- AndrewAPrice
- Member
- Posts: 2300
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: ToaruOS 2.0
Wow! Your OS is really maturing and one I look up to for inspiration.
My OS is Perception.
Re: ToaruOS 2.0
It looks very good, however why not enter the market ? And do you have the amount of millions of dollars for that ? Hire people and make a business. Make your OS grow much faster. Maybe change the API to not make it look like Linux.
You know it doesn't make sense to work on something for 12 years and not getting something back right ?
Try to find something in your OS that users are looking for and not finding in others for example one of the things in my OS is speed and optimizations, you may see from other forums that mine has much faster API, interrupts and task scheduling and on the way maybe to make the fastest graphics without GPUs (Who knows ?!)
Devc1,
You know it doesn't make sense to work on something for 12 years and not getting something back right ?
Try to find something in your OS that users are looking for and not finding in others for example one of the things in my OS is speed and optimizations, you may see from other forums that mine has much faster API, interrupts and task scheduling and on the way maybe to make the fastest graphics without GPUs (Who knows ?!)
Devc1,
Re: ToaruOS 2.0
Hey, could you tell the algorithm of your TTF Rasterizer, please ? Months ago before knowing this forums I had a TTF driver and it just used to draw the paths, my tries of rasterizing were a complete failure so I stopped it until I get a 3d graphics API.
Devc1,
Devc1,
Re: ToaruOS 2.0
My TrueType parser as well as the path rasterizer are both here: https://github.com/klange/toaruos/blob/ ... lib/text.cdevc1 wrote:Hey, could you tell the algorithm of your TTF Rasterizer, please ? Months ago before knowing this forums I had a TTF driver and it just used to draw the paths, my tries of rasterizing were a complete failure so I stopped it until I get a 3d graphics API.
Devc1,
Re: ToaruOS 2.0
Thanks, what do you think about the answer (that you should plan on some business).
Could you explain your rasterizing algorithm ?
Devc1,
-- don't cheer me because I don't drink ::)
Could you explain your rasterizing algorithm ?
Devc1,
-- don't cheer me because I don't drink ::)
-
- Member
- Posts: 426
- Joined: Tue Apr 03, 2018 2:44 am
Re: ToaruOS 2.0
I suspect you've answered your own question there.devc1 wrote:It looks very good, however why not enter the market ? And do you have the amount of millions of dollars for that ? Hire people and make a business.
Sure it does. How about just academic curiosity?devc1 wrote: Make your OS grow much faster. Maybe change the API to not make it look like Linux.
You know it doesn't make sense to work on something for 12 years and not getting something back right ?
Personally, I'm under no illusion my toy OS will run anything other than what I port to it. But it doesn't stop me tinkering with it. And I've learned loads at the same time, that I can apply to my day job or some future job if I ever move into professional systems level programming.
Probably because it's well known that a new OS does not just burst onto the scene and be successful, regardless of its capabilities.devc1 wrote: Try to find something in your OS that users are looking for and not finding in others for example one of the things in my OS is speed and optimizations, you may see from other forums that mine has much faster API, interrupts and task scheduling and on the way maybe to make the fastest graphics without GPUs (Who knows ?!)
Devc1,
You don't think Linux or Windows are optimized? Don't mistake the cruft that sits on top of the kernel, and provides sometimes sluggish UI response, with the kernel itself. Linux is sprightly even on low end embedded controllers, such as in routers, and you'd be doing well to match what lengths Linux or Windows can push the hardware.
Re: ToaruOS 2.0
Academic curiosity ?? The man has an almost full not a toy OS for your curiosity !
Re: ToaruOS 2.0
Could give details as to your optimizations?devc1 wrote:you may see from other forums that mine has much faster API, interrupts and task scheduling and on the way maybe to make the fastest graphics without GPUs (Who knows ?!)
Every person here (with one or two exceptions) is writing antoy OS. Not a serious OS to take over Windows / Linux.devc1 wrote:Academic curiosity ?? The man has an almost full not a toy OS for your curiosity !
Because the general-purpose OS market is not able to handle more than what the there currently is. It just won't happen.devc1 wrote:however why not enter the market ?
I don't know klange personally, but if he hasn't done it yet, its safe to say that he knows there isn't a market for another OS. If he does have millions of dollars, that's an easy way to lose it.devc1 wrote:And do you have the amount of millions of dollars for that ? Hire people and make a business. Make your OS grow much faster.
But then no ported apps will work on it. There goes any chance of anyone using it.devc1 wrote:Maybe change the API to not make it look like Linux.
- Killaship
- Posts: 1
- Joined: Sun Nov 07, 2021 11:01 am
- Libera.chat IRC: Killaship34
- Location: Suburbs of Rochester, NY
- Contact:
Re: ToaruOS 2.0
Wow! I don't really know what else to say other than good job! I'm always so surprised about how many people make pretty functional operating systems just as a hobby!
(Well, I am included in that, but I've been at it for a year and haven't gotten much further than getting the keyboard working in kernelspace. )
(Well, I am included in that, but I've been at it for a year and haven't gotten much further than getting the keyboard working in kernelspace. )
Find me @ Killaship34 on Libera.chat! (I frequent #osdev and ##chat)
Re: ToaruOS 2.0
Who knows, who said that nokia will be superseded by Apple and Samsung ? (I was not alive in that moment).
What gives me hope that these OS's will be replaced is that everyone is still hoping for something at another level and something new. Linux is likely not seen, and no one likes the latency of Windows and the hardware requirements for a faster experience.
The best way to clean out Windows and Linux, is to have faster gaming (more than 40% maybe) and port more (famous) games to your OS, put those millions of dollars to make sure they are highly optimized (only on your platform), give a better performance and options for servers such as partially disabling the idle thread (maybe) and power management to get the maximum hardware performance, create things like Word, Excel which seems impossible if you're alone, create a reasonnable user interface.
And of course, be a marketing genious !
I optimize the repetitive task with assembly (such as task scheduling and fetch functions), I only use SIMD in assembly to minimise memory access, I optimize structures for fetching, when I will read or write memory multiple times I just store it in a register (In the scheduler this optimizes alot), and things like this... with HPET my scheduler has reported (on my pretty old ACPI laptop with no AVX) 5us latency per schedule (is that good ?).
I don't know how but my AHCI driver can read 500 MB of data in 1100 ms in my old laptop with a 300 mb/s HDD and Windows reads it with 98 MB/S because as you said windows is veeery optimized.
What gives me hope that these OS's will be replaced is that everyone is still hoping for something at another level and something new. Linux is likely not seen, and no one likes the latency of Windows and the hardware requirements for a faster experience.
The best way to clean out Windows and Linux, is to have faster gaming (more than 40% maybe) and port more (famous) games to your OS, put those millions of dollars to make sure they are highly optimized (only on your platform), give a better performance and options for servers such as partially disabling the idle thread (maybe) and power management to get the maximum hardware performance, create things like Word, Excel which seems impossible if you're alone, create a reasonnable user interface.
And of course, be a marketing genious !
I optimize the repetitive task with assembly (such as task scheduling and fetch functions), I only use SIMD in assembly to minimise memory access, I optimize structures for fetching, when I will read or write memory multiple times I just store it in a register (In the scheduler this optimizes alot), and things like this... with HPET my scheduler has reported (on my pretty old ACPI laptop with no AVX) 5us latency per schedule (is that good ?).
I don't know how but my AHCI driver can read 500 MB of data in 1100 ms in my old laptop with a 300 mb/s HDD and Windows reads it with 98 MB/S because as you said windows is veeery optimized.
Re: ToaruOS 2.0
I don't want to lock my own announcement thread, so can you please take this conversation elsewhere?
Re: ToaruOS 2.0
Sure !
Devc1,
Devc1,