Linux kernel

来源:互联网 发布:网络协议工作原理 编辑:程序博客网 时间:2024/06/10 02:39

Linux kernel主要由进程调度,内存管理,虚拟文件系统,网络接口和进程间通信等5个系统构成。

 

进程调度:

  设备驱动中,当请求的资源得不到满足,一般会调度其他进程执行,并使驱动对应的进程进入睡眠状态,直到其请求的资源被释放才被唤醒而进入就绪状态。睡眠分为可被打断的和不可被打断的睡眠。可被打断的睡眠在收到信号的时候会醒来。

 

内存管理:

  CPU提供MMU(内存管理单元)时,Linux内存管理完成每个进程虚拟内存到物理内存的转换。Linux每个进程拥有4GB内存空间,0~3GB属于用户空间,3~4GB属于内核空间。

 

虚拟文件系统:(VFS)

  对上层来说,它隐藏了对硬件操作的具体细节,为所有设备提供统一接口,使用surper block存放文件系统相关信息,使用索引节点inode存放文件的物理信息,使用目录项dentry存放文件的逻辑信息。

 

网络接口:

  提供对各种网络协议的支持,它分为网络协议和网络驱动程序,网络协议实现网络传输协议,驱动程序负责与硬件设备进行通信。

 

进程通信:

  Linux支持进程间多种通信机制,包含信号量,共享内存,管道等。可协助多进程,多资源的互斥访问,进程间的同步和消息传递。

 

Linux用户空间与内核空间:

  只能通过系统调用和硬件中断完成从用户空间到内核空间的控制转移。

原创粉丝点击