会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
zhushoucheng
博客园
首页
新随笔
联系
订阅
管理
2022年1月8日
Linux 进程调度
摘要: 线程状态(context) 程序计数器(Program Counter),它表示当前线程执行指令的位置。 保存变量的寄存器。 程序的Stack。通常来说每个线程都有属于自己的Stack,Stack记录了函数调用的记录,并反映了当前线程的执行点。 xv6的线程切换 从一个用户进程切换到另一个用户进程,
阅读全文
posted @ 2022-01-08 11:54 zhushoucheng
阅读(151)
评论(0)
推荐(0)
2021年12月12日
Lock 锁的实现
摘要: 锁的种类 自旋锁(spinlock):无法获得锁,就一直循环获取,适合短时间的加锁 睡眠锁(sleeplock):为了防止长时间的循环等待,在获取不到锁时,进程陷入睡眠,当锁释放时对睡眠进程进行唤醒 自旋锁的实现 其实自旋锁的实现很简单,不过是一个状态量置1或者置0的操作 为了防止中断产生死锁以及编
阅读全文
posted @ 2021-12-12 17:16 zhushoucheng
阅读(538)
评论(0)
推荐(0)
2021年11月19日
Copy on Write实现
摘要: xv6中并没有实现这个部分,我自己实现的COW代码没有保存,因此借用了别人的代码,主要是了解实现方法。 COW(copy on write)指fork复制子进程时,并不直接复制父进程的内存内容至子进程中(因为开销很大),而是将这些内存的一个特殊COW标志置1。因此,子进程读内存时,实际上是读的父进程
阅读全文
posted @ 2021-11-19 16:57 zhushoucheng
阅读(198)
评论(0)
推荐(0)
2021年11月4日
Trap (陷入/中断) 源码解析
摘要: 用户空间和内核空间之间的切换通常称为trap trap的三种形式 系统调用引发 异常发生 设备中断 (时间中断、IO中断、网络中断等) supervise mode的权限 用户态和内核态之间的到底有什么区别?其实区别很小: 其中的一件事情是,你现在可以读写控制寄存器了。比如说,当你在supervis
阅读全文
posted @ 2021-11-04 21:46 zhushoucheng
阅读(1344)
评论(0)
推荐(2)
2021年10月29日
页表 Page tables
摘要: 逻辑地址与物理地址的转化 页表是由页表项(PTE)组成的数组。512个PTE构成一个页表页(Page-table page)。 PTE中包含了物理页码(PPN physical page number)以及一些标志,来控制物理空间块的读写访问权限。 物理地址与虚拟地址的映射为三层树形结构,每一层存储
阅读全文
posted @ 2021-10-29 22:09 zhushoucheng
阅读(2200)
评论(0)
推荐(0)
2021年10月28日
exec系统调用 && 进程的加载过程
摘要: exec系统调用会从指定的文件中读取并加载指令,并替代当前调用进程的指令。从某种程度上来说,这样相当于丢弃了调用进程的内存,并开始执行新加载的指令。 exec系统调用会保留当前的文件描述符表单。所以任何在exec系统调用之前的文件描述符,例如0,1,2等。它们在新的程序中表示相同的东西。 通常来说e
阅读全文
posted @ 2021-10-28 22:41 zhushoucheng
阅读(1152)
评论(0)
推荐(0)
2021年10月25日
fork函数详解(附代码)
摘要: 虽然篇幅很长,但大多是易懂的代码,不用担心看不完 这里的所有操作,都将在下面的代码中有所体现 fork会拷贝当前进程的内存,并创建一个新的进程。如上图,fork函数会将整个进程的内存镜像拷贝到新的内存地址,包括代码段、数据段、堆栈以及寄存器内容。之后,我们就有了两个拥有完全一样内存的进程。fork系
阅读全文
posted @ 2021-10-25 22:53 zhushoucheng
阅读(2850)
评论(0)
推荐(0)
2021年6月13日
MIT 6.S081课程资料整理
摘要: 课程主页:https://pdos.csail.mit.edu/6.828/2020/schedule.html 实验答案(非官方):https://blog.csdn.net/u013577996/article/details/108679997 课程视频翻译:https://mit-publi
阅读全文
posted @ 2021-06-13 23:04 zhushoucheng
阅读(1307)
评论(0)
推荐(0)
2021年5月16日
国家密码标准-商密SM2官方文档整理
摘要: SM2官方文档整理 算法原理 SM2算法介绍 我国自主知识产权的商业密码算法,是ECC(椭圆加密算法)的一种,基于椭圆曲线离散对数问题(公钥密码体制所依据的难题主要为大素数分解问题、离散对数问题、椭圆曲线),计算复杂度是指数级。同等安全条件下,椭圆曲线密码较其他公钥算法所需密钥长度小很多。 ElGa
阅读全文
posted @ 2021-05-16 14:35 zhushoucheng
阅读(9341)
评论(0)
推荐(0)
2021年5月1日
计算机系统引导过程
摘要: 从BIOS启动到Kernel加载 大家天天使用电脑,有没有想过整个系统是如何启动的?从你按下电源键,到显示登录界面,中间究竟经历了什么? 本文主要讲述加载计算机内核系统的全过程,主要参考了MIT 6.828lab1实验以及其他参考资料。某些地址、行为在不同计算机上可能不同,这里仅用JOS系统做例子,
阅读全文
posted @ 2021-05-01 22:53 zhushoucheng
阅读(881)
评论(0)
推荐(0)
公告