
Linux系统
天健园扛把子
兴趣遍地都是,专注和持之以恒才是真正稀缺的。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解CPU上下文切换
CPU上下文切换CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。而程序计数器,则是用来存储CPU 正在执行的指令位置、或者即将执行的下一条指令位置。它们都是 CPU 在运行任何任务前,必须的依赖环境,因此也被叫做 CPU 上下文**。**CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程...原创 2019-05-21 22:08:28 · 640 阅读 · 0 评论 -
malloc实现过程
前言最近重温深入理解计算机系统,看到了malloc的实现,malloc主要涉及到两个系统调用brk和mmap.废话不多说直接上源码,一切尽在源码之中。brk系统调用的入口函数为sys_brk()sys_brk系统调用源码SYSCALL_DEFINE1(brk, unsigned long, brk){ unsigned long retval; unsigned long...原创 2019-07-01 14:39:10 · 655 阅读 · 0 评论 -
锁的实现机制
在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。所谓的锁,说白了就是内存中的一个整型数,拥有两种状态:空闲状态和上锁状态。加锁时,判断锁是否空闲,如果空闲,修改为上锁状态,返回成功;如果已经上锁,则返回失败。解锁时,则把锁状态修改为空...原创 2019-07-03 17:21:23 · 815 阅读 · 1 评论