进程描述符
每个进程都会被赋予优先级(static_prio)
进程的优先级是基于加载及其他几个因素动态决定的。优先级值越低,实际的优先级越高进程调度
调度程序运行时,要在所有可运行状态的进程中 选择最值得运行的进程
选择依据policy priority counter rt_priority
Linux进程分类
交互式进程:
批处理进程:数据库搜索
实时进程:音视频应用、机器人控制
进程地址空间
Linux采用Lazy机制来分配实际的物理页(Demand paging 和 “写时复制”(Copy on Write)的技术),提高实际内存使用率。
每个进程都有自己的页表,保证不同进程的相同虚拟地址可以映射到不同的物理页
内核分配空间使,通过
__get_free_pages() 或 alloc_pages 从分区页框分配器中获取页框
kmem_cache_alloc() 或 kmalloc() 使用 slab 分配器为专用或通用对象分配块
vmalloc() 或 vmalloc32() 获得一块非连续的内存区