Is the Linux kernel replicated on each core while running on multi core?
When Linux kernel runs on multi core architecture then is whole Linux kernel present in each core's private area because Linux scheduler runs on each core and Linux is monolithic structure. I am doing a project on adapting Linux for scalable multi core architecture and did a lot of investigation like google search, asking friend, reading paper to find answer but not yet able to find. If possible please help me.
Well I'm not familiar with the specifics if scheduling on Linux, but I o feel...
Well I'm not familiar with the specifics if scheduling on Linux, but I o feel I can help.
Firstly, I think you have some confusion between storage of executable code and running threads to execute it.
The Linux kernel, like all software, is stored in system memory. There is a per thread storage mechanism that I'm vaguely familiar with called TLS. But I don't think its relevant.
The scheduler is responsible for scheduling programs (threads to be precise) to *execute* on each core. But all executable code (kernel and programs) is stored in system memory.
Hope I've helped here and not muddied the waters further, but as no other replies this is better than nothing!