HackerLangs
TopNewTrendsCommentsPastAskShowJobs

nullindividual

no profile record

comments

nullindividual
·2 года назад·discuss
The Spider engineers weren't the ones to port BSD utilities. That was Microsoft.
nullindividual
·2 года назад·discuss
That already exists! It's the HKCU.
nullindividual
·2 года назад·discuss
They licensed Spider Software's TCP/IP stack. And you have no knowledge that Spider leveraged BSD code. You're probably too young to remember, but there were many vendors making TCP/IP stacks back in those days. Some based on pre-existing stacks, others from the ground up.

https://ia904500.us.archive.org/view_archive.php?archive=/23...

TCPIP.SYS is the TCP/IP stack in Windows.

I'm unsure as to why you're making unsubstantiated claims and sticking with them. You have zero proof that the claims you're making are true. I'd love to have the source for Spider's TCP or at least have a contact that worked on the stack to ask, it's interesting history. I don't care one way or another, it was a very temporary stack that didn't make it into 3.5 where the entire stack architecture changed (no longer based on SysV STREAMS).
nullindividual
·2 года назад·discuss
> Are you pretty sure about that?

NT OS/2 started development in 1988 and NT Win32 in 1990.

Build 297 of NT 3.1 contains a TCP/IP stack dated June 25th, 1992. This is not the earliest public build.
nullindividual
·2 года назад·discuss
You're not seeing "pure" FS performance. You're seeing all of the abstractions between you and the file system.

To get more of the abstractions out of the way, you want DevDrive. And don't use Explorer.exe as a test bed which has shims and hooks and god knows what else.
nullindividual
·2 года назад·discuss
Raymond Chen says "Not true, but true enough" [0]. But to your original claim of more advanced than NT... nah.

[0] https://web.archive.org/web/20111110161740/http://blogs.msdn...

[Extra] https://devblogs.microsoft.com/oldnewthing/20130208-00/?p=53...
nullindividual
·2 года назад·discuss
Linux wasn't a thing by the time NT was in development. Hell, the GPL itself wasn't a thing when NT began development!
nullindividual
·2 года назад·discuss
What happens if you have an extensible app, say Microsoft Office, which enumerated it's own subkeys to discover 3rd party plugins?

What if an app provides COM services and needs to write that to a centralized location that is enumerated to discover available COM services?

What if your app happens to be a god-awful HP Print Center app with it's own print drivers and a Windows Service, where it needs to write to a central location that is enumerated for device drivers and Windows Services?
nullindividual
·2 года назад·discuss
It was introduced with Windows PowerShell 1.0[0]. A text editor would need to directly support managing the registry, but you can read/write/search/do terminally-stuff to the registry via PowerShell.

The term we're looking for is a PSProvider of which there are many. There's even a PSProvider for SharePoint Online[2].

[0] https://devblogs.microsoft.com/scripting/use-the-powershell-...

[1] https://learn.microsoft.com/en-us/powershell/module/microsof...

[2] https://github.com/pnp/powershell/blob/96d00aa60379d8e3310f7...
nullindividual
·2 года назад·discuss
The registry was capable of being compacted, negating the need to defragment it. This was done via the standard Windows Backup utility provided OOTB.

As for performance, the registry was mapped in paged pool memory[0]; only sections in-use needed to be mapped. Other hives were volatile and never persisted to disk. When data is added to the registry, the paged pool expands to accommodate. Maximum registry size is based off of installed memory, up to a limit.

Registry subkeys are organized alphabetically in an internal list; searches are binary searches rather than using an index. Searches begin in the middle of the list and go up or down based upon the alphabetical value being searched for (so start at 50% -> up/down, split remaining list 50%, up/down -> repeat until found).

You can find more info in Chapter 4 of Windows Internals 4th Edition.

Needless to say, none of the concerns you presented were valid back in the dark days.

[0] https://learn.microsoft.com/en-us/windows/win32/sysinfo/regi...
nullindividual
·2 года назад·discuss
That's an assumption that neither of us are qualified to make.

BSD wasn't the only TCP/IP stack on the market[0].

[0] https://en.wikipedia.org/wiki/Internet_protocol_suite#Adopti...
nullindividual
·2 года назад·discuss
Windows is no different. Next time you're in front of Terminal, try:

    cd HKCU:\SOFTWARE
You're now browsing the registry and can use terminal commands.
nullindividual
·2 года назад·discuss
> Windows/386 are hypervisors that run VMs under hardware-assisted virtualisation.

Not really. There was no Ring -1 (hypervisor), no hardware-assisted virtualization as we use the term today. On Windows/386, it ran in Ring 0.

Virtual 8086 mode was leveraged via the NTVDM, shipping with the first release of NT.
nullindividual
·2 года назад·discuss
HKLM and HKCU have specific ACLs. It wouldn't make sense to have _two_ user-modifiable registry hives and ditto for machine.
nullindividual
·2 года назад·discuss
Like I said, the userland applications (ping, tracert, etc.) were ports from BSD, probably nearly 1:1 copies.

The TCP & IP stacks were written by Microsoft in NT 3.5.

What Spider Software used (again, used by Microsoft in NT 3.1 due to time pressures) may have originated from BSD, but we don't know.

You can browse the NT4 source code TCP/IP stack. Just search GitHub.
nullindividual
·2 года назад·discuss
Let's not forget TerraServer[0] which was in production prior to the acquisition of Hotmail (let alone the conversion from FreeBSD).

[0] https://www.microsoft.com/en-us/research/publication/the-mic...
nullindividual
·2 года назад·discuss
NT kernel still gets improvements. Think IoRing (copy of io_uring, but for file reads only) which is a new feature.

I think things like Credential Guard, various virtualization (security-related, not VM-related) are relatively new kernel-integrated features, etc.

Kernel bugs that need to exist because of backwards compat are going to continue to exist since backwards compat is a design goal of Windows.
nullindividual
·2 года назад·discuss
That's a developer choice, not the registry in and of itself. You could just as easily have /etc filled files with GUIDs for file names.

Generally, 3rd party developers don't use a bunch of GUIDs for keys. Microsoft does for Windows components to map the internal object ID of whatever they're dealing with; my assumption is for ease of recognition/documentation on their side (and generally the assumption that the end user shouldn't be playing around in there).
nullindividual
·2 года назад·discuss
But it simply isn't slower than Linux.

Robert Collins explains that performance is just as good as Linux and the performance loss on Windows is due to file system filters (Defender)[0].

This is what DevDrive intends (and does) fix.

[0] https://youtu.be/qbKGw8MQ0i8?t=1759
nullindividual
·2 года назад·discuss
This is the responsibility of the installer.

Using Windows Installer, this is easily accomplished. The Msi database _does_ track individual files and registry entries. If you're using another installer, or the developer allows their app to write something somewhere that isn't tracked by their installer, you're going to get files left behind.

macOS is especially bad in this respect. Bundles are great, until you have a ~/Library full of files that you never knew about after running an application.