Jump to content

Microsoft Windows 98 to recognize Dual-Core processors (project?)


ohmss006

Recommended Posts


The greatest advantage of a Windows 9x OS is the simplicity. It's easier to backup, restore, move to other hard drive and so on. The DOS included is not without a meaning, as well.

The system performance is not the most important parameter for many users. It is possible to buy a better computer with a newer OS, if the performance is necesary. That's why I do believe multi CPU support is unnecesary. A much more important task would be to remove some of the Windows 98 old issues.

Link to comment
Share on other sites

Please don't flame if I'm incorrect on this as I haven't read the entire thread, but it seems you peeps are under the impression Windows 2000 supports multi-core CPUs. This is a falicy. Windows 2000 supports multi CPU systems, not multi core system. Proof of this is that I'm currently on my work laptop which has an intel core 2 duo T7200 processor in it and we're forced to use windows 2000, and though the device manager shows it as a multi cpu system, the task manager only shows one CPU workload. Further proof of this is the HP support people we get (we get better support than most as we're an R&D center and get HP R&D tech support) who are always laughing that we've got $3000 laptops with windows 2000 on them which is unable to utilize both cores. And yet more proof is, bog down one process, easy for me to do as I'm a software developer(lets not talk details here, lets just say I meant to make an idle thread and accidentally made it time critical), and watch how the whole system comes to a crawl, when doing the same thing on my home pc doesn't effect system responsiveness. Windows XP is the first windows with multi-core support.

You must be using the wrong HAL. Windows 2000 handles up to two physical CPUs (cpu sockets). Windows uses the same HAL for multi core and multi cpu systems. Your admins may need to select a "custom" HAL at the time Windows is installed.

Q: What is the SMP (Symmetric Multi-Processor) Support for Windows 2000?

A: In August, We announced the final packaging for Windows 2000 that we are doubling the Symmetric Multi-Processor (SMP) support for the products in the Windows 2000 Server family. Therefore:

Windows 2000 Professional will support up to two processors.

Windows 2000 Server will support up to four processors.

Windows 2000 Advanced Server will support up to eight processors.

Windows 2000 Datacenter Server will support up to thirty-two processors.

http://www.microsoft.com/hk/windows2000/faq.htm

On topic, Windows 98 isn't going to do to SMP any time soon. It's time to move on to a modern operating system fellas!

What about quad core? Does that mean everybody is required to get Windows 2000 Server or Windows Server 2003?!

Link to comment
Share on other sites

What about quad core? Does that mean everybody is required to get Windows 2000 Server or Windows Server 2003?!

No. It's a licensing problem, not a technical. All W2000 versions have the same kernel, and MS have licensed the different versions for a different number of processors.

When Intel came with it's P4 HT processor, MS stated that a multicore processor (an HT acts like a dualcore) is only 1 processor, and in one of the XP servicepacks this policy is added. So all XP versions can handle a quadcore, and XP pro can even handle two quadcores. I don't know if the latest servicepack of W2000 also adds this feature.

I suppose W2003 can handle 8 quadcores. I think the maximum number of cores which can be handled by a 32 bit NT version is 32. Funtions like GetProcessAffinityMask suggest so.

Link to comment
Share on other sites

Depends on where you live. In Iran, it's not illegal, AFAIK. In much countries it's illegal to disassemble the W98 kernel and change it. I think in most countries it is legal to write a whole new kernel from scratch, and use that in your (licensed) W98. But maybe you need some information to do that (interfacing with the rest of windows) which you can't get legally.

Link to comment
Share on other sites

I wandered into VMWare and ran a Windows 95B virtual machine. I enabled debug logging, and watched the log fill up - it seems that VMM32 is what controls the CPU functionality in 9x. There's this topic over on boot-land: http://www.boot-land.net/forums/index.php?...d&pid=15326 which is essentially how to make your own 32-bit DOS using Win9x files.

I went ahead and created this 'new' DOS... When used, it is essentially what happens when you create a dos-box in Windows 95 - Windows 95 initializes a new DOS session, in protected memory. An actual multi-tasking 32-bit DOS. Of course, the limitations are still present - it seems that the services within VMM32.VXD in windows 95 hold the key to how the kernel gains access to the CPU. I'm certain that such a project IS possible, but it would take YEARS to get it working. And what definition of 'working' do I mean...

Link to comment
Share on other sites

I wandered into VMWare and ran a Windows 95B virtual machine. I enabled debug logging, and watched the log fill up - it seems that VMM32 is what controls the CPU functionality in 9x. There's this topic over on boot-land: http://www.boot-land.net/forums/index.php?...d&pid=15326 which is essentially how to make your own 32-bit DOS using Win9x files.

I went ahead and created this 'new' DOS... When used, it is essentially what happens when you create a dos-box in Windows 95 - Windows 95 initializes a new DOS session, in protected memory. An actual multi-tasking 32-bit DOS. Of course, the limitations are still present - it seems that the services within VMM32.VXD in windows 95 hold the key to how the kernel gains access to the CPU. I'm certain that such a project IS possible, but it would take YEARS to get it working. And what definition of 'working' do I mean...

It boils down to the aptitude of people, rewriting the kernel is not necessary, that is why we have ntkern written by people who had the foresight before we were directed to migrate to nt5, IMO identifying the driver (obviously not the kernel/ntkern) that can access the registers of dual core cpus is the main stumbling block, parsing this to vmm is secondary, hence dissecting win2ks uni/multicore cpu ability may be helpful, which it is more than capable of doing, although struggling in scheduling hyperthreading. I imagine the information is available for people to do this now, it will probably happen after such people desire to write device drivers for latter day hardware and move on from that.

Link to comment
Share on other sites

So, we are facing a law related problem, possibly. Is it legal to add a multicore support to Windows 98?

... If I remember this correctly, Microsoft designates the licensing by CPU, not the cores in the CPU. So my guess is you'd be safe as long as you were working to access ONE multicore CPU. Good luck...

Link to comment
Share on other sites

Out of interest has anybody altered SetThreadAffinityMask to the second core of a dual core cpu, (disclaimer ms says this shouldnt be done on win9x) or ran any cpu info utility to see if it produces any data whatsoever regarding the extra core/s.

As a side note while looking into this subject, I notice that the 20 odd year old os/2 based os has a dual core add in available from ecomstation. I am not saying this will be useful to us but might indicate what could happen. Perhaps again from glancing at os2s achievements, people who like win9x could go the way of http://www.os2world.com/bounties if they require dual core or hardware drivers etc. I do not know if this would motivate people who would not normally get involved or not, but might be worth considering.

As a side side note I also see win4lin (should be cheaper now they have given up on win9x although recent modified nix kernels can still be bought) can run win9x apparently near native speed whilst running a linux single/multicore aware kernel simultaneously.

All the best

Link to comment
Share on other sites

I wandered into VMWare and ran a Windows 95B virtual machine. I enabled debug logging, and watched the log fill up - it seems that VMM32 is what controls the CPU functionality in 9x. There's this topic over on boot-land: http://www.boot-land.net/forums/index.php?...d&pid=15326 which is essentially how to make your own 32-bit DOS using Win9x files.

I went ahead and created this 'new' DOS... When used, it is essentially what happens when you create a dos-box in Windows 95 - Windows 95 initializes a new DOS session, in protected memory. An actual multi-tasking 32-bit DOS. Of course, the limitations are still present - it seems that the services within VMM32.VXD in windows 95 hold the key to how the kernel gains access to the CPU. I'm certain that such a project IS possible, but it would take YEARS to get it working. And what definition of 'working' do I mean...

can you try it for Windows 98?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...