4 ms·
What a cool little project. It's astonishing how far this can boot with less than a third of the syscalls of Linux implemented. However, my guess is that the o
by dark-star 3y ago
What a cool little project. It's astonishing how far this can boot with less than a third of the syscalls of Linux implemented.
However, my guess is that the ones that are missing are the more complicated ones. The TTY layer, for example, looks rather basic at the moment. Getting this right will probably be a lot of work.
So don't hold your breath for Maestro running your Linux applications in the next 3 years or so (even without taking into account all the thousands of drivers that Linux has)
- berkes 3y agoIs there maybe a subset of Linux applications that it could run soon? A proxy, nfs, some database server, http server, firewall? I think it doesn't need to run Steam, libreoffice and Firefox to be useful. Many parts in a common server or microservices architecture are relatively simple in what they do and would probably benefit a lot from a safe, simple kernel.
- consp 3y ago> Is there maybe a subset of Linux applications that it could run soon? A proxy, nfs, some database server, http server, firewall? You first need to port drivers for your -specific- network and io chipset. And if you want adoption and performance you also need the manufacturer on board. My guess is not quite soon.
- eggnet 3y agoA good first target is a VM.
- ClumsyPilot 3y agotahts actually a pretty huge market
- deleted 3y ago[deleted]
- viraptor 3y agoAnd virtio will get you really far in hypervisor compatibility as well.
- llenotre 3y agoIndeed, as I stated in the blog post, I am not very far from being able to run a text editor such as Vim or a compiler :)
- Arainach 3y ago>It's astonishing how far this can boot with less than a third of the syscalls of Linux implemented. It's a great project, but I don't find this ratio surprising at all. Any mature platform builds up logic to enable scenarios such that most things don't need most of the system. As the saying goes, no one uses more than 10% of Excel, but it's a different 10% for everyone. You could implement 30% of Excel functions and probably have an engine which opens 99% of spreadsheets out there.....though if you wanted full doc compatibility you would still have a long journey ahead of you.
- kelvie 3y ago> You could implement 30% of Excel functions and probably have an engine which opens 99% of spreadsheets out there.....though if you wanted full doc compatibility you would still have a long journey ahead of you. Isn't this what effectively googles docs did? For a ton of use-cases google sheets is enough, I've heard of companies that basically were extra stringent about excel licenses (as a cost cutting measure no doubt), instead heavily pushing users toward using google sheets instead.
- staunton 3y agoNo. Excel/Docs is user-facing. Most of the way is enough, people will figure out the edge cases or just give up on them. To be viable as an OS, you have to support applications. An application running on your OS won't go "well, I guess this syscall doesn't work. I'll try to go around it somehow"...
- Anonbrit 3y agoIf you're writing your own libc, then you absolutely can work around a whole bunch of missing syscalls by emulating them in userspace
- toast0 3y ago> What a cool little project. It's astonishing how far this can boot with less than a third of the syscalls of Linux implemented. My hobby OS is more or less a FreeBSD compatible kernel for one specific language VM[1]; it looks like I support 61 syscalls out of 424, and it's been a while since I ran across one I missed (sometimes syscalls are only called in some code paths, or when I target a newer kernel, there may be newer syscalls) There are a lot of syscalls, and some of them are pretty esoteric; eventually a fully openended replacement will get to most of them, but a third is a good start. [1] I wanted VM on metal and/or boot to VM, and it became apparent that this is the least effort way to get there, other than probably just having init=/path/to/the/vm; but that doesn't get me what I really want (hardware drivers and tcp stack in the VM language).
- PrimeMcFly 3y agoGot a github?
- toast0 3y agoNot yet, I've got one more milestone to hit before I make it public, and I'm working on some other things before I tackle that. Release milestones are SMP, networking, amd64. SMP works! Networking works for realtek gigE and virtio-net! amd64 hasn't been started (runs x86-32 bit) and will be a big task and should touch a lot of the kernel and clean up. But, I wasn't trying to hijack this thread. Email me.