Reminded me of that quote: "An operating system is a collection of things that don't fit into a language. There shouldn't be one." --DanIngalls
There are environments that do not have a strong distinction between OS and language. While adored by their users, for some reason they are never very popular. Oberon, Smalltalk and the old Lisp Machines come to mind. (Maybe Forth too, though most "Forth OSes" never tried to do multitasking or even file systems.) I suspect there are anti-network effects holding them back. They support one language and one language on…
LibOS – A library operating system for Linux
51–59 of 59 posts
Re: LibOS – A library operating system for Linux
#52Earlier quoted context omitted.
There are environments that do not have a strong distinction between OS and language. While adored by their users, for some reason they are never very popular. Oberon, Smalltalk and the old Lisp Machines come to mind. (Maybe Forth too, though most "Forth OSes" never tried to do multitasking or even file systems.) I suspect there are anti-network effects holding them back. They support one language and one language on…
Using a standalone Forth is more or less a rejection of the utility of an operating system. My years of using a stand alone Forth for day to day computing instilled in me a deep cynicism when it comes to the complexity of operating systems.
Re: LibOS – A library operating system for Linux
#53Stupid question: why does the Linux Kernel handle the networking in the first place? Why not implement everything in userspace from the start?
For a number of reasons: - It used to be impossible to implement securely. Until very recently, there was no hardware support for virtualizing the network buffers, which would mean emulating the network hardware in userspace. This would be very slow. - Because even today, many devices don't have the required hardware virtualization support. For example, many (most?) ARM devices. If you give direct DMA access, you mig…
For the latter, performance concerns would be a bigger issue.
Re: LibOS – A library operating system for Linux
#54Earlier quoted context omitted.
There are environments that do not have a strong distinction between OS and language. While adored by their users, for some reason they are never very popular. Oberon, Smalltalk and the old Lisp Machines come to mind. (Maybe Forth too, though most "Forth OSes" never tried to do multitasking or even file systems.) I suspect there are anti-network effects holding them back. They support one language and one language on…
IIRC the Lisp Machines supported C in addition to the system's dialect of Lisp.
So that's several variants of lisp, as well as fortran, c, pascal, prolog and ada. Thats pretty much most of the languages in use in the 80s.
Re: LibOS – A library operating system for Linux
#55Earlier quoted context omitted.
IIRC the Lisp Machines supported C in addition to the system's dialect of Lisp.
> IIRC the Lisp Machines supported C in addition to the system's dialect of Lisp. IIRC the Lisp Machines (well, CADR at least) compiled code down to some pretty high-level machine code implemented in microcode. How many standard C idioms could actually be expressed in that kind of code? I'm also not seeing how it would give a speed-up, which is the usual reason to code in C. Was the C compiled to microcode?
1) using the Genera development environment, where you could interactively/incrementally develop/debug C
2) using some C/Pascal software on a Lisp Machine. Examples were the MIT X11 server and TeX.
Re: LibOS – A library operating system for Linux
#56Stupid question: why does the Linux Kernel handle the networking in the first place? Why not implement everything in userspace from the start?
"One could start arguing about it from the historical viewpoint where network packet creation was a holy operation."
Re: LibOS – A library operating system for Linux
#57How might this relate to rump kernels and unikernels?
Re: LibOS – A library operating system for Linux
#58I have to credit this blog for much of the material I've absorbed over the years, it's been fantastic how much I've learned here. I've always managed to learn something new from articles, all this to say that today is different... I really do not understand this library at all. Could someone explain me different possible uses for this library? What would be the uses of this out of the box?
Re: LibOS – A library operating system for Linux
#59Stupid question: why does the Linux Kernel handle the networking in the first place? Why not implement everything in userspace from the start?