Friday, March 21, 2014

just to preemptively counter some textbooks that may be overly idealistic or flat-out out of date...

consider the following four combinations:

a) properly written kernel mode drivers written in an os with weak kernel mode security (xp, with most hardware combinations).
b) kernel mode drivers written for an os with weak kernel mode security being run in an os with strong kernel mode security, and that expects almost all drivers to run in user mode. (vista/7/8, with some hardware combinations)
c) badly written user-mode drivers written in an os with strong kernel mode security, and that expects almost all drivers to run in user mode. (vista/7/8, with some hardware combinations)
d) correctly written user-mode drivers written in an os with strong kernel mode security, and that expects almost all drivers to run in user mode. (vista/7/8, by design)

the reality will agree with the textbook in stating that a is faster than d, on the same hardware - meaning xp is faster by design, but less secure (that's the trade-off). again, windows 7 on faster hardware may seem faster than windows xp on slower hardware but that's an apples and oranges comparison that reduces to an actual comparison of the hardware.

but the situation i'm talking about is with either b or c, which are both going to be slow and buggy and which is still the reality with some hardware.

if you think back to '06, vista had a horrible reputation. this is the actual root of the problem. microsoft understood it perfectly well. it's support agents (one of whom was me) understood it perfectly well. the hardware companies understood it perfectly well. but part of my job was confusing people into blaming intel or nvidia instead of microsoft. which isn't to say that they didn't share the blame. but that was microsoft's official strategy - fuck the issue, lie to the customers. they saw it as a pr game.

i can't count the number of times where i nearly broke down and just leveled with the poor bastard on the other side of the line. but, given that everybody understood that the problem had no solution, my job was to ensure that the person walked away from the conversation blaming the person that made their board or chipset or video card, rather than the company that made an operating system that changed all the industry standards without proper documentation or sufficient warning.

again, though, it's eight years on, now. there's no excuse for it still being a problem.

so, that's actually something else to take away from this: if support agents can solve your problem, they will. if they can't, they will lie to you - and get promoted if they're really good at it.

going back to the usb test, i should point out that my pc actually has a faster processor, surprisingly, given that the chip is from 2005. my pc is a pentium D @ 2x3.6. the laptop is an i5 @ 2x2.4. the difference between ten minutes and 30 seconds is still incredible, though, and can't be explained purely by the processor speed. especially given what i know about the way the drivers work...
listen: i worked support for microsoft. i'm telling you the story from the inside. from microsoft training. from documents written by microsoft engineers. it might sound incredible, but it's the actual, blunt truth.

i'm transferring files around right now, and this is a good example. it took almost ten minutes for me to transfer a few gb of files from my laptop (which is running a 64 bit windows 7, with a core i5 and 4 gb of ram - certainly better hardware specs on paper than my desktop) to a usb key. it took 30 seconds to transfer the same data from the same usb to my pc's hard drive, which is currently running an xp x64. if i were to do that on a fully patched vista, it would take ten hours.

ten hours!? yes. ten hours.

...because intel won't update the chipset to conform to the very different driver signing standards. the way windows handles drivers was a huge update from xp to vista.

i'm willing to accept that a lot of hardware manufacturers initially didn't understand how to rewrite their drivers for vista/7/etc. but, they did eventually figure it out. and there's really no excuse for not doing so, other than driving the hardware market.

it's a very widespread problem.

https://www.google.ca/#q=vista+slow+file+transfer&safe=off

all those answers are dead wrong. it's the change in driver framework.

(specifically, chipset drivers)

windows 98 is no longer useable for a number of reasons (for me it's mostly sata drivers), but it would be way faster than xp, too.

generally speaking, the older an operating system is, the faster it is (when compared on the same hardware). of course, it's going to have less functionality. it may be less safe to access the internet with, in theory if not in practice.

this may seem counter-intuitive, but it shouldn't. making something more complex makes it work slower. what doesn't make any sense at all is the idea that upgrading your os will make your machine run faster.

this is a brief explanation.

"If we're only using two isolation rings, it's a bit unclear where device drivers should go-- the code that allows us to use our video cards, keyboards, mice, printers, and so forth. Do these drivers run in Kernel mode, for maximum performance, or do they run in User mode, for maximum stability? In Windows, at least, the answer is it depends. Device drivers can run in either user or kernel mode. Most drivers are shunted to the User side of the fence these days, with the notable exception of video card drivers, which need bare-knuckle Kernel mode performance. But even that is changing; in Windows Vista, video drivers are segmented into User and Kernel sections. Perhaps that's why gamers complain that Vista performs about 10 percent slower in games. "

https://blog.codinghorror.com/understanding-user-and-kernel-mode/

this explains a bit about the actual problem, without getting into it. i don't really want to spend any more time looking around about this. it's something that nobody seems to want to be published. i wouldn't know this if it weren't for reading internal support memos that said DON'T TELL THE CUSTOMERS THIS all over them.

but, as i've stated, this is irreversible on some hardware, without getting the manufacturers to update their drivers. what's happening is that the drivers are running in kernel mode, when microsoft wants them to run in user mode. this is producing huge amounts of security checks (by design) that slow the fuck out of the file operations. what intel needs to do is rewrite their drivers to run in user mode, like microsoft wants them to do. but they'd rather blame it on vista and tell people they have to upgrade their hardware, as microsoft blames it on the hardware manufacturers (at least internally).

https://msdn.microsoft.com/windows/hardware/drivers/wdf/user-mode-driver-framework-frequently-asked-questions

the result is unusable hardware, on any windows version beyond and including vista.

but, the design changes in how vista uses drivers make xp faster (by design) anyways.

you can think of it as a trade-off between speed and security. xp is all speed, weaker security. vista is all security. now as the hardware has caught up, it's evened out (in terms of perception). but xp remains inherently waaaaay faster.

i mean, this isn't entirely microsoft's fault. it's as much on intel and others (my problem is with intel, i don't know how much others have caught up. initially, nvidia was dragging their feet on this a whole lot.). but, what the hardware people were saying at the time was that microsoft didn't give them enough warning. their engineers had to go through a lengthy retraining process. it's apparently not the kind of change you can gloss over in a weekend. the retraining required was substantial.

how much of that is an excuse, i don't know. but there's a reason that microsoft is widely acknowledged as incompetent. and the whole driver framework switch from xp to vista really demonstrates it.

even so, there's no excuse for this still being an issue, 8 years later.
just a note that if you're still geek enough to be using xp (and i and others have very good reasons that will not change soon, if ever - i'm more likely to move to linux than a post-vista windows system, because they're really legitimately awful on a lot of levels) - support ends on april 8th. so, it's a good time to track down all the updates. if, for example, you've been relying on an sp2 disc and then running windows update whenever you reinstall, you won't be able to do that anymore.

somebody will no doubt do this and torrent it, but trusting them is another issue. better to do it yourself while you can.

there are hardware issues that jumped up in vista that never got solved. the only solution is to buy specific hardware. i mean, if you're running a pre-built system then you probably won't notice any of this. but, as deep and valid as the criticisms of apple are, you're better off with a mac than a dell or an hp....

there's a lot of fixes that don't work floating around. i actually worked support for vista and i will authoritatively tell you that microsoft's response is to blame it on the hardware.

yet, the same hardware works flawlessly with xp.

so, there's conspiracy theories floating around that probably have a lot of truth to them.

around '06, microsoft started loading it's operating systems up with meaningless services that are designed solely to require faster hardware. there's almost no functional use for any of this, except to coerce people into upgrading their systems. that much is really not debatable.

but you can turn that off. that's minor.

one of the bigger problems is with copy operations, and while it may be true that this is at it's core a problem with user-mode drivers (that is to say that the hardware people never made drivers that work properly with the security aspects of windows, post-vista), there's still this lingering question of whether the thing is by design.

what that means is that people with certain types of fairly modern hardware are stuck with xp, unless they want to upgrade central aspects of their system or deal with cripplingly bad file operations.

that's a very good reason to either stick with xp, or move to linux. microsoft isn't going to make an exception - they're going to blame it on the hardware manufacturers. and the hardware manufacturers are going to tell you to buy new hardware - and you'd better do the research to make sure the drivers work right.

for me, the precise issue is my board. but, i mean, it's a perfectly good asus with sata connectors that can handle up to 16 gb of ram. there's no good reason to upgrade this board. intel just won't fix the chipset drivers to work properly with the way windows does, post-vista.

but if i stick with xp, then i get full use of the board.

worse, the truth is that xp just performs better at core os functions for the simple reason that it's doing less things in the process. getting the drivers to work right will speed up file operations, but it will never be as fast as xp on the same hardware. that would defy basic logic; it would require doing more things in less time. nor does a home user need to care about the security functions that slow everything down...

so, again, it goes back to the conspiracy theory: were the security updates really necessary and were they really buckling to pressure to idiot-proof the os, or are they just driving the hardware market by literally introducing billions of empty cycles?

i'm hoping microsoft decides to do a final platform update or something that pulls everything together. that'll make life easier. but, i suspect that they won't. so...

april 8th.
i'm surprised that i was able to log into my school account, but i was. i was looking for a way to download 7, home premium due to the extra key i have. the links that are all over the internet are all corrupt. i've tried four times, and have given up.

they did, however, have a 64-bit xp, with key. well, that's the best option, really.

i should be able to reimage a 32-bit version based on an old compaq corporate image from about the year 2003. it's all patched up, and ready to be ripped apart.

so, i will come out of this with a 32/64 all-xp dual boot that i will plan to slowly transfer over to 64. first, i need to focus on replacing the dead hd. and i still need to know if i can get the script off.

getting a few more sticks of ram will help act as an incentive to the switch.

probably not today, but almost certainly tomorrow.