5 ms·
I was at Microsoft during the Windows 8 cycle. I remember hearing about a kernel feature I found interesting. Then I found linux had it for a few years at the t
by asveikau 10mo ago
I was at Microsoft during the Windows 8 cycle. I remember hearing about a kernel feature I found interesting. Then I found linux had it for a few years at the time.
I think the reality is that Linux is ahead on a lot of kernel stuff. More experimentation is happening.
- dijit 10mo agoyeah, but you have IO Completion Ports… IO_Uring is still a pale imitation :(
- loeg 10mo agoIOCP is great and was ahead of Linux for decades, but io_uring is also great. It's a different model, not a poor copy.
- torginus 10mo agoI think they are a bit different - in the Windows kernel, all IO is asynchronous on the driver level, on Linux, it's not. io_uring didn't change that, it only got rid of the syscall overhead (which is still present on Windows), so in actuality they are two different technical solutions that affect different levels of the stack. In practice, Linux I/O is much faster, owing in part to the fact that Windows file I/O requires locking the file, while Linux does not.
- senderista 10mo agoio_uring makes synchronous syscalls async simply by offloading them to a pool of kernel threads, just like people have done for decades in userspace.
- layla5alive 10mo agoIt's not the async part, it's the not invoking the function part - io_uring replaces syscalls with producer consumer ring buffers.
- asveikau 10mo agoio_uring does more than IOCP. It's more like an asynchronous syscall interface that avoids the overhead of directly trapping into the kernel. This avoids some overheads IOCP cannot. I'm rusty on the details but the NT kernel has since introduced an imitation: https://learn.microsoft.com/en-us/windows/win32/api/ioringapi/ https://learn.microsoft.com/en-us/windows/win32/api/ioringap...
- senderista 10mo agoIf that were true then presumably Microsoft wouldn't have ported it to Windows: https://learn.microsoft.com/en-us/windows/win32/api/ioringapi/ https://learn.microsoft.com/en-us/windows/win32/api/ioringap... Although Windows registered network I/O (RIO) came before io_uring and for all I know might have been an inspiration: https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh997032(v=ws.11) https://learn.microsoft.com/en-us/previous-versions/windows/...
- dijit 10mo agoThat argument holds no water. IOUring is essential for the performance of some modern POSIX programs. You can see shims for fork() to stop tanking performance so hard too. IOUring doesnt map at all onto IOCP, at least the windows subtitute for fork has “ZwCreateProcess“ to work from. IOUring had nothing. IOCP is much nicer from a dev point of view because your program can be signalled when a buffer has data on it but also with the information of how much data, everything else seems to fail at doing this properly.
- senderista 10mo agoThe CQE for e.g. a successful read(2) operation will have the number of bytes read in the `res` field.
- 7bit 10mo agoAnd behind on a lot of stuff. The Microsoft's ACLs are nothing short of one of the best designed permission systems there are. On the surface, they are as simple as Linux UOG/rwx stuff if you want it to be, but you can really, REALLY dive into the technology and apply super specific permissions.
- trueismywork 10mo agoYou have ACLs on linux too
- deleted 10mo ago[deleted]
- Arainach 10mo agoACLs in Linux were tacked on later; not everything supports them properly. They were built into Windows NT from the start and are used consistently across kernel and userspace, making them far more useful in practice. Also, as far as I know Linux doesn't support DENY ACLs, which Windows does.
- onraglanroad 10mo agoYes it does.
- 112233 10mo agosince when?
- onraglanroad 10mo agoSince some of us could be bothered reading docs. Give it a try and see how it works out for you.
- 112233 10mo ago
- wmf 10mo agoI was surprised to hear that Windows just added native NVMe which Linux has had for many years. I wonder if Azure has been paying the SCSI emulation tax this whole time.
- athoneycutt 10mo agoIt was always wild to me that their installer was just not able to detect an NVMe drive out of the box in certain situations. I saw it a few times with customers when I was doing support for a Linux company.
- stackskipton 10mo agoProbably, most of stuff you see in Windows Server these days is backported from Azure improvements.
- pantalaimon 10mo agoAfaik Azure is mostly Linux
- ndiddy 10mo agoThe user VMs are mostly Linux but Azure itself runs on a stripped down version of Windows Server and all the VMs are hosted inside Hyper-V. See https://techcommunity.microsoft.com/blog/windowsosplatform/azure-host-os-%e2%80%93-cloud-host/3709528 https://techcommunity.microsoft.com/blog/windowsosplatform/a...
- b00ty4breakfast 10mo agowhen the hood is open for anyone to tinker, lots of little weirdos get to indulge their ideas. Sometimes those are ideas are even good!
- IshKebab 10mo agoYeah and Linux is waaay behind in other areas. Windows had a secure attention sequence (ctrl-alt-del to login) for several decades now. Linux still doesn't.
- roblabla 10mo agoLinux (well, more accurately, X11), has had a SAK for ages now, in the form of the CTRL+ALT+BACKSPACE that immediately kills X11, booting you back to the login screen. I personally doubt SAK/SAS is a good security measure anyways. If you've got untrusted programs running on your machine, you're probably already pwn'd.
- dangus 10mo agoThis setup came from the era of Windows running basically everything as administrator or something close to it. The whole windows ecosystem had us trained to right click on any Windows 9X/XP program that wasn’t working right and “run as administrator” to get it to work in Vista/7.
- TeMPOraL 10mo agoThe "threat model" (if anyone even called it that) of applications back then was bugs resulting in unintended spin-locks, and the user not realizing they're critically short on RAM or disk space.
- eqvinox 10mo agoThat's not a SAK, you can disable it with setxkbmap. A SAK is on purpose impossible to disable, and it exists on Linux: Alt+SysRq+K. Unfortunately it doesn't take any display server into consideration, both X11 and Wayland will just get killed.
- roblabla 10mo agoThere are many a ways to disable CTRL+ALT+DEL on windows too, from registry tricks to group policy options. Overall, SAK seems to be a relic of the past that should be kept far away from any security consideration.
- mycall 10mo agoLinux is behind Windows wrt (Hybrid) Microkernel vs Monolith, which helps with having drivers and subsystems in user mode and support multiple personalities (Win32, POSIX, OS/2 and WSL subsystems). Linux can hot‑patch the kernel, but replacing core components is risky and drivers and filesystems cannot be restarted independently.
- pjmlp 10mo agoAnd behind in anything related to kernel security, sandboxing, user space drivers, and 3D graphics drivers. Without Proton there would be no "Linux" games. It would be great if Valve actually continued Loki Entertainment's work.