Sign in to follow this  
The C modest god

The future of PC?

Recommended Posts

I want to ask about two related topics in this thread. First, I heard that the processors companies have stopped trying to create faster CPU and instead they will be creating chips with several CPUs in them. Is that true? Relating to that, I heared that windows vista is going to use these new type of chips. Another intersesting thing about windows vista is that it is going to use 4 priorety levels instead of just 2. In IA32 hardware 4 prioreties levels have already existed, but windows decided not to use this for compatability with other cpus. So windows vista is not just an OS with better interface like, I think, some people have said here. Last, will there be a new linux kernel that will operate on the new chips and use the four priorities levels? or is there going to be a large gap between vista and linux capabilities? Thanks in advance.

Share this post


Link to post
Share on other sites
Quote:
Original post by The C modest god
I want to ask about two related topics in this thread.
First, I heard that the processors companies have stopped trying to create faster CPU and instead they will be creating chips with several CPUs in them.
Is that true?

More or less.
They haven't stopped trying to create faster cores, but it has slowed down. They can't improve the speed anywhere near as fast as they did, say, 3 years ago. So yeah, the focus is starting to move to multicore chips. But that doesn't mean they'll completely ignore everything else.

Quote:

Relating to that, I heared that windows vista is going to use these new type of chips.

It's nothing new. Windows XP can use them. So can (probably) Windows 98.

Quote:

Last, will there be a new linux kernel that will operate on the new chips and use the four priorities levels? or is there going to be a large gap between vista and linux capabilities?

If it's worth having, Linux will have it. I don't know how Linux works with priority levels at the moment, but if someone thinks it'd be a good idea to extend it, then that's what they'll do.
As for supporting multicore chips, Linux has always done that. It's not a new "type of chips". They have existed for decades. Even P4's hyperthreading does something like it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Spoonbender
If it's worth having, Linux will have it. I don't know how Linux works with priority levels at the moment, but if someone thinks it'd be a good idea to extend it, then that's what they'll do.
As for supporting multicore chips, Linux has always done that. It's not a new "type of chips". They have existed for decades. Even P4's hyperthreading does something like it.


Worth does not necessarly means better.
The problem with the four priorities levels is that it is unique to intel's chipset. So if you want compatability to other OS, such as for cell phones or hand helds you will need to give up these priorities.
Vista may be less compatible to a large variety of cpus, but it would probabbly be faster then linux on the intel chipset.
That is what I think.

Share this post


Link to post
Share on other sites
Quote:
Original post by The C modest god
Vista may be less compatible to a large variety of cpus, but it would probabbly be faster then linux on the intel chipset.
That is what I think.


This is probably going to cause a small flame war, but more than once I've seen Windows install programs run MUCH faster in Linux/Wine than in Windows itself. Linux only uses prority levels 0 and 3. Since the Unix security model basically divides up into kernel/superuser code and other code as far as hardware access goes, I can't really see why they'd need to use 1 and 2. Besides, is nobody else on here predicting the death of the x86?

Share this post


Link to post
Share on other sites
Quote:
Original post by ZQJ
Besides, is nobody else on here predicting the death of the x86?

People have been predicting the death of x86 since the creation of x86. Give it a rest. 27 years (34 if you count from the original 4004) and it's still going strong (unfortunately?). I'd consider Itanium to be the single biggest failure to replace x86 with something better.

Anyway, the basic idea is that things have moved from instruction level parallelism (ILP) to thread level parallelism (TLP). Since about the original Pentium, the focus in x86 microprocessor design has been to take an incoming instruction stream in completely non-optimal order and re-optimize it on the fly, running as many things as possible in parallel and interleaving instructions as necessary to maximize efficiency. AMD and Intel have become exceedingly good at this, but the number of tricks they can pull at this level have been exhausted. That, along with the clock speed wall, have restricted single core performance for x86 considerably. Now, the idea is instead to maximize the throughput of multithreaded programs. Dual core is the first step in that direction.

