Hello,
There are the wishlist, ideas, and a roadmap on the wiki for Minix 3.
And there are many enhancements and bugs (issues in github) that need to be done to bring Minix up to date as a modern OS. And I see many PRs there.
However, this message is about What are YOUR Top 5 wishlist items. They could be enhancements or a wish to resolve an issue with Minix or an application or service or driver that is not functioning correctly.
Port an open source application or library or utility to Minix. If you need help, ask questions here on the Minix google group or on IRC #minix..
Here are my Top 5 - not in any order:
(1). Good multithreading support than we have now.
I think we have GNU pth and mthreads. But we need a real thread solution. We could use the clone() sys call from Linux as inspiration - not the source from it - but inspiration and its documentation about it. We could look at freebsd with its rfork and rfork_thread. We could look at NetBSD which uses LWP (Lightweight processes) where for each user thread, there is a 1;1 with a kernel thread. And I forget what OS - the scheduler does not worry about processes - it only schedules threads - and every process has at least one main thread.
(2). Get the application mc - Midnight Commander to work on Minix.
MC is available via the pkgin package utility. MC works fine on NetBSD. This may require fixing internals in Minix such as console tty termcap, etc. May even be related to thread issues. Not sure.
(3). Get rtl-sdr and other SDR devices to work on Minix.
SDR (Software Defined Radio) devices that connect via USB include rtl-sdr, AirSpy, LimeSDR, and HackRF. Of course, this requires a good USB, PCI, ACPI, APIC stack of stuff. RTL-SDR is implemented on top of libusb (i think) which is a user-mode library that is LGPL open source, cross-platform (Windows, Linux, NetBSD, Darwin, etc.), and designed to list USB devices but also be used to create a device driver in user mode to be used by user applications. I want SDR Play to work with Minix, but their drivers are not open. This also requires good audio and sound card support. The whole purpose of this is port some SDR applications that use a lot of DSP (Digital Signal Processing) - basically math and algorithms - is to use an SDR application on Minix. Either an open source developed for Linux or NetBSD or something I write myself.
(4). Good USB support. There is some support for USB via DDEKit but it only works on the ARM port I read. This requires good support for PCI, ACPI, and APIC as well. See wiki at
osdev.org on these topics. See web site
libusb.info as well. You can find cheap old books for PCI and USB on amazon and other books stores. But NetBSD is a good start to see how USB, PCI, etc. work..
(5). Create a library like libusb but BSD, MIT, or X11 licensed. Cross-platform especially Minix and NetBSD. Able to list PCI and USB devices including HID and mass storage, hub, host controllers, etc. But to be able to develop user mode applications / device drivers around it that has an easy to use API. And include sample applications that could be included in Minix userland to list the USB and PCI devices easily. Not sure if those tools should be restricted to super user or some privileged group or not.
There you go. Are there any applications or servers or device/device drivers you like to see working on Minix?
Of course, this requires me to do a lot of research. Re-read-read the Minix book, man pages of Minix, NetBSD, and other OSes. But also, get deep into c and assembly programming in the unix environment.
Am i way over my head? Oh yes! But you have to start somewhere. Will I fail? I am sure I will. But to succeed at something, you do not give up. Programming requires a ton of research but also requires a lot of trail and error too - and lots of debugging.
I decided instead of trying to add a feature to Minix or fix an issue, I should look at what I want the results to be - an application, utility, library, or service that I want to see working and working correctly on Minix. So, this is why i list certain things.
So, can you give me a list of 5 items of your own wish list?
Thank you,
Daniel