It all has to do with virtual memory. (not the misnomer use as swap) Basically, there is a mapping between _real_ memory addresses and the addresses programs use to access data.
In a kernel, this is done (usually) using a mix of hardware and software. If a program tries to access a piece of memory, the hardware looks at the Transition Lookaside Buffer (TLB) to translate the address. If the address exists in the buffer, it does the transition and all is good. If it does not exist, a trap is called to the kernel. It is the kernel's responsibility to look at the virtual memory tables, allocate the memory, copy it if it was copy on write, and most importantly update the TLB so next time it does not have to set up the translation.
So in VM case, this is sorta conjecture. The VM can allocate a slew of memory on the host OS. (As far as the client OS is concerned, this is physical RAM. Then it can make a TLB and all memory accesses will go through it first. This way it can stop Windows from pissing all over OS/2 running on the VM. But Linux will stop the VM from pissing on anything else on the host OS.
As far as kernel traps, the user level program's data needs to be copied over to kernel space for the kernel to access it.
Wow. That was a crazy sequence. I cannot believe someone spent that much time on that animation. Pretty impressive for Flash. And it _worked_ under Linux. I am impressed.
Although the theme was a little lame -- how many anti microsoft things have we seen lately?
The Mac G3 cas *is* sweet for a hardware hacker. But is it practical for the average user?
Here are my complaints:
- Too big. Computers should really be moving to be as small and out of sight as possible. I am sure everybody has the same problem I keep having: my case is bulky and gets in the way.
- Security. Even if you have a lock for a computer case, who actually locks it. By making it easy to get in, that means people will just pop open the case, 'barrow' a few SIMMS or something else. A better design for the average user is a case that is sealed shut from the factory (ok, maybe that is an extreme -- buts screws are perfectly acceptable).
- Upgradablility is a luxury no average user needs. I know my mom will *never* open up her computer case.
I think computers can learn from cars. Make the exterior look cool, the interface clean, but the internals compact and not necessarily easily accessable. I mean, the only person who really cares that my Toyota's oil filter is hard to reach is the guy at Jiffy Lube who has to replace it. How many more drivers are there than mechanics?
Computer repair people can deal with tight, elegant case designs; they are trained to do it. Most people will never open their case like they will never open the hood on their car.
After reading the future plans for linux, I saw a big problem. Linus wants Linux to be able to run on embedded systems -- great! But he also wants it to run on 16 processor super servers. From my understanding of kernels, it seems these are conflicting goals.
So far, Linux has been able to work on Palms and on 4 processors. But if all goes as Linus plans, there will be a much bigger discrepency in the scale of systems in the future. And this will just hurt the performance of Linux on either of these systems.
For instance, does it make any sense to have red-black tree virtual memory areas on an embedded chip running 2 processes? Or should the scheduler be as simple as it is for a machine with 16 processors?
I am afraid Linus will hold back scaling Linux up. He even mentions that one will only be able to use a modified (non-standard) version of Linux if you want to run on 64 processors or more. It is true that in order to scale, you need to make things more complicated and possibly slow for single processor machines, but this should be done. I mean, how many 386's are there running Linux nowadays? How about in 5 years?
I would bet money that there will be many 64 processor machines out there in 5-10 years. Moore's Law is going to give out eventually on the single processor and the only where to move will be in the parallel direction. Linux should be prepared for this.
Actually, this is a really good idea. Why doesn't Slashdot have message boards about certain topics. Instead of just comments on articles, there could be useful discussion groups like Usenet, but with moderation and through the web page.
this seems really silly distinction. how about religion. prejudice against a person's religion is just as bad as race. and a person has choice over their religion. your OS is a lot like your religion (at least with/. people).
Doh. I knew that...mistyped it.
BUZZ....
Who is Engelbart?
It all has to do with virtual memory. (not the misnomer use as swap) Basically, there is a mapping between _real_ memory addresses and the addresses programs use to access data.
In a kernel, this is done (usually) using a mix of hardware and software. If a program tries to access a piece of memory, the hardware looks at the Transition Lookaside Buffer (TLB) to translate the address. If the address exists in the buffer, it does the transition and all is good. If it does not exist, a trap is called to the kernel. It is the kernel's responsibility to look at the virtual memory tables, allocate the memory, copy it if it was copy on write, and most importantly update the TLB so next time it does not have to set up the translation.
So in VM case, this is sorta conjecture. The VM can allocate a slew of memory on the host OS. (As far as the client OS is concerned, this is physical RAM. Then it can make a TLB and all memory accesses will go through it first. This way it can stop Windows from pissing all over OS/2 running on the VM. But Linux will stop the VM from pissing on anything else on the host OS.
As far as kernel traps, the user level program's data needs to be copied over to kernel space for the kernel to access it.
I hope this begins to answer your question.
Wow. That was a crazy sequence. I cannot believe someone spent that much time on that animation. Pretty impressive for Flash. And it _worked_ under Linux. I am impressed.
Although the theme was a little lame -- how many anti microsoft things have we seen lately?
-tbd
http://www.netcraft.com/cgi-bin/Survey/whats?host= www.hotmail.com
The Mac G3 cas *is* sweet for a hardware hacker. But is it practical for the average user?
Here are my complaints:
- Too big. Computers should really be moving to be as small and out of sight as possible. I am sure everybody has the same problem I keep having: my case is bulky and gets in the way.
- Security. Even if you have a lock for a computer case, who actually locks it. By making it easy to get in, that means people will just pop open the case, 'barrow' a few SIMMS or something else. A better design for the average user is a case that is sealed shut from the factory (ok, maybe that is an extreme -- buts screws are perfectly acceptable).
- Upgradablility is a luxury no average user needs. I know my mom will *never* open up her computer case.
I think computers can learn from cars. Make the exterior look cool, the interface clean, but the internals compact and not necessarily easily accessable. I mean, the only person who really cares that my Toyota's oil filter is hard to reach is the guy at Jiffy Lube who has to replace it. How many more drivers are there than mechanics?
Computer repair people can deal with tight, elegant case designs; they are trained to do it. Most people will never open their case like they will never open the hood on their car.
-tbd
After reading the future plans for linux, I saw a big problem. Linus wants Linux to be able to run on embedded systems -- great! But he also wants it to run on 16 processor super servers. From my understanding of kernels, it seems these are conflicting goals.
So far, Linux has been able to work on Palms and on 4 processors. But if all goes as Linus plans, there will be a much bigger discrepency in the scale of systems in the future. And this will just hurt the performance of Linux on either of these systems.
For instance, does it make any sense to have red-black tree virtual memory areas on an embedded chip running 2 processes? Or should the scheduler be as simple as it is for a machine with 16 processors?
I am afraid Linus will hold back scaling Linux up. He even mentions that one will only be able to use a modified (non-standard) version of Linux if you want to run on 64 processors or more. It is true that in order to scale, you need to make things more complicated and possibly slow for single processor machines, but this should be done. I mean, how many 386's are there running Linux nowadays? How about in 5 years?
I would bet money that there will be many 64 processor machines out there in 5-10 years. Moore's Law is going to give out eventually on the single processor and the only where to move will be in the parallel direction. Linux should be prepared for this.
-tbd
Actually, this is a really good idea. Why doesn't Slashdot have message boards about certain topics. Instead of just comments on articles, there could be useful discussion groups like Usenet, but with moderation and through the web page.
this seems really silly distinction. how about religion. prejudice against a person's religion is just as bad as race. and a person has choice over their religion. your OS is a lot like your religion (at least with /. people).
I cannot connect to their site. HA HA. Shoulda been running a stable web server.
How do you check what kind of web server a site is using?
Looks like ABC got the slashdot effect. Only the header seems to download. Must be on M$ webserver.