Jump to content

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


ohmss006

Recommended Posts

lol...this is like someone wanting to stick a 45rpm record into a CD Player and expecting it to work...surely if a person can afford a Intel Core 2 Duo...they can upgrade their OS.

even Windows XP (Student Version) is a leap into the 21st Century

I do hope they keep you well away from guns

Anyway back on track, as previously mentioned I would imagine the kernel and device drivers would need to be modified, perhaps bios.vxd for the motherboard to instruct the os the number of cpus onboard and how to use them. Also the kernel or a filter driver to handle the threads etc to each individual cpu. Software would need to be re written to then take advantage of this. Far easier would be just to make a farm of diskless win9x`s and have them boot up, map their network drives and get to work compressing videos or what have you

Edited by oscardog
Link to comment
Share on other sites


The goal of multicore is to get more free processor power. Not a faster computer because that doesn't work that way.

The only difference by using the second processor through a small app, would be that it requires user's initiative.

Let say you xant to compress a video, you know it will takes hours: you open your vido editor via the dual-core app.

After that you still use your pC on the first processor as if nothing was running while your divX compression goes at full speed.

I dream about something ike that on w98.

That is relatively simple. Just startup your computer with some multiprocessor OS (Linux) and start a virtual machine with W98 twice.

So we'v got the solution! Thread closed! :D LOL

Seriousely how efficient will it be to run windows twice on virtual machines based on a Linux system?

The idea is not bad and can be exploited but I doubt doing it outright as you said will make the PC be much faster than a single, yet same speed CPU, let alone allow much fee memory etc.

What we can imagine is a virtual machine based on a low-key, ultra light Linux version, especialy optimized for this task and a virtual machine application also modified for best performance.

-----------------

if a person can afford a Intel Core 2 Duo...they can upgrade their OS.

even Windows XP (Student Version) is a leap into the 21st Century

LOL. And someone who installed the w98toXP pack had forcibly the money to buy an XP installtion cd (doesn't work without that). :D

So here is an important question: there are poeple who can afford XP, bought XP, have a PC which can run XP, yet use w98... Well, maybe another day you will see pink elephants in the sky. Be careful. :hello:

Link to comment
Share on other sites

I would imagine the kernel and device drivers would need to be modified, perhaps bios.vxd for the motherboard to instruct the os the number of cpus onboard and how to use them.

including that, can i safely say that i will need to be looking for a person that is willing or would like to volenteer, to use Microsoft Windows NT 4.0 and implementing its multicore support to Microsoft Windows 98(Second Edition) inorder to make that operating system to see 2 cores in a dual core processor?

Link to comment
Share on other sites

Far easier would be just to make a farm of diskless win9x`s and have them boot up, map their network drives and get to work compressing videos or what have you

What about detecting the second CPU as another computer and network them. Eventualy mounting a virtual drive in the memory for the virtual second computer.

Instead of the ethernet, the connection would be made through the internal connections of the MoBo. The dificulty is to build a driver which can manage the MoBo structure. Almost impossible to do without extensive manufacturer documentation. Unless we can take XP based drivers to detect the second CPU, then instead of instructed the kernel, it would immediately fully allocate this resource to either this virtual "networked" computer or the special application I was talking about above.

The advantage is that we don't need to mess up with the current kernel and other things.

Link to comment
Share on other sites

Is there even a DOS out there that supports multiple CPU's? I'd think that that'd be the first place to start. Obviously, MS-DOS does not support that functionality, and you'd need to re-write the entire 9x kernel to support multiprocessing, as it was not designed with MP in mind. I'm betting that someone, somewhere, in the mid-90's created a driver for 9x that enabled the use of 2 or more processors, but there's a good chance that it was not free, and was not intended for use with today's 'x86' CPU's.

* Most x86 CPUs nowadays are virtualized x86 implementations on top of another architecture - Intel has the Core/Core2 arch, and AMD utilizes the DEC Alpha 9 arch.

Link to comment
Share on other sites

Is there even a DOS out there that supports multiple CPU's? I'd think that that'd be the first place to start. Obviously, MS-DOS does not support that functionality

I think this is irrelevant as Windows does not run on top of DOS.

As far as I understand, and I might be wrong, it is the virtual machine manager that is at the heart of windows and it provides an emulated layer of all the hardware (a virtual machine) to Windows.

