首页 > TAG信息列表 > zircon

zircon的两种调度理解

zircon 实现两种调度机制,一种就是fair 其实现在fair_scheduler.cpp中,一种是基于时间片的其实现在sched.cpp 中,调度器的入口都在sche_reschedule()这个函数中。 例如fair的实现如下: void sched_reschedule() { FairScheduler::Reschedule(); } fair的实现是一个cpp的类。

Zircon 与 LK

Zircon作为LK的一个分支产生,甚至现在许多内部结构都基于LK,但是上面的层级是新的。例如,Zircon有进程的概念,但Lk没有。然而,Zircon进程是由LK级的结构组成,如LK的thread_t。 LK是为小型系统设计的内核,通常用于嵌入式系统。它是一个很好的商业版的替代品,如商业的FreeRTOS或Thread

Zircon bootsvc程序

bootsvc是(通常)用户模式加载的第一个程序(相对于由内核加载的userboot。bootsvc提供几种系统服务: 包含bootfs内容的文件系统服务(/boot) 从bootf获取的加载程序服务 在准备好这些服务之后,它从bootfs启动一个程序。这个程序可以使用[内核命令行参数](kernel-cmdline.md)- bootsvc

Zircon 通道定义

NAME 命名 channel - 双向进程间通信 简介 通道是一种双向的消息传输,消息由一些字节数据和一些句柄组成。 描述 通道的两端都维护这一个有序的消息队列。消息由一些数据和一些句柄组成。调用[zx_channel_write()]将一条消息入队,调用[zx_channel_read()]将一条消息出列(如果队

Zircon 线程Thread

定义 thread - 可运行的 / 运算实体 描述 线程对象是一种表示时间共享的CPU执行上下文的结构。线程对象存在于关联的特定进程对象中,为其它对象提供I/O和计算所必须的内存和句柄。 生存期 线程是通过调用[zx_thread_create()]创建的,但只有在调用了[zx_thread_start()]或[zx_p

Zircon套接字定义

定义 Socket - 双向流式IPC传输 总述 套接字是双向流传输。区别于通道,套接字只移动数据(不移动句柄)。 描述 数据通过zx_socket_write()]写入套接字的一端,并且通过[zx_socket_read()]从相反的另一端读取。 创建后,套接字的两端都是可写和可读的。通过传入ZX_SOCKET_SHUTDOWN_RE

【Rust日报】 2019-02-09

本文转载自:https://rust.cc/article?id=1908f9bd-f7d5-48fd-a72e-adea93ff0207 一个简单的光线跟踪算法Rust实现 #raytracer simple-raytracer 有人尝试将worley-noise库转成了WASM #wasm 并且做了一个在线的demo。 worley-noise是一个Rust实现Worley Noise算法的库。该算法也

Zircon中新增系统调用

zircon系统调用是有一个生成框架,类似于linux的SYSCALL_DEFINE宏。 系统调用号由系统调用在syscalls.abigen文件中的定义顺序决定,实际上是依次递增的。 在相关文件定义后,会自动申明zx_name的函数,用户之间使用的是这个zx_name的函数。 添加自定义系统调用 修改syscalls.abigen文