Vista Multitasking

wamasters

Member
Jun 30, 2006
26
0
0
Not to be a spoil-sport, but over ten years ago the operating system I was using (on Motorola 680xx based computers) had a preemptive task scheduler.
As such, I've NEVER been satisfied with Windows' cooperative multitasking environment. It's particularly irritating that my 2.4 GHz AMD Athlon 64 processor (running Microsoft's WindowsXP) still occasionally has performance glitches/halts when my 25 MHz Motorola 68020 processor (running Microware's OSK and a Motif based GUI called G-Windows) ran smoothly with as many as 256 concurrent processes.
So, computer gurus, how well does Vista multitask?
If its still based on an NT-derived kernel its fair to assume that the task sheduling is still based on the familiar cooperative model we've been using for the last several years. That means Vista is not likely to be in any way superior to XP in this regard (allowing programs to consume as much of my computing power as they care to).
This is beyond fathoming.
Perhaps, since Windows and Linux are the only operating systems that are currently commonly found on PCs, you folks aren't aware that task scheduling can (and has) been done better in other (far more obscure) OS'.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Windows hasn't used cooperative multitasking since Win 3.x and Linux never has.
 

Rilex

Senior member
Sep 18, 2005
447
0
0
(allowing programs to consume as much of my computing power as they care to)

This isn't up to programs and never has been in NT. The NT Scheduler handles CPU allocation.

Where did the co-op multitasking come from? LOL!
 

hans030390

Diamond Member
Feb 3, 2005
7,326
2
76
Multitasking on vista? Where?

Actually, it's really not that bad. For me, I'll notice things slightly lagging up, but it's usually on par with XP or slightly below.
 

wamasters

Member
Jun 30, 2006
26
0
0
Actually, the first two replies show how little most user know about Windows' multitasking capability (and the second is closer to reality).
For the first two first two replies, let me restate - Windows does NOT give assigned priorities to the task running under it.
This is NOT just a consideration for DOS based WIndows. What you see in your tasking manager Window is a list of the processes currently running, an estimate of system resources used, networking load, and users currently logged in. You also have the ability to kill specific processes (a great feature for non-cooperative or locked up programs).
There is NO assigned priority amongst tasks.
Check that out if you don't believe me. Windows expect programs to cooperate. While this works MOST of the time, I would still prefer to be allowed more control.
BTW - Most versions of UNIX (and,yes, even Linux) suffer from this same problem. While the much higher speed of today's processors (and the easy availability of loads of cheap memory) have allowed considerably more consistant performance (on modern computers) than I have seen in years past, performance glitches still do occur.
Due to this and other reliability issues, I have NEVER seen a Windows based system that doesn't need periodic reboots. Windows is not considered a "mission critical" operating system due to these issues. That is why you NEVER see any derivitive of Windows used in dedicated applications (such as medical equipment). Windows, stated simply, is THAT unreliable.
Sorry guys, I don't mean to lecture, but we could be doing so much better. With a better kernel Windows could dinamically load and unload software (including drivers), manage task proritization, and it would crash far less often (which, BTW, it still does far too frequently).
With over 300 individuals working on this product concurrently (@ Microsoft) you would think we would have a better quality product.
 

wamasters

Member
Jun 30, 2006
26
0
0
Sorry about the spelling errors (and the rant). I know I don't need to tell you we could be doing better (as I'm sure each of you has had some issue with a Microsoft produced program or OS). My apologies.
 

wamasters

Member
Jun 30, 2006
26
0
0
AND (sorry, again, for continuing) thanks hans. Your reply was what I was looking for (a statement about how well Vista multitasks) A gracious thank you for the comparision. I'll have to load it and check it out.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
There is NO assigned priority amongst tasks.

You're right, and you're wrong. You're right that Windows allows tasks to set their own priority, within certain limits. You're wrong that this is an example of cooperative multi-tasking. In cooperative multitasking, i.e. in Windows 3.1, programs had to voluntarily release control of the processor before a context switch would take place. They did this by calling the the Windows message processing functions. Within this function, if there was no message waiting to be dequeued, Windows would decide to run another app.

