View Full Version : underlying hardware layer

August 20th, 2007, 07:56
Hi if anybody could offer any advice or pointers to reading material it would be most appreciated.
I am attempting to understand how win98se accesses cpu registers,pc etc and how the system interface extends hardware instructions on a x86. This is purely towards trying to understand why this os fails to see dual core cpus.I am puzzled as to what passes the hardware instructions to the kernel on boot, is it fed via some early loaded vxd, bios.vxd or is the x86 instruction set precompiled into the kernel which needs to be added to/modified, in a similar way to win2k uni/multi processor setup.
Many thanks

August 20th, 2007, 17:16

You will need to try and build a new kernel for 98.
The 98 kernel was not written to handle dual core.

You could of course upgrade to NT for dual support
or try ripping parts of the nt kernel to try with 98 but
I doubt it will ever work.

Why not try some flavor of unix ?


August 20th, 2007, 23:46
As far as I understand, the OS implement the use of multiple CPUs at the level of the scheduler. A given, multi threaded process, if compiled to take advantage of parallel processing, can run in multiple CPUs at a time, but any given thread is assigned to a unique CPU core, specified in the TBB, and runs from beginning to end inside such core. When a new thread is created, the scheduler has the choice of assigning it to an available CPU core, decreasing bottle neck problems.

Windows NT and its derivatives were conceived from scratch to work in virtual (hyperthreading) or actual (multicore) environments. The scheduler has the capability to detect and handle conflict situations in which threads try to write to the same memory address simultaneously
pthreads-w32 (wikipedia)

The memory concept of win98 in which all system DLLs code and data is shared by all active applications does not lend itself gracefully to true multi-threading/multitasking. They only give the illusion of multitasking by thread switching. But no actual simultaneous processing is taking place. Also keep in mind that half the system modules of Win98 are in fact 16 bit code in disguise, which has issues dealing with the flat 32bit memory model, and memory sharing.

Point is, adapting W98 to work gracefully in multicore hardware is like modifying a bicycle for interplanetary travel: You're better off constructing an appropriate vessel from scratch.


August 21st, 2007, 02:33
The win98 kernel is almost monolithic.

There's an ebook out there titled "secrets of windows 95" or "windows 95 internals" or similar, should be useful.

August 23rd, 2007, 07:44
Thanks for all your replys and advice, it seems as though io.sys is one of the first to be loaded in memory from boot up, then vmm later both worth further examination. SetThreadAffinityMask might be problematic,race conditions,deadlock,priority failures easier to deal with if/after the second core can be seen. Anywhere remotely near parallel operation would be a start.
Only reason for me doing this is i am fascinated in this old but supprising resilient os and just wondered how far it could be pushed, more proof of concept than anything else.
On a side note can anybody tell me if it is possible to decompile *.vxds
Much appreciated

August 23rd, 2007, 08:33
IDA pro can disassemble *.vxd.

August 23rd, 2007, 18:45
Good luck on rewriting the kernel. True multiprocessor support isn't easy, though I suppose with a direct hardware access driver you could run *something* on the second core... read the Intel manuals for more info.

August 23rd, 2007, 19:35
Maybe someone could figure out how to "rewrite" time.

It does keep passing by.

But I digress!


August 24th, 2007, 19:35
Perhaps if we had a minuscle mass, that of a muon, on encountering a mass bending space/time such as the earth we might well outlive other mouns and cheat time, albeit momentarily.

Many thanks

August 24th, 2007, 20:53
Or buy Spice from Arakis.

August 24th, 2007, 21:10
Mau'dib' controls the Spice now.

You'll have to ask him, or his descendents.

I read the series before most of you youngins were born. Dune was first published in 1965 and won both a Hugo and Nebula Award. Imagine that! Actually "reading" a book, instead of "waiting for the movie."

I read all six books of the series and most of the other books Herbert wrote. At the time, after finding an author I liked, I generally read all their books. Believe I still have a couple packed away, waiting for some free time to enjoy reading at leasure again. I've actually read most of the "greats" of science fiction over the years.


August 25th, 2007, 09:42
Link worth reading. I'm skeptical of a lot of this type of research, but I read a much longer 2 page spread on this guy in a national newspaper recently. He's got the credentials and it seems like he has some non-lunatic support, too.


August 25th, 2007, 15:41
I don't believe you can time travel to the past, to the future yes to the past no.

August 25th, 2007, 16:29
Of course you can time travel to the past, an alien from Uranus told me it was possible.

August 25th, 2007, 16:55
They try to scam you and steal your mojo.

August 25th, 2007, 17:24
This sounds like information pulled from "Uranus." (Read it "out loud"! Sixth grade humor.)


August 25th, 2007, 17:44
[Originally Posted by JMI]
This sounds like information pulled from "Uranus." (Read it "out loud"! Sixth grade humor.)

From his accent, he sounded more like he was from Connecticut, specifically the Mianus region.

So you're still right, it was information pulled from Mianus.

August 25th, 2007, 18:24
Slightly different pronunciation, but essentially the same meaning.