4 ms·
Anyone can write a functioning kernel. The question is if it provides all the functionality required to run complex modern software -- especially big databases,
by feld 10y ago
Anyone can write a functioning kernel. The question is if it provides all the functionality required to run complex modern software -- especially big databases, which was pretty much your defacto benchmark back then.
"Linux doesn't provide these syscalls or anything comparable" might mean you go from "runs reasonably well" to "can't run on this hardware at all because the kernel doesn't know how to do these tricks with memory, etc"
- varjag 10y agoI personally know at least a dozen Linux kernel contributors. Some of them are among the most competent, prolific and enthusiastic developers out there who would code until their fingertips bleed. Most work or worked at the usual suspects, yes, including Oracle. It's the first time however I hear anyone claiming as much credit. Oracle didn't even start dabbling with Linux until 21st century, and it was already a decade old project dominating Internet server deployments at that point.
- MrTonyD 10y agoIt certainly wasn't my intent to criticize any Linux contributor. I think that there are a lot of people doing the right things for the right reasons. They do that work in a social context, though. And I think that we need to understand how our society really works in order to make the right decisions moving forward.
- MrTonyD 10y agoExactly. When I started doing the port of Oracle to Linux I had been reading the newsgroups - and they had been claiming POSIX compatibility. But system calls were missing many options, and entire sections of library code were missing. I'd run POSIX compatibility testing, so I knew that something didn't make sense. I kept posting to the news groups - mentioning that I was trying to port some software and hoping that they would notice my Oracle email address and take me seriously. Eventually, after trying several branches, somebody admitted that they had never actually run the POSIX suite, since it was too expensive. As long as you only wanted to do simple programs, Linux was fine. It was nowhere near being able to run Oracle, and it was nowhere near being able to run it well (with any of the then-modern features such as async I/O or direct memory paths or scheduling for long runnning processes or efficient large memory allocations.) It was a toy.
- jacquesm 10y agoI'm with you on the facts, but it was anything but a toy. Minix was a toy, linux allowed a whole raft of useful applications to be run on PCs that would have otherwise required a large investment in hardware. Linux would have succeeded with or without Oracle, and I find it sad that you would try to re-write history to the point where it would seem that without Oracle linux would have remained a toy.
- corysama 10y ago> Linux would have succeeded with or without Oracle, and I find it sad that you would try to re-write history to the point where it would seem that without Oracle linux would have remained a toy. Ehhh... I don't see where he claimed anything about that. I see "Linux was a toy. Oracle helped make it not a toy." But, nothing about what would have happened otherwise. Be careful not to get sad over things not said. Principle of Charity and all that...
- kazinator 10y agoSome circuit board with 64 kilobytes of RAM sent on a mission to Mars can be a "non toy". Toy: for amusement or education of creator. Non-toy: implements real requirement for some task. For instance, 80 bytes of machine code which pop out a piece of bread when it toasts to a certain darkness level: non-toy.
- YeGoblynQueenne 10y ago>> I kept posting to the news groups Which news groups were those? They (and your posts) should still be around somewhere.
- jacquesm 10y agoI've found one post in comp.linux.os.development.
- kazinator 10y agoExposing async I/O is largely a trivial hack, if the filesystem is already asynchronous under the hood, allowing I/O to proceed in parallel with computation. It's mostly about separating the request placement for I/O from being notified about completion or optionally waiting. The wherewithal to cob together this sort of mousetrap was in the Linux kernel since the early dawn, pretty much. 1990 POSIX didn't have aio_read and all that; it came later. A lot of this stuff was being standardized in parallel with the progress being made in Linux. According to the 1997 Single Unix Spec (Issue 2), the aio stuff came from the 1993 real-time extensions to POSIX. [http://pubs.opengroup.org/onlinepubs/007908799/xsh/aio_read.html http://pubs.opengroup.org/onlinepubs/007908799/xsh/aio_read....] "Derived from the POSIX Realtime Extension (1003.1b-1993/1003.1i-1995)". This was bleeding edge POSIX in the mid 1990's, and didn't exist when Torvalds started. The performance optimization requirements of large databases aren't the be-all and end-all of "non-toyness", anyway. The Linux people were decent at optimizing for the cases that their user base cared about. E.g. Linux exploded as a web server OS all over the world, so there was a lot of focus on decent networking, and tricks like serving a static file right out of the kernel and whatnot.