Windows versions since Windows 98 and Windows NT have all used preemptive multitasking. Context switches occur thousands of times per second according to the strategy of the Windows thread scheduler. You can run a process with elevated priority, but you cannot prevent other processes from getting slices. What you _can_ do, on less powerful systems, is take enough cycles to make other interactive processes sluggish, which is why you should let Windows manage process priority.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Windows does NOT give assigned priorities to the task running under it.

Yes it does. All tasks start out at normal priority (sorry, I don't know the numbers off the top of my head) and can lower their priority at will. Apps can also raise their priority if they have sufficient priviledges, sadly since most people run Windows as Admin all tasks have those priviledges.

There is NO assigned priority amongst tasks.

Yes there is, the only process without a priority is the System Idle Process. If you add the "Base Priority" column in taskmgr you can see the base priority for all processes. The base priority is used in the calculation of when the task wil get to run next and how long it's timeslices are. Priority boosts are given for things like interactivity, sleeping a lot, etc so the base priority is only one part of the equation.

http://windowssdk.msdn.microsoft.com/en-us/library/ms728910.aspx

BTW - Most versions of UNIX (and,yes, even Linux) suffer from this same problem. While the much higher speed of today's processors (and the easy availability of loads of cheap memory) have allowed considerably more consistant performance (on modern computers) than I have seen in years past, performance glitches still do occur.

No they don't, Windows, unix and Linux all use preemptive multitasking. Each process is given a set amount of time to run and a priority to determine when in the list of processes it gets to run next. Yes performance 'glitches', as you so precisely call them, occur but they're usually the result of a driver leaving interrupts disabled for too long or something else hardware related.

Due to this and other reliability issues, I have NEVER seen a Windows based system that doesn't need periodic reboots.

Then you're doing something wrong, we have Windows servers that are up for months at a time with the only reboots happening for patches. Hell even my workstation at work will run indefinitely without problems.

Windows is not considered a "mission critical" operating system due to these issues. That is why you NEVER see any derivitive of Windows used in dedicated applications (such as medical equipment). Windows, stated simply, is THAT unreliable.

No, it's really not. It's not used in those type of applications because it's not a real-time OS. But then again neither is Linux, you need to use external patches to get hard real-time out of Linux.

Sorry guys, I don't mean to lecture, but we could be doing so much better.

The only thing that could be better in this thread is your understanding of how the NT and Linux kernels work.

With a better kernel Windows could dinamically load and unload software (including drivers), manage task proritization, and it would crash far less often (which, BTW, it still does far too frequently).

It already does all 3 of those. Hell running an app dynamically loads the software and all of it's dependencies, drivers are a little trickier but it still works although there's no tools to do it manually. And as mentioned above NT does do task prioritization and hardly crashes because of problems in itself, 99% of any BSOD I've seen since Win2K is the fault of a 3rd party driver and there's no way MS can do anything about that.

With over 300 individuals working on this product concurrently (@ Microsoft) you would think we would have a better quality product.

Since you apparently don't work for them or understand how NT actually works how can you say that with a straight face?
 

spikespiegal

Golden Member
Oct 10, 2005
1,219
9
76
I've been running Terminal Servers and Citrix Servers since Winframe in the mid 90's. By far and away Winframe/Terminal Server/Citrix are the most severe and extreme examples of multi-tasking I've seen on any platform given the unrelated nature of the applications in question.

Thread counts often exceed 4,000 on a single processor Windows box with dozens of desktops and related apps running at the same. However, I've seen P3 700mhz Windows Terminal Servers with a dozen desktops being run off it provide faster application response than local desktops at 3x the clock speed. So, these guys can spare us the lectures on Windows multitasking when they've never seen it in the most extreme form.

Note you can adjust quantum response values in Windows via the registry and tweak the number of ticks the OS gives to an active thread, but it's not very straightforward. Micrsooft could improve this functionality given how multi-processor systems are becoming the norm.

My average Win2K based Citrix box has over 50 applications running of it, and rarley has to be rebooted for months at a time. If you want to reboot a Windows server a lot, hire a Linux admin to run it. You'll be assured it never runs correctly because they need Windows to be unstable to justify their dislike of Microsoft.

99% of any BSOD I've seen since Win2K is the fault of a 3rd party driver and there's no way MS can do anything about that.

Thank you. 99% of the time BSOD's are induced by the retard sitting at the console. While Windows has too many subsystems with Ring (0) access for my liking, system instability is more often than not the result of bad drivers.

Plus, when Micrsosoft does try to clamp down on driver compliance these same clowns complain about it. Like, when's the last time you've installed a CDROM driver in Windows.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
I would expect Vista would multitask better then XP or W2k.. It is, at the core, XP with 5 more years of develop on it. To say anything else is just silly.

It may not be as hot on current hardware then XP, but I would expect it to scale much higher.
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
Originally posted by: spikespiegal
99% of any BSOD I've seen since Win2K is the fault of a 3rd party driver and there's no way MS can do anything about that.

Thank you. 99% of the time BSOD's are induced by the retard sitting at the console. While Windows has too many subsystems with Ring (0) access for my liking, system instability is more often than not the result of bad drivers.

Plus, when Micrsosoft does try to clamp down on driver compliance these same clowns complain about it. Like, when's the last time you've installed a CDROM driver in Windows.

Really? Care to explain how I, as a user, can conjure up a BSOD simply by using Windows? Nothinman is correct; BSODs are almost always the result of faulty hardware or bad drivers.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
The first time I ever used win2003 I tried a windows xp/2k version of nmap on it. BSOD'd on me almost instantly. Completely bizzare. (so much for binary compatability)

But ya most of time it's hardware or driver issues. Although I suppose it helped a lot to reduce the number of BSOD people see when they changed XP to reboot instead of blue screen on certain classes of errors. :p

edit:
here seems some relevent information:
http://channel9.msdn.com/ShowPost.aspx?PostID=53470
http://channel9.msdn.com/ShowPost.aspx?PostID=53472
http://channel9.msdn.com/ShowPost.aspx?PostID=54611
http://channel9.msdn.com/ShowPost.aspx?PostID=54612

Talks in good detail about threading and other core kernel stuff in relation to NT and mentions stuff about Unix. The guy is Dave Probert, a NT kernel architect.. so obviously he is one of the formost computer science people in the world when it comes to practical operating systems kernels (as opposed to some sort of academic guy croning on about Microkernels :) )
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Really? Care to explain how I, as a user, can conjure up a BSOD simply by using Windows? Nothinman is correct; BSODs are almost always the result of faulty hardware or bad drivers.

