ToaruOS 2.0

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
klange
Member
Member
Posts: 679
Joined: Wed Mar 30, 2011 12:31 am
Libera.chat IRC: klange
Discord: klange

ToaruOS 2.0

Post by klange »

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.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: ToaruOS 2.0

Post by AndrewAPrice »

Wow! Your OS is really maturing and one I look up to for inspiration.
My OS is Perception.
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: ToaruOS 2.0

Post by devc1 »

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,
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: ToaruOS 2.0

Post by devc1 »

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,
klange
Member
Member
Posts: 679
Joined: Wed Mar 30, 2011 12:31 am
Libera.chat IRC: klange
Discord: klange

Re: ToaruOS 2.0

Post by klange »

devc1 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,
My TrueType parser as well as the path rasterizer are both here: https://github.com/klange/toaruos/blob/ ... lib/text.c
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: ToaruOS 2.0

Post by devc1 »

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 ::)
thewrongchristian
Member
Member
Posts: 425
Joined: Tue Apr 03, 2018 2:44 am

Re: ToaruOS 2.0

Post by thewrongchristian »

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.
I suspect you've answered your own question there.
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 ?
Sure it does. How about just academic curiosity?

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.
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,
Probably because it's well known that a new OS does not just burst onto the scene and be successful, regardless of its capabilities.

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.
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: ToaruOS 2.0

Post by devc1 »

Academic curiosity ?? The man has an almost full not a toy OS for your curiosity !
nexos
Member
Member
Posts: 1079
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: ToaruOS 2.0

Post by nexos »

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 ?!)
Could give details as to your optimizations?
devc1 wrote:Academic curiosity ?? The man has an almost full not a toy OS for your curiosity !
Every person here (with one or two exceptions) is writing antoy OS. Not a serious OS to take over Windows / Linux.
devc1 wrote:however why not enter the market ?
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:And do you have the amount of millions of dollars for that ? Hire people and make a business. Make your OS grow much faster.
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:Maybe change the API to not make it look like Linux.
But then no ported apps will work on it. There goes any chance of anyone using it.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
User avatar
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

Post by Killaship »

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. :mrgreen: )
Find me @ Killaship34 on Libera.chat! (I frequent #osdev and ##chat)
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: ToaruOS 2.0

Post by devc1 »

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.
klange
Member
Member
Posts: 679
Joined: Wed Mar 30, 2011 12:31 am
Libera.chat IRC: klange
Discord: klange

Re: ToaruOS 2.0

Post by klange »

I don't want to lock my own announcement thread, so can you please take this conversation elsewhere?
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: ToaruOS 2.0

Post by devc1 »

Sure !
Devc1,
nexos
Member
Member
Posts: 1079
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: ToaruOS 2.0

Post by nexos »

Oops, sorry klange :oops:
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
Post Reply