xv6设计
一个进程只有三种状态,在用户空间运行,或者在内核空间运行,或者不运行(可以理解为两个线程?)
spinlock要处理两个事
一个是cpu与cpu之间的并行
一个是1个cpu上内核(这里特指中断程序)和用户之间的并行,关中断
设备驱动分为两块
top部分 read/write接口
bottom部分 中断处理程序
这两个部分可以并行,需要锁来保护
xv6设计
一个进程只有三种状态,在用户空间运行,或者在内核空间运行,或者不运行(可以理解为两个线程?)
spinlock要处理两个事
一个是cpu与cpu之间的并行
一个是1个cpu上内核(这里特指中断程序)和用户之间的并行,关中断
设备驱动分为两块
top部分 read/write接口
bottom部分 中断处理程序
这两个部分可以并行,需要锁来保护