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.