This will happen. The windows nt kernel is better by design (dont crucify me for this, but it really is), but this decision will come from another perspective - "we need to pay large sums of money to kernel dev. depart and we are having huge problems with HR to deliver what is essentially free and we can pick higher management bonuses for eliminiting that cost. It is not a technical question - it is $ question and linux wins here. I dont like it, I prefer freebsd but this is the sad fact:
Management bonuses > any technical knowlidge or reason
The whole IT progress was destroyed by this fact, from OSes to the cloud, from irc to fb, from cats videos to having live cat. From optimal protocols for the task to http. From native gui to html/js abomination,... from laundry machines that live 20 years to the ones that get broken in few years... It gets destroyed when complete analphabets drive the decision about progress trough their vision of getting more money.
At the end you will be running windows. With its look and feel, but with linux as kernel.
(I know that I am not great for anyone here, feel free to downvote me, but do take time to think about it. Consumerism destroyed the computer science and it is not getting any better)
No it's won't. I don't know who is proposing this stuff, and after a lifetime of computer nerditry this is the first time I've even heard of it, but "rebasing Windows on the Linux kernel" is just fucking insane.
Like what kind of fucked up fantasy are these diehard Linux fans living in.
> The windows nt kernel is better by design (dont crucify me for this, but it really is),
How so? Maybe at least state something, not just put it in like an "undeniable fact".
> we need to pay large sums of money to kernel dev. depart
IIRC, their kernel (core) department is rather small - I really do not think that has anything to do with it.
They also hire already Linux kernel devs, and if they want to shape it for their OS stack, they'd need to do even more so.
And I'm really not sure how the mixed rant about planned obsolesce and replacement of the native clients, which are very hard to maintain for multiple OS, with using a cross platform technology instead, for better or worse, has to do anything with the initial stuff.
> It gets destroyed when complete analphabets drive the decision about progress trough their vision of getting more money.
So using the Linux kernel would be equivalent of the decision of an Illiterate?
Further, as you seem to care about IT progress, how does fare the NT kernel with that compared to the Linux Kernel?
The last time I looked the NT one lacked a lot of features, from control groups, to checkpoint restore whole processes, varying amount of namespaces, scheduling (CPU, IO, realtime, ...), highly sophisticated Filesystems with lots of research going on there and in other areas.
Linux is multiple order of magnitudes more diverse and accepting for research, features, new design approaches, ... in comparison to the NT kernel, so please, don't make yourself look stupid by stating as it would be the other way around.
>> The windows nt kernel is better by design (dont crucify me for this, but it really is),
> How so? Maybe at least state something, not just put it in like an "undeniable fact".
There are two areas where I would say the Linux kernel is obviously inferior:
* Process management. Everything from creating processes, inspecting them, debugging them, querying process status, etc., is just better on NT kernel.
Take process creation. On Linux, to do advanced stuff, you fork() (or clone() if you want to get a couple extra process args) the process, then potentially call several other syscalls in the child process to do things like change security parameters, enable debugging, close file descriptors (!), before calling exec() to actually invoke the new process image. And if any of those things error out for some reason, you need to have a backchannel back to the parent process to inform it of those errors, which you have to set up yourself. And since fork() only forks a single thread but keeps all other non-existent threads in the same state (e.g., held locks), it doesn't really work in multithreaded applications unless you're extremely careful. On Windows, it's CreateProcess() where one of the arguments is essentially a list of all the changes you want to make in the child process for capabilities.
If you want to do stuff like get a process memory map information, inspect remote environment, etc., on Linux, you get to parse procfs (and hope to hell you're not dealing with cross-namespace situations because things start to break down at that point). Procfs consists of a lot of files whose contents are in a textual format that has a lot of parsers which fail to handle edge cases correctly. On Windows, you get to use system calls like GetProcessInformation that returns a nice struct with all the relevant information in it--no parsing necessary!
Debugging is even more of a mess; Linux developers admit that ptrace is a broken API that needs to be gutted and replaced, but no one wants to touch it. Windows has things like CreateRemoteThread and editing remote memory maps without having to inject your code into the debuggee to call mmap.
* Handles. On Windows, everything is a handle, which means you can do things like wait for any relevant event in WaitForMultipleObjects. Linux has eventually gained a facsimile of this with the variety of file descriptors (e.g., signalfd, timerfd, pidfd) to coerce various kernel objects into things you can pass to poll, but this also runs into issues that file descriptors have properties that limit their utility, such as file descriptor exhaustion or their behavior with fork().
I'd also suggest that things like IOCP or the capability system in NT as things that may be superior to Linux, although io_uring may be a compelling alternative to the former, and the cgroup/namespace capabilities to the latter.
I upvoted you, thank you for your thoughts! I use and develop on both windows and linux a lot, have positive and negative thought and feelings about both. I'm not a systems programmer, but I'm very interested in kernels and OS dev. I'm decently waves hands vaguely familiar with NT and the linux kernel at a high level. Could you please speak a bit more on NT>linux kernel? I'm very interested.
Only once Windows adoption is like IE/Edge now. Until then switch does not make sense. As Linux a user I know my hardware choices are limited. AMD GPU drivers in kernels, I would not risk yet. There is ongoing switch from X to Wayland, Steam Proton yet gaining compatibility. Many more years later.
What if Wine/Proton achieves 100% compatibility? How would it affect Linux user space? There would be much less friction to migrate, critical hardware just works.
Maybe the one good thing could come out of this is that Microsoft could fix broken audio subsystem on Linux. I agree that Windows itself handles audio barely okay, but Linux is a pure drama. Sure it works for regular user watching videos on YT, but if you want to do any professional audio work, Linux just don't cut it. Its libraries like Jack or Pulseaudio don't work properly, they crash, have latency, crackles and other issues...
Management bonuses > any technical knowlidge or reason
The whole IT progress was destroyed by this fact, from OSes to the cloud, from irc to fb, from cats videos to having live cat. From optimal protocols for the task to http. From native gui to html/js abomination,... from laundry machines that live 20 years to the ones that get broken in few years... It gets destroyed when complete analphabets drive the decision about progress trough their vision of getting more money.
At the end you will be running windows. With its look and feel, but with linux as kernel.
(I know that I am not great for anyone here, feel free to downvote me, but do take time to think about it. Consumerism destroyed the computer science and it is not getting any better)