操作系统
hhzxzy
这个作者很懒,什么都没留下…
展开
-
gcc编译
.o与.obj区别: 没有太大区别,都是2进制文件 win下的.obj,linux下是.o gcc编译流程: 预处理: 展开头文件/宏替换/去掉注释/条件编译 编译:将预处理后的文件转换成汇编语言(编译器做) 汇编:汇编转机器码,生成.s(汇编器做) 链接:连接目标代码,即.o(链接器做) gcc常用命令: -E 只激活预处理, 生成.i -S 只激活预处理和编译 生成.s -c 只激活预处...原创 2021-04-27 13:56:00 · 200 阅读 · 0 评论 -
malloc过大,缺页中断
内存分配原理: 当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作: 1、检查要访问的虚拟地址是否合法 2、查找/分配一个物理页 3、填充物理页内容(读取磁盘,或者直接置0,或者啥也不干) 4、建立映射关系(虚拟地址到物理地址) 重新执行发生缺页中断的那条指令 如果第3步,需要读取磁盘,那么这次缺页中断就是majflt,否则就是minflt。 如何查看进程发生缺页中断的次数: ps -...原创 2019-10-28 16:04:17 · 1626 阅读 · 0 评论 -
操作系统
进程 临界资源:同一时间只能被一个进程占用的资源。 临界区:访问临界资源的代码。 信号量: 整型: 空等待 记录型:让权(时间片)等待 AND型:要么全分配要么不分配 管程: 一组代表资源的数据结构,和对他的操作。 通信机制: 管道 共享存储器 消息传递 进程调度 非抢占 抢占 FCFS先来先服务: 短作业优先: 高优先权优先 高相应比优先 时间片轮转: 多级反...原创 2019-10-22 11:20:24 · 1235 阅读 · 0 评论