
sel4
Mr0cheng
这个作者很懒,什么都没留下…
展开
-
sel4源码分析
sel4源码解析(一) - sel4内核对象sel4源码解析(二) - CSpacesel4源码解析(三) - sel4系统调用处理流程sel4源码解析(四) - ipcsel4源码解析(五) - Notificationsel4源码解析(六) - 进程sel4源码解析(七) - vspace...原创 2020-02-17 08:38:36 · 1815 阅读 · 0 评论 -
sel4源码解析(七) - vspace
1原创 2020-02-16 07:28:01 · 1897 阅读 · 0 评论 -
sel4源码解析(六) - 进程
6.1.Tcb结构体/* TCB: size >= 18 words + sizeof(arch_tcb_t) + 1 word on MCS (aligned to nearest power of 2) /struct tcb {/ arch specific tcb state (including context)*/arch_tcb_t tcbArch;/* Thread...原创 2020-02-16 07:27:20 · 1769 阅读 · 1 评论 -
sel4源码解析(五) - Notification
Sel4的通知机制类似于信号量– Async endpoint: size = 32 bytes (64 bytes on mcs)block notification {padding 16field_high ntfnBoundTCB 48 //该notification绑定的TCBfield ntfnMsgIdentifier 64 //padding 16field...原创 2020-02-16 07:26:38 · 1137 阅读 · 0 评论 -
sel4源码解析(四) - ipc
4.Inter-process communicate4.1.结构体4.1.1.endpoints结构体– Endpoint: size = 16 bytesblock endpoint {field epQueue_head 64padding 16field_high epQueue_tail 46field state 2}block endpoint_cap(capEP...原创 2020-02-16 07:25:35 · 2370 阅读 · 1 评论 -
sel4源码解析(三) - sel4系统调用处理流程
系统调用指令是svc,通过x0-x7通用寄存器传递相关参数。在sel4中,x0寄存器保存capability或者badge参数、x1寄存器保存message的信息、x2-x5寄存器保存传递的message实体、x7寄存器保存系统调用编号。具体如下所示:/* These are the indices of the registers in the saved thread context....原创 2020-02-16 07:24:50 · 3149 阅读 · 2 评论 -
sel4源码解析(二) - CSpace
Sel4采用基于capability的访问控制模型,进程对系统资源的访问控制权限组成一个capability space,所有的cap存放在CNode里。CSpace是由CNode构成,CNode可以看成一个数组,数组元素称为slot,每一个slot里面可以存放一个cap或者为空。Sel4提供CDT(capability derive tree)结构保存权能的拷贝、2.1.Capability...原创 2020-02-16 07:23:50 · 3138 阅读 · 6 评论 -
sel4源码解析(一) - sel4内核对象
Sel4提供了七个内核对象,分别是:1.CNodes:CNodes本质是一个结构体数组,该数组的元素是cte(capability table entry),该cte中包含一个cap_t结构体和mdb_node_t结构体(todo)。一个进程的CNodes称为Cspace,CNodes的cte称为slot。2.Thread Control Blocks:同一般的进程控制块类似,表示一个进程的运...原创 2020-02-16 07:22:21 · 4435 阅读 · 2 评论