2013年8月23日 星期五

About kernel structure

DOS was designed for running only one dsedicated process.
    => Is the perfect for some real-time, dedicated applications.

UNIX, however, was designed for multi-user, multi-tasking applications.

Kernel runs in privileged mode, and can see the physical memory and physical devices, ports.

Kernel structural organization: divide into two function block
    lower function block - consist of devices drivers, VM manager, scheduler, swapper(pager), initialization code.
    upper function block - system call processing functions.

Related Posts:

  • Describing Physical MemoryReference: http://www.chudov.com/tmp/LinuxVM/html/understand/node16.html NUMA(non-uniform memory access)架構下,memory被分成很多的bank(又稱為node),而每個bank被CPU access的cost不同 Linux用struct pg_data_t來代表bank(or node) 而PC是一UMA的架構,所以只有一個p… Read More
  • Time-sharing vs multitaskingTime-sharing是一把一個CPU的時間做細分,來讓多個程式"看起來"同時執行 Multitasking就是"看起來"有很多個程式同時執行 所以time-sharing一定就是multitasking 但Multitasking一定是time-sharing嗎? 如果三個CPU都各只執行一個程式,那這樣是multitasking卻不是time-sharing了 有點像是multitasking是一種結果,而要達到這種結果有許多技術 其中… Read More
  • Booting ARM system from bootloader to linux kernel有空來讀一下 會以u-boot code當作bootloader base 開到start_kernel之前的組語部分可以參考 http://gicl.cs.drexel.edu/people/sevy/linux/ARM_Linux_boot_sequence.html… Read More
  • Allocating and Freeing Page TablesReference : http://www.chudov.com/tmp/LinuxVM/html/understand/node26.html 因為page table的allocation跟free有很大的cost,而且又是很常要執行的操作(process create&delete) 所以Linux kernel使用quicklists來cache住用來當page table的page quicklist包含pgd_quick… Read More
  • Kernel Space MemoryReference : http://www.chudov.com/tmp/LinuxVM/html/understand/node28.html Kernel的virtual memory適用linear mapping,physical address 0對應到kernel virtual memory的PAGE_OFFSET(通常是0xC000_0000) 也就是說kernel virtual address - PAGE_OFFSET就… Read More

0 意見:

張貼留言