Hi Folks, I have few doubts on how memory is managed in Multi Processor Systems(SMP)? Right now Linux uses 3G:1G split for a uniprocessor (Though patches are there for 32G) 1) I was jus wondering how the 1G memory is managed on a SMP? Suppose i have a 1Gig RAM and 3 procesors (32 bit),Is the 1 Gig memory split among the 3 processors ?? Since each processor can address 4G memory ,Do they have large Virtual Address space? 2) How is the process switching taken care on SMP? (ie) on a UP when when a process time slice is over ,its context is saved in the PSW or the task_struct! and next time it gets its timeslice , it loads the info form the task_struct, but on a SMP, Assume i have 3 procesors ,In the first time slice the Process runs in Processor P1, Is it possible for the process to run in Processor P2 when it gets it time slice back ? If possibe how is it taken care? 3)Does the Linux scheduler diffrenciates between a Process and a thread ? All i can see in the scheduler code is a the task represented by task_struct, which is getting scheduled, >From which i assume ,that the scheduler schedules only the Process (coz task_struct represents a Process :-)!!) But how is the user space threads (which is part of a Process),Kernel treads scheduled ? Any pointers wud be helpful! TIA, Anand -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/