Searched refs:B (Results 1 – 4 of 4) sorted by relevance
61 …内存块的大小均为$2^n$。 在DragonOS中,伙伴系统内存池共维护了1TB的连续存储空间,最大的内存块大小为$1G$,即$2^{30}B$,最小的内存块大小为$4K$,即 $2^{12}B$。63 …更大的最小内存块,同时分配出去的内存块大小为$2^nB$。(e.g. 假设某应用申请了$3B$内存,显然并没有整数值n,使$2^n = 3$ ,且$3 \in [2^1,2^2]$,所以系统会去取…65 …会将大内存块分裂成合适的内存块分配给应用。(e.g. 假设申请$3B$内存,此时系统中比$3B$大的最小内存块的大小为$16B$,那么$16B$会被分裂成两块$8B$的内存块,一块放入内存池中,一…67 …没有找到更大的内存块,系统将会尝试合并较小的内存块,直到符合申请空间的大小。(e.g. 假设申请$3B$内存,系统检查内存池发现只有两个$2B$的内存块,那么系统将会把这两个$2B$的内存块合并成…
17 pub struct Tui<B: Backend> {19 terminal: Terminal<B>,24 impl<B: Backend> Tui<B> {26 pub fn new(terminal: Terminal<B>, events: EventHandler) -> Self { in new() argument
17   当进程A想发送信号给进程B的时候,使用`kill(pid, signal)`接口进行发送。然后陷入内核的`sys_kill()`函数中进行处理。然后内核将会把信号加入目标进程…31 └─────────────┘ │ process B. │45 │ Process B: │53 │ do_signal ├────────► │ stop process B.│ │
100   请注意,`SpinLock`支持的编译期检查并不是万能的。它目前无法在编译期检查出“双重加锁”问题。试看这样一个场景:函数A中,获得了锁。然后函数B中继续尝试加锁,那么就造成…104 - 如果函数B需要访问临界区内的数据,那么,函数B应当接收一个类型为`&SpinLockGuard`的参数,这个守卫由函数A获得。这样一来,函数B就能访问临界区内的数据。