Home |
Search |
Today's Posts |
![]() |
|
Electronics Repair (sci.electronics.repair) Discussion of repairing electronic equipment. Topics include requests for assistance, where to obtain servicing information and parts, techniques for diagnosis and repair, and annecdotes about success, failures and problems. |
|
LinkBack | Thread Tools | Display Modes |
#11
![]() |
|||
|
|||
![]() "BillW50" wrote in message . .. "Anthony Fremont" wrote in message ... Date: Sun, 30 Oct 2005 15:02:52 GMT "Bob Masta" wrote in message ... On Sun, 30 Oct 2005 11:53:25 GMT, "BillW50" wrote: All DOS applications ran under Windows 3.1 preemptively. I hadn't heard of this before. Can you explain how it worked? I had the impression that the DOS application took over and Windows apps didn't get any time at all. If there were time slices for Windows apps, do you recall how they did this? It was basically a form of cooperative multitasking. A form of cooperative tasking my eye! Each VDM session uses the Intel v86 (Virtual-8086) mode. Windows 3.1 and later as well as OS/2 uses v86 mode to preemptive task DOS and other VDM sessions. When the DOS app called INT21 functions or made BIOS calls, Windos could then regain control of the machine. Hardly what I'd call preemptive multitasking. Doesn't sound right to me. As Windows uses (since W3.1) the CPUs v86 mode (Task State Segments) to support multitasking to preemptive task Well sure it has a TSS, otherwise you couldn't switch tasks very easily. The TSS holds all the context information (registers, pc, ldt etc...) required to put the task back into execution without it freaking out. It's just a mechanism to make it easy, but it doesn't magically interrupt a running task. Windows could use the timer tick ints to accomplish task switching or it could even set up another spare timer to generate interrupts for task switching. Those would then safestore the TSS values for the running task when the interrupt occurs and then transfer control thru the interrupt vector to the dispatcher (or whatever M$ calls it). Using a timer of some sort could make it preemptive since they could then conceivably interrupt between any two instructions. AFAIK though, they just depended upon the system calls to resume control. all VDM sessions through Windows Virtual Machine Manager (VMM). Every manual I have ever read (and I just searched the Internet as well) calls this preemptive tasking. Looks like you're alone to me. It is my opinion that even XP doesn't qualify as a proper OS. Any OS that allows an errant application to hang things up is not right. Under any x86 machine, any buggy ring 0 code can take out any OS, bar none! It's not just a Windows limitation, but effects *all* OS. Yes, any clever programmer who wants to take out an x86 machine running any OS can indeed do so (with administrator privileges of course). That's why there is 4 ring levels supported in hardware. Too bad M$ doesn't utilize it properly, Linux wins hands down here and only uses 2 of the 4 levels. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
computer clocks | UK diy | |||
Are PC surge protectors needed in the UK? | Electronics Repair |