4 ms·
Exactly. 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 w
by MrTonyD 10y ago
Exactly. 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.