When a DOS program is run, it is provided a separate virtual machine by the virtual machine manager.

So that implementing support for dual-core in Windows has got nothing to see with DOS IMO.

Link to comment
Share on other sites

What I mean is, if there's a multi-cpu enabled DOS, there would be some way to enable the second CPU in non-protected mode. VMM would need to be hacked to allow for the second CPU to come up at boot time. I'd bet that since the 98DDK has become available again, someone MIGHT want to try and write a driver to enable the x CPU to be booted... -_-

Link to comment
Share on other sites

I think this is irrelevant as Windows does not run on top of DOS.

infact, Windows 98 is more or less the GUI that runs on a DOS-based layer, so assuming now correctly i assume, Windows 98 does run on top of DOS.

Is there even a DOS out there that supports multiple CPU's? I'd think that that'd be the first place to start.

couldnt have said it better myself, this is where i mentioned where i will clearly need to look for someone to use NT4 as the basis for making Windows98 see multicores.

and i just purely believe that i dont see the need to make ay virtualness on the operating systemf or the hardware, cause its not solely for one person's need, but for everyone can do and dont need to do this and that. whereas it will be done already in the core itself and thus where all the power lays.

Link to comment
Share on other sites

I think this is irrelevant as Windows does not run on top of DOS.

infact, Windows 98 is more or less the GUI that runs on a DOS-based layer, so assuming now correctly i assume, Windows 98 does run on top of DOS.

No, I don't think Win9x does run on top of a DOS layer.

http://win32assembly.online.fr/vxd-tut1.html

DOS is apparently used in the boot sequence of Win 95 and 98 (but not ME which is why it boots faster) but that's it. Once Windows is running there is no DOS layer running underneath it.

Unless I am wrong but in this case you'll have to show where is this DOS layer that runs underneath the 9x GUI.

Link to comment
Share on other sites

I think this is irrelevant as Windows does not run on top of DOS.

infact, Windows 98 is more or less the GUI that runs on a DOS-based layer, so assuming now correctly i assume, Windows 98 does run on top of DOS.

No, I don't think Win9x does run on top of a DOS layer.

http://win32assembly.online.fr/vxd-tut1.html

DOS is apparently used in the boot sequence of Win 95 and 98 (but not ME which is why it boots faster) but that's it. Once Windows is running there is no DOS layer running underneath it.

Unless I am wrong but in this case you'll have to show where is this DOS layer that runs underneath the 9x GUI.

Re-read the referenced link. VMM (I believe) is interfacing with IO.SYS (the "DOS layer"), ergo DOS!

All Win 1.x/2.x/3.x and Win9x (including WinME) run "on top of DOS" That's why you can Upgrade from Past (DOS) through "current" WinME (with the appropriate Windows Upgrade sequences). Note that certain DOS modules are either replaced or eliminated as part of the Upgrade process (compatability). Also note that there is a "patch" for WinMe that allows you to "boot into pure DOS Command Mode" available on the internet. WinME from MS simply eliminated the access to it to phase Consumers into WinXP (an offshoot of NT, no DOS involved). Kind of like the difference between IBM Mainframe DOS-based (now defunct) and OS-based (still going strong).

Trust me, I've installed them all (including the IBM stuff)! It is definitely DOS-based (symantecs aside)!

And forget modifying 9x to use dual-core! It's definitely not worth the effort (ref. IBM stuff; look it up...). The systems specs are too radically different...

Edited by submix8c
Link to comment
Share on other sites

Indeed. DOS running with Windows GUI is not the same as DOS running without GUI.

I would rather say, the GUI DOS is just a DOS emulation.

The DOS itself can not work with multiple CPU cores. But, it could be possible to run two DOS instances on two different CPU cores. Still there is a problem dividing the system resources (ports, graphics cards and other). The DOS can not do it by itself.

A multitasking multi CPU enviroment, requires some OS layer between application and hardware resources. It is necesary to divide hardware between multiple threads. The windows 9x systems do provide such a layer. One of the kernel fuctions is thread managing through dividing the CPU time between threads. All it is necesary to replace is part of the kernel with a multi CPU one. This makes a multi CPU driver idea completely wrong, as the kernel core is responsible for the multi CPU support. Drivers are working on a higher layer then the CPU support. So, I see no possible solution with a multi CPU driver.

