Announcement
Collapse
No announcement yet.
ReactOS 0.4.1 Is En Route For Open-Source Windows
Collapse
X
-
Originally posted by Nille View Post
This guys do something really new and unique. And before someone claim that there work is useless they the should work on something different, the mess with useless gnu/linux distributions and desktop environments or stupid forks should stop first.
Comment
-
Originally posted by starshipeleven View PostCan you elaborate a bit more on this?
Windows NT has a security model with very flexible rules, far beyond owner, group, other read, write, execute. Few applications make use of this, but it is there.
NT is designed with an object and handle model. Like the Unix/POSIX "everything is a file handle" except NT goes all the way. One big advantage for NT is process and thread handles, which Linux developers would like but are having a very hard time getting.
NT, as a proprietary operating system, has a defined device driver interface that has been remarkably stable. MS paid a great deal of attention to supporting backwards compatibility. They get trashed online when they screw it up, but compared to someone like Apple, who can't even keep sound recording apps running from one OSX version to another with the advantage of a limited hardware list, MS does a great job.
Anyway to summarize: Object Handle model. Asychronous. Security rules. Stable driver APIs.
- Likes 1
Comment
-
Originally posted by Zan Lynx View PostThe Windows NT kernel is designed to be asynchronous.
Windows NT has a security model with very flexible rules, far beyond owner, group, other read, write, execute. Few applications make use of this, but it is there.
NT is designed with an object and handle model. Like the Unix/POSIX "everything is a file handle" except NT goes all the way. One big advantage for NT is process and thread handles, which Linux developers would like but are having a very hard time getting.
NT, as a proprietary operating system, has a defined device driver interface that has been remarkably stable.
They break drivers every 5 years or so, plus at random with updates, every major release many many pieces of hardware become obsolete because they lack drivers (or require some crafty hacks to work). Just look at the major clusterfuck that was/is the free upgrade to win10.
It's all because of drivers, many people upgrade(d) and land in a semi-unworkable machine (or cannot upgrade because the dumb updater thinks the device isn't supported in win10 when in fact it is). You'd think they didn't change the WDDM between win7 and win10, they have a stable API, nope, it changed, features that were deprecated in win7 and maybe win8 were simply dropped, many graphics drivers don't work anymore even with hacks.
Meanwhile, in Linux land, opensource drivers still support ancient pieces of hardware, and even younger stuff that on Windows does not work beyond XP.
Comment
-
Originally posted by Zan Lynx View PostThe Windows NT kernel design is in a lot of ways better than the Linux / Unix design.
Here are the ramblings of someone who worked on the Windows kernel, along with a follow-up statement where he backtracks on some of his original remarks:
I was explaining on Hacker News why Windows fell behind Linux in terms of operating system kernel performance and innovation. And out of nowhere an anonymous...
Also you have many things that the Linux kernel can be adapted to at build time (CONFIG_PREEMPT to name one example). Microsoft does not offer users that luxury.
Originally posted by starshipeleven View PostThey break drivers every 5 years or so, plus at random with updates
Comment
-
Originally posted by MartinN View PostThese guys' effort would be so much better spent on something else... by the time they're done, M$ might actually open source the NT kernel.... I tried booting it in VMWare, can't even get it to install properly, it freezes.
Comment
-
[QUOTE=Zan Lynx;n870611]
The Windows NT kernel is designed to be asynchronous. Programs don't get stuck in system calls if they don't want to. With POSIX almost all of the system calls are designed to block.[quote]
Not all APIs are are async.
Plus, completion port implementation is far from being amazing.
Windows NT has a security model with very flexible rules, far beyond owner, group, other read, write, execute. Few applications make use of this, but it is there.
1. It was, and maybe still is, full of system-crashing-bugs. (E.g. sending some combination of unaligned sids would crash Windows 2K, XP and 2K8).
2. The API is overly complex.
NT is designed with an object and handle model. Like the Unix/POSIX "everything is a file handle" except NT goes all the way. One big advantage for NT is process and thread handles, which Linux developers would like but are having a very hard time getting.
I further agree that the posix pthread API is annoying.
*However* NT kernel a number of major issues that amaze me.
1. CreateProcess (and CreateThread) are uber expensive. fork is ~100 times faster (!!!!). pthread_create is at least 3-4 times faster than CreateThread. If you're trying to port an application with 4000 sandboxed processes, Windows is simply useless.
2. CreateFile / NtCreateFile are *slow*. dead slow. Put them in a directory with 10,000 files, and redefine the term slow-as-a-dead-snail-on-downers.
3. Network performance, even from within the kernel, is slow. We can shove 140-150Gbps of traffic into a Linux box with sub-1% packet loss with no issues . Trying to push 10Gbps into a Windows box with no packet loss is a work of art.
[quote]NT, as a proprietary operating system, has a defined device driver interface that has been remarkably stable. MS paid a great deal of attention to supporting backwards compatibility.[quote]
Every major release more-or-less broken the previous OS driver module in 1000 different ways.
I'm having far *eaiser* time porting our kernel code in Linux between each upstream (!) release, than the time I spent porting Windows kernel code between major releases.
Anyway to summarize: Object Handle model. Asychronous. Security rules. Stable driver APIs.
Linux has:
* Simpler and far more accessible in-kernel API.
* Far-faster network from within the kernel and from user-mode.
* Far-faster process and thread creation and, especially, file deletion.
* Huge range of high-performance file systems that dwarf NTFS (We're seeing 10-20-to-1 performance different when handling billions of small files on ext4 vs NTFS).
* Low scheduling over head when dealing with 1000's of processes or threads.
- GilboaoVirt-HV1: Intel S2600C0, 2xE5-2658V2, 128GB, 8x2TB, 4x480GB SSD, GTX1080 (to-VM), Dell U3219Q, U2415, U2412M.
oVirt-HV2: Intel S2400GP2, 2xE5-2448L, 120GB, 8x2TB, 4x480GB SSD, GTX730 (to-VM).
oVirt-HV3: Gigabyte B85M-HD3, E3-1245V3, 32GB, 4x1TB, 2x480GB SSD, GTX980 (to-VM).
Devel-2: Asus H110M-K, i5-6500, 16GB, 3x1TB + 128GB-SSD, F33.
Comment
Comment