←back to thread

331 points giuliomagnifico | 6 comments | | HN request time: 0s | source | bottom
Show context
zerocrates ◴[] No.45377901[source]
I was one of those weird users who used the 64-bit version of Windows XP, with what I'm pretty sure was an Athlon 64 X2, both the first 64-bit chip and first dual-core one that I had.
replies(4): >>45378995 #>>45381236 #>>45383813 #>>45384759 #
speed_spread ◴[] No.45378995[source]
XP64 shared a lot with Windows Server 2003. Perhaps the best Windows ever released.
replies(1): >>45380448 #
1. seabrookmx ◴[] No.45380448[source]
Did 2003 have symlinks?

7 and 2008R2 were pretty good too. All downhill from there..

replies(1): >>45381097 #
2. jborean93 ◴[] No.45381097[source]
It had junction points and hard links but symbolic links were added in Vista/Server 2008.
replies(1): >>45381420 #
3. chasil ◴[] No.45381420[source]
This seems odd, as there was a POSIX layer in Windows from the beginning, and I can't see how it could do without symbolic links.

https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem

replies(1): >>45381466 #
4. jborean93 ◴[] No.45381466{3}[source]
No idea if the POSIX subsystem used NTFS or some other filesystem but if it was NTFS it probably just used the same reparse data buffer. It's just that Windows only added a symlink buffer structure in Vista/2008. You can manually use the same data buffer in older Windows versions it just won't know what to do with them just like all the other reparse data structures.
replies(1): >>45381592 #
5. chasil ◴[] No.45381592{4}[source]
So the "reparse data buffer" would be able to implement symlink() as a POSIX system call?

https://pubs.opengroup.org/onlinepubs/009695299/functions/sy...

replies(1): >>45381728 #
6. jborean93 ◴[] No.45381728{5}[source]
The subsystem in question would be the one to handle the logic for the syscall. So the POSIX subsystem would use the reparse data buffer as needed. It's just that the Win32 subsystem added its own symlink one in Vista/2008.

This is all a guess, the POSIX subsystems were a bit before my time and I've never actually used them. I just know how symlinks work on Windows/NTFS and when they were added.