seL4学习
文章平均质量分 76
Austin-Camp
这个作者很懒,什么都没留下…
展开
-
seL4的官方库的封装思想浅谈
seL4官方发力的重点基本在内核层面。我觉得这种决策很好,可以更专注内核的演化和质量。而基于内核构建OS,实际上更像是一个应用工程问题,而且也是众口难调的问题。但是呢,官方又不能一点不管,毕竟内核提供的都是些高度抽象的OS功能和概念,再加上微内核架构的应用的编程模型并没有像Linux那样得到广泛普及,想快速基于seL4 SysCall做系统OS开发难度还是很大的。因此,官方提供一组抽象层次更高一些的库,来加速用户空间的构造。原创 2023-12-07 21:11:08 · 413 阅读 · 1 评论 -
seL4之seL4_BootInfo详解
以下是一个seL4_BootInfo的通常示例。不同的sel4内核配置可能会应影响到这个结构体的定义。如开启MCS时,seL4_BootInfo会多出一些数据项。设计上来说,sel4通过统一的数据结构,而不是设立单独的信息获取系统调用来实现,是一个较为安全的做法,因为只有root task才能访问和操作这些系统关键资源。但是从seL4_BootInfo的结构上来看,信息稍显杂乱,还不能做到所有版本统一,在项目中需要注意版本对应的问题。原创 2023-12-06 00:36:09 · 435 阅读 · 1 评论 -
libselsimple-default
本库是libsel4simple接口的一个实现,通过调用接口,使用来构造一个,就得到了一个可用的,然后就可以使用libsel4simple所提供的接口来访问系统启动环境资源了。原创 2023-12-05 22:15:10 · 420 阅读 · 0 评论 -
libsel4simple
libsel4simple库主要为seL4用户空间程序提供seL4启动环境的抽象访问接口,通过这些接口可以访问并操作内核提供的资源,而不必关心这些资源是如何取到的。通过定义一个结构体,并设计了一组以这个为参数的函数,使用时,只需要定义一个的变量,并将它初始化,就可以调用库接口访问系统资源了。注意:这个库是不提供具体初始化方法的,库则提供了方法。原创 2023-12-05 22:13:59 · 326 阅读 · 0 评论 -
sel4runtime
本库为seL4用户空间程序提供了简单的C运行环境,一般这个功能会包含在C库中。seL4没有刻意绑定某个具体C库,而是自己实现了一个基础版本,并且可以用Musl C扩展。通常来说,runtime的一个具体功能是_start本库为两类程序提供了runtime,1),2)。两种程序的区别主要在与的,内核启动Root Task的同时,还会把内核的数据传递给Root Task。所以需要runtime针对Root Task特殊处理一下。原创 2023-12-05 22:06:16 · 778 阅读 · 0 评论