Saturday, April 28, 2007

OS as parallel system

  1. There are subsystems as following in Linux kernel
    • process management (virtual memory system, kernel entry point)
    • physical memory management system
    • file system
    • device driver, device management
    • network system
  2. The subsystems in Linux kernel like the "server" in micro-kernel operating system. They can be seen as multi-thread server too. Although the Linux kernel provides multi-process environment for user space, the kernel itself should be seen as a multi-thread program, because everything is shared.
  3. Most resources are not shared between processes in process management system, i.e., the virtual memory system is not shared between processes, while they are shared between threads.
  4. Process/thread is used as one of the parallel roles, the other parallel roles include IRQ handler, softirq, tasklet, work queue, timer operations. The subsystems in Linux kernel can be seen as multi-thread server system.
  5. If multiple threads access different objects, such as the different file, there will be no conflict.
  6. Copy, cache, transaction technologies in parallel system can be used in Linux kernel too, such as the per CPU cache in slab subsystem.

No comments: