5 ms·
>other operating systems have caught up, while NT was pretty close to its present design even in the early 90s The one thing you will find almost as a theme wi
by blinkingled 13y ago
>other operating systems have caught up, while NT was pretty close to its present design even in the early 90s
The one thing you will find almost as a theme with Linux design is that there is minimum of "future" it. That applies to most of the Linux user space as well. This is a good thing and a bad thing.
For example multi-gpu systems with multiple outputs were not taken into consideration when both the Kernel and Xorg parts were designed. They took the most common usecase of single GPU, probably made some assumptions around it and coded something that works for that usecase.
Microsoft, on the other hand (almost out of necessity) had to actually design the NT Kernel while making no assumptions - multi GPUs may not have existed when XP was released but none the less MS had to design for the eventual reality when some OEM will stuff 2 GPUs and will have to write drivers for it without Microsoft being able to change the XP kernel design or even implementation in any way. I am sure the same can be said about scalability - when massively multicore CPUs weren't around NT kernel was mostly up for task of supporting them, whereas Linux adopted with lot of scalability related work that followed after the fact. (Remember the early NT vs Linux benchmarks?)
Designing for future is bad because it comes with certain baggage and to an extent added upfront costs. It is good for future compatibility, code maturity and obviously saves rewrite efforts - you don't have to rip off all the code and start over and take care not to break existing software etc. There is less code churn in Windows world I am sure than there is in the Linux world where people are constantly adopting to new realities. This creates an environment ripe for new bugs, instability and only with the amount of volunteer effort the cost factor can be lesser than prohibitively expensive.
- pjmlp 13y ago> The one thing you will find almost as a theme with Linux design is that there is minimum of "future" it. That applies to most of the Linux user space as well. This is a good thing and a bad thing. Maybe because it is mostly about the "past", bringing enterprise UNIX and mainframe designs into Linux?
- blinkingled 13y agoThat applies for the core kernel. But drivers/hardware support on the other hand is pure Linux way of doing - don't think any mainframes or enterprise UNIXes had to bother with multi-GPU systems, so what you see in that area of Linux design is pure, quick to market hackery aided by delay-design-until-it-no-longer-works-without-it. It's depressing in a way but that's the best we got when it comes to a hackable Open Source OS that you can somehow run on your hardware and even patch things you don't like.
- pjmlp 13y agoIRIX?
- blinkingled 13y agoYes, but still, how much of IRIX's GPU stack did SGI contribute to Linux? How much of the current DRI/DRM/GPU Driver infrastructure is inspired from old UNIX designs? The point I am trying to make is that core kernel code is influenced by old, tried and trusted UNIX designs even if it wasn't up to the snuff in the scalability area for a long time. But the rest (incl. GPUs, USB stack, V4L2, driver support code (kobject) etc.) is a different story altogether - where old designs were either inaccessible or largely inapplicable due to different requirements and that's not an area of the Linux kernel anybody is proud of.
- pjmlp 13y agoIt is still replicating the past. What new ideas in operating system design has Linux brought, other than being a UNIX clone at zero cost?
- eschaton 13y agoSGI, Sun, HP, even NeXT supported multiple displays, frame buffers, and GPUs. You could put 2 or 3 NeXTdimension cards in a NeXT Turbo Cube, for example - each with its own i860 running Display PostScript and something like 32MB of RAM - and use a display attached to each. And the other workstation vendors had even fancier graphics subsystems and options. You could get real time stereo (LCD shutter) 3D with full Z-buffer and overlay planes for UI use (requiring a few dozen MB of VRAM) for the cost of a sports car. And with some systems use several at once. Find some old copies of UNIX World or Personal Workstation or BYTE from the era...