linux系统编程——进程管理——基础

摘要: 1. 前言 进程只运行的程序,由汇编语言,数据,资源,状态,虚拟计算机组成。 unix将运行程序分为 创建进程fork,加载二进制exec 1. exec 将二进制程序加载到内存,并开始新程序的执行。 一次成功的exec 会对进程有如下改变: 改变地址空间和进程映像 任何未决信号丢失 进程捕捉信号回 阅读全文
posted @ 2021-08-24 07:34 开心种树 阅读(98) 评论(0) 推荐(0)

linux系统编程——文件IO——IO调度与性能

摘要: 1. 为什么需要IO调度 由于cpu和磁盘的操作周期差 500万倍以上,所以若按照发出IO请求的顺序将IO请求传送给磁盘,效率将非常低, 所以内核会实现IO调度,调整IO请求顺序及时间,以减少磁盘查询次数和大小。 以尽可能降低磁盘访问对系统性能所造成的影响。 2. 磁盘寻址 磁盘虽然使用多级寻址,但 阅读全文
posted @ 2021-08-24 00:49 开心种树 阅读(217) 评论(0) 推荐(0)

linux系统编程——文件IO——给内核提供建议

摘要: 1. 什么是提供建议 通过 madvise() ,进程可以给内核提供建议,以提高文件IO性能。 2. 对映射用法提供建议 int madvise(void *addr, size_t len , int advice); @len : 若为0,则建议会应用到addr开始的整个映射。 @advice: 阅读全文
posted @ 2021-08-24 00:06 开心种树 阅读(332) 评论(0) 推荐(0)