Fork me on GitHub
摘要: 被忽略的过程 对于C这种编译性语言,我们平时编译时,不管是通过IDE图形界面,还是通过命令行,总感觉编译一下就完成了,然后就得到了针对某OS和某CPU的二进制可执行文件(机器指令的文件)。但是实际上在源码到可执行文件中间隐藏了四个过程,这四个过程被OS默默的处理了。 编译四个过程:预处理、编译、汇编 阅读全文
posted @ 2018-07-31 16:11 克拉默与矩阵 阅读(5404) 评论(3) 推荐(7) 编辑
摘要: 系统API里面也会有简单的指令,类似于a++这种,我们认为的简单指令对应到汇编可能很多条。执行在其中某一条汇编的时候可能就切换进程了。切换进程可能发生在用户态(虚拟内存的用户空间),也可能发生在内核态(虚拟内存的内核空间)。不管在哪,切换之前做好记录工作,保护现场,将来切换回来的时候继续执行。这样的 阅读全文
posted @ 2018-07-31 11:33 克拉默与矩阵 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 信号量作用 当多个进程/线程进行共享操作时,用于资源保护,以防止出现相互干扰的情况。再间简洁一点,信号量用于“资源的保护“。 进程信号量:实现的是进程所操作资源的保护。 线程信号量:实现的是线程所操作资源的保护。 疑问:资源保护,这个“资源”到底指的是谁? 答:这个资源指的就是你操作的数据,保护的目 阅读全文
posted @ 2018-07-31 11:15 克拉默与矩阵 阅读(817) 评论(0) 推荐(0) 编辑