Page 1 of 1
Announcement: Anthill OS
Posted: Thu Sep 12, 2024 2:32 pm
by tolias
Hello all,
I have been working on a distributed operating system targeting raspberry pi boards for university. It's mostly a microkernel and some servers passing around (a butchered version of) 9p messages from Plan 9. It kind of works at the moment, I plan to expand on it.
You can find the code here:
https://github.com/tolias-an/anthill-os
Let me know what you think!
Cheers
Re: Announcement: Anthill OS
Posted: Fri Sep 13, 2024 11:57 pm
by Alexey1994
tolias wrote: ↑Thu Sep 12, 2024 2:32 pm
Let me know what you think!
Overall a pretty neat job.
I think your context is too thick
https://github.com/tolias-an/anthill-os ... _context.S. You can try to reduce it with cooperative multitasking (here is an example for 386
https://github.com/Alexey1994/IdealOS/b ... cess.c#L29).
I also think that 64-bit raspberry is a very bad platform, because it consumes a lot of energy, more than atom laptops. The best choice would be stm32f411.
Re: Announcement: Anthill OS
Posted: Sat Sep 14, 2024 3:59 am
by tolias
Thanks for the tips.
You can try to reduce it with cooperative multitasking.
From my understanding that would impact the application portability, which is something I plan to rely on. I'll keep it in mind though.
I also think that 64-bit raspberry is a very bad platform, because it consumes a lot of energy, more than atom laptops. The best choice would be stm32f411.
I chose raspberry pi because that's what i'm most familiar with, and I could find many resources for it. When it runs on baremetal, I'll take a stab at porting it to other chips.
Re: Announcement: Anthill OS
Posted: Sat Sep 14, 2024 4:30 am
by Alexey1994
tolias wrote: ↑Sat Sep 14, 2024 3:59 am
From my understanding that would impact the application portability, which is something I plan to rely on. I'll keep it in mind though.
Shouldn't have any effect at all, since yield calls are carried into system calls, excluding poorly written programs. Moreover, there is a good trigger for a hung program - it does not switch after n timer ticks. In this case, you can connect preemptive multitasking, which you already have implemented, and save the thick task context. In other words, a combined approach will increase performance and maintain compatibility.
Re: Announcement: Anthill OS
Posted: Sat Sep 14, 2024 4:53 am
by tolias
Thanks! I'll look into it.