linux系统编程——内存管理

摘要: 1. 匿名内存映射 p = mmap(NULL, 512*1024, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); 在有些unix系统没有 MAP_ANONYMOUS ,则通过 /dev/zero 实现映射。 1.1 匿名内 阅读全文
posted @ 2021-08-25 22:14 开心种树 阅读(103) 评论(0) 推荐(0)

linux系统编程——文件IO——补充

摘要: 1. 设备节点 设备节点是应用程序与设备驱动交互的特殊文件。 当应用程序在设备节点上进行一个 IO操作(如open close write read)时,内核将请求转发给设备驱动, 设备驱动处理IO操作,并向用户返回结果。 设备节点提供设备抽象,使应用程序不必了解特定设备或特殊接口。 设备节点是un 阅读全文
posted @ 2021-08-25 21:29 开心种树 阅读(96) 评论(0) 推荐(0)

linux系统编程——线程

摘要: 1.线程是什么? 1.1 线程和进程 进程:二进制程序的抽象,包括:加载的二进制程序,虚拟内存,内核资源(如打开的文件),关联用户等 线程:进程内的执行单元,包括:虚拟处理器,堆栈,程序状态。 进程是运行的二进制程序,线程是操作系统调度器可以调度的最小单元 1.2 虚拟内存和虚拟处理器 现代os包括 阅读全文
posted @ 2021-08-25 13:57 开心种树 阅读(139) 评论(0) 推荐(0)

linux系统编程——进程管理——高级

摘要: 1. 进程调度 进程调度是内核子系统,用于将有限的处理器使用时间资源分配给各个进程,决定哪些进程可以运行及运行多久。 调度的目标: *最大化cpu利用率 尽可能提高系统交互响应速度 让每个进程都能被运行 2. 调度分类 协同式:进程自己主动放弃运行,让其他进程运行 抢占式:调度程序决定何时停止一个进 阅读全文
posted @ 2021-08-25 00:42 开心种树 阅读(110) 评论(0) 推荐(0)