As for replacing the Windows 9x kernel with NT kernel. I think it will not work. As, the NT kernel is a completely different design. The NT kernel does have some security features on the lowest layer, this makes it completely different than 9x kernel. NT based drivers are working on a higher layer than the 9x ones, as far as I know. This makes the system more stable, as a driver can not stop the system kernel.

Also, nobody mentioned a non paralel multitasking feature such as a system kernel running on one CPU with all remaining application threads running on the other CPU. This could increase the system stability mainly. The speed can go up a bit, but not very much. Also, one CPU can do all the hardware access, while the other would do the other things. With such a solution, it would not be necesary to divide system hardware between two CPU cores. The kernel core can be much simpler, that way.

Link to comment
Share on other sites

Well said! You seem to be very knowledgable (a compliment).

GUI=Graphical User Interface (Interface being the keyword; symantecs again)

And don't anyone suggest a new/modified kernel. There's much more to the design than just that single item. Ask the KernelEX Project guys. Even in the Mainframe world there are multiple modules that need generated to support a single new configuration. The kernel is only the basis (ref. IBM's DOS/VSE/AF and OS/390, the latest I'm familiar with).

Still, all-in-all, seemingly not worth the effort. There doesn't appear to be any takers to code from scratch the necessary support. How many months/years of dedicated coding/testing for such a project to satisfy a "want" and not a "need" (without recompense)? That's why MS quit bothering (IBM DOS is history, IBM OS is not; same rationale).

On a side note, the SETI project allows for Computer Clustering via specialized software, but I hesitate to suggest this as relevant to Multi-CPU support, since it's task-specific (as are the other Cluster projects). Check out MS' latest "server inventions" to what's involved.

@ohmss006, how about a little "light reading" on the subjects/objections, 'k?

'Nuff said. As MCP said in Tron (the movie) "End of line..."

Edited by submix8c
Link to comment
Share on other sites

As far as I remember, every memory block does have the access rights. Each thread does have the rights to access certain memory blocks. If a thread tries to access wrong memory block a protection fault error condition is raised by the CPU. The system core has the access rights to all memory blocks, while higher level processes do have some limits.

As the system kernel keeps the best access rights, the application running on the second core would not be able to work in the same manner, I think. The memory block list is maintained by the system core. The second CPU has to have the access to the memory block list, as a CPU can not work in protected mode without it.

The protected mode virtual memory block system used in Windows makes the second CPU used by another application idea looking impossible. As, the second CPU would not have the access to the memory block list.

Link to comment
Share on other sites

I think this is irrelevant as Windows does not run on top of DOS.

infact, Windows 98 is more or less the GUI that runs on a DOS-based layer, so assuming now correctly i assume, Windows 98 does run on top of DOS.

No, I don't think Win9x does run on top of a DOS layer.

http://win32assembly.online.fr/vxd-tut1.html

DOS is apparently used in the boot sequence of Win 95 and 98 (but not ME which is why it boots faster) but that's it. Once Windows is running there is no DOS layer running underneath it.

Unless I am wrong but in this case you'll have to show where is this DOS layer that runs underneath the 9x GUI.

Re-read the referenced link. VMM (I believe) is interfacing with IO.SYS (the "DOS layer"), ergo DOS!

All Win 1.x/2.x/3.x and Win9x (including WinME) run "on top of DOS" That's why you can Upgrade from Past (DOS) through "current" WinME (with the appropriate Windows Upgrade sequences). Note that certain DOS modules are either replaced or eliminated as part of the Upgrade process (compatability). Also note that there is a "patch" for WinMe that allows you to "boot into pure DOS Command Mode" available on the internet. WinME from MS simply eliminated the access to it to phase Consumers into WinXP (an offshoot of NT, no DOS involved). Kind of like the difference between IBM Mainframe DOS-based (now defunct) and OS-based (still going strong).

Trust me, I've installed them all (including the IBM stuff)! It is definitely DOS-based (symantecs aside)!

And forget modifying 9x to use dual-core! It's definitely not worth the effort (ref. IBM stuff; look it up...). The systems specs are too radically different...

Windows 9x uses a new system file, IO.SYS, which replaces the MS-DOS system files (IO.SYS and MSDOS.SYS). This real-mode operating system file contains the information needed to start the computer.

The actual underlying os in win9x is the base system and the real core is the virtual machine manager hence it allowing multiple threads in multiple memory address spaces

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...