1、为什么linux内核只有一个?
linux内核响应中断(linux2.4是10ms一次,linux2.6是1ms一次),然后负责进程调度(200ms一次时间片),一个的话容易管理,响应也较快;多个进程共享一个内核,不浪费资源
2、为什么进程有多个?
多进程是通过时间片实现的,每个时间片处理器可以执行一个进程,超时后进行切换,其实就是把内核的具体功能分解了,交给进程来做,而且进程挂了也不会影响内核和整个系统,实际上进程连实际调用的物理内存都不知道,只知道自己的虚拟内存
3、进程为什么分用户空间和内核空间?
内核空间管理内存、外设和中断,偏硬件部分,比较关键,有特权;用户空间负责权力比较小的部分,偏软件和逻辑部分
4、用户空间分哪些部分?
代码段、数据段、bss、堆、栈
5、关于页表
cpu只能识别物理地址,所以要把进程的虚拟地址,通过页表转为物理地址;每个进程都有自己的进程页表和内核页表;实际上页表就是个地址缓存,名义上每个进程可以查到4G的空间,实际上每个进程用不了那么多地址,所以每一页只是用的时候
才创建
6、关联
中断->时间片->多进程->用户空间和内核空间->页表