Vista is still the NT kernel, and there haven't been any hugely fundamental changes. Vista will run on any machine that XP runs, although as with XP vs 2K, Vista is configured out of the box for a higher min spec. I don't know specifically about the use of extra protection levels on IA32, but it seems unlikely to me at this juncture. Maybe there's some big advantage to those levels I don't know about, but it seems quite late to do so. The NT kernel was written with portability in mind, more so than Linux ever was. I don't know how much their HAL can cope with differences in execution levels between processors, but it seems unnecessary to put in at this point.

Share this post


Link to post
Share on other sites
Quote:
Original post by Promit
People have been predicting the death of x86 since the creation of x86. Give it a rest.


True. Well, we'll see how the AMD64 goes then...

Share this post


Link to post
Share on other sites
Of the architectures that Windows NT has supported in the past, plus those that it supports currently/will do in the near future (including AMD64), only the x86 supports 4 privilege levels instead of 2. Given that there is very little point to using the extra levels, it would constrain portability hugely to write an OS which relied on them.

That Vista uses them is probably about as realistic as the rumour that Vista dropped the entire NT core and is now is based on BSD.

Share this post


Link to post
Share on other sites
Quote:
Original post by bakery2k1
Of the architectures that Windows NT has supported in the past, plus those that it supports currently/will do in the near future (including AMD64), only the x86 supports 4 privilege levels instead of 2. Given that there is very little point to using the extra levels, it would constrain portability hugely to write an OS which relied on them.

That Vista uses them is probably about as realistic as the rumour that Vista dropped the entire NT core and is now is based on BSD.

Why wouldn't they drop the NT core?


Share this post


Link to post
Share on other sites
Um... because that would mean losing support for all currently existing drivers, not only hardware device drivers but also those drivers installed as part of applications. Also, it would mean basically throwing out 17 years of perfectly good work.

Share this post


Link to post
Share on other sites
Quote:
Original post by Spoonbender
If it's worth having, Linux will have it. I don't know how Linux works with priority levels at the moment, but if someone thinks it'd be a good idea to extend it, then that's what they'll do.


As long as there aren't any licensing problems with the hardware and the information is there. Take a look at drivers for Nvidia cards, the open source drivers are rather lacking in performance, while the official drivers "taint" the kernel.

At least with CPUs there are enough people with email addresses from intel.com in the latest Linux kernel changelog that this will hopefully not become a problem (also assuming that intel retains its dominance).

Share this post


Link to post
Share on other sites
As far as Linux goes --
Linux was not designed to be a portable OS. It was written very closely to the 80386 and 80486 hardware, and exploited several properties specific to those chips. If it didn't bother to use the extra protection levels then, there's no reason for them to put it in now.

Share this post


Link to post
Share on other sites
Perhaps not originally, but Linux is extremely portable now. I obviously cannot say for certain, but given the monolithic kernel mindset of Linus at the time, I think it is a fair assumption that he would have thought the extra protection of ring 1 & ring 2 was not worth the performance cost.

If you want to learn more about the capabilities the additional rings give you, go read about QNX v4.x. I think it was the only OS that used them. In QNX 6.x they wanted more portability and devised alternative mechanisms to accomplish the same task. This is worth noting too, that ring 1 & 2 are not strictly needed to improve the architecture of the kernel.

The various rings give you hardware level guarantees that certain instructions cannot be executed. In theory everything could run in ring 0 if all the kernel code was perfect; but a single stack exploit in any program would compromise the entire system then. ring 1 & ring 2 give you similar capabilities for OS stacks and drivers that ring 3 does for applications. Meaning if the OS TCP/IP stack or the SCSI interface layer had a bug it would be contained by ring 2, and if a low-level hardware driver had a bug it would be contained by ring 1. No more BSODs, you can just restart the driver or stack (and its dependencies) like it was a program.

I'd like to see real-time support in the next NT kernel, but that's probably not high on thier list.

Share this post


Link to post
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

Sign in to follow this