With Citrix printer drivers used to be a huge problem, the printing system ran in kernel mode so printing the wrong document or attempting to install the wrong driver could BSOD the system. I don't have any reproducable test cases but I know that used to be one of the biggest problem with our Citrix boxes in the past.
 

Noema

Platinum Member
Feb 15, 2005
2,974
0
0
Originally posted by: drag
The first time I ever used win2003 I tried a windows xp/2k version of nmap on it. BSOD'd on me almost instantly. Completely bizzare. (so much for binary compatability)

But ya most of time it's hardware or driver issues. Although I suppose it helped a lot to reduce the number of BSOD people see when they changed XP to reboot instead of blue screen on certain classes of errors. :p

edit:
here seems some relevent information:
http://channel9.msdn.com/ShowPost.aspx?PostID=53470
http://channel9.msdn.com/ShowPost.aspx?PostID=53472
http://channel9.msdn.com/ShowPost.aspx?PostID=54611
http://channel9.msdn.com/ShowPost.aspx?PostID=54612

Talks in good detail about threading and other core kernel stuff in relation to NT and mentions stuff about Unix. The guy is Dave Probert, a NT kernel architect.. so obviously he is one of the formost computer science people in the world when it comes to practical operating systems kernels (as opposed to some sort of academic guy croning on about Microkernels :) )


Those videos are fascinating. Thank you for sharing, Drag.

A bit hard to follow for me at times since I am very illiterate when it comes to kernels and floating point and the like, but a great watch none the less.