你管这破玩意儿叫操作系统源码(九) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第三十五回 | 扒开execve的皮 第35回 | 扒开 execve 的皮 (qq.com) 我们先打开 execve,开一下它的调用链。 123456789101112131415161718192021222324252627static char * argv 2023-04-08 操作系统
你管这破玩意儿叫操作系统源码(九) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第五部分 | 从一个命令的执行看操作系统各模块的运作 第四十回 | 用键盘输入一条命令 第42回 | 用键盘输入一条命令 (qq.com) 我们成功将键盘中断绑定在了 keyboard_interrupt 这个中断处理函数上,也就是说当我们按下键盘 'c' 时 2023-04-08 操作系统
你管这破玩意儿叫操作系统源码(八) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第四部分 shell程序的到来 第三十一回 | 拿到硬盘信息 第31回 | 拿到硬盘信息 (qq.com) 上一个大部分的名字叫一个新进程的诞生,讲述了进程 0 调用了 fork 函数创建了一个新的进程 —— 进程 1,并且使其达到了可以被调度的状态,fork 就 2023-04-06 操作系统
你管这破玩意儿叫操作系统源码(七) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第二十五回 | 一个新进程的诞生(五) 通过fork看一次系统调用 一个新进程的诞生(五)通过 fork 看一次系统调用 (qq.com) fork 函数 1234567891011121314static _inline _syscall0(int,fork)#d 2023-04-06 操作系统
你管这破玩意儿叫操作系统源码(六) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第二十一回 | 一个新进程的诞生(一) 一个新进程的诞生(一)先整体看一下 (qq.com) 到了第三部分,简单说就是从内核态切换到用户态,然后通过 fork 创建出一个新的进程,再之后老进程进入死循环。 123456789101112void main(vo 2023-04-06 操作系统
你管这破玩意儿叫操作系统源码(五) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第十八回 | 大名鼎鼎的进程调度就是从这里开始的 第18回 | 大名鼎鼎的进程调度就是从这里开始的 (qq.com) shed_init 进程调度初始化 12345void sched_init(void) { set_tss_desc(gdt+4, 2023-04-05 操作系统
你管这破玩意儿叫操作系统源码(四) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第十四回 | 你的键盘是什么时候生效的 你的键盘是什么时候生效的? (qq.com) 我们以 Linux 0.11 源码为例,发现进入内核的 main 函数后不久,有这样一行代码。 12345void main(void) { ... tra 2023-04-05 操作系统
你管这破玩意儿叫操作系统源码(三) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第九回 | Intel 内存管理两板斧:分段与分页 第九回 | Intel 内存管理两板斧:分段与分页 (qq.com) 上回head.s代码重新设置了gdt与idt。 1234567891011jmp after_page_tables...after_pag 2023-04-03 操作系统
动态规划(一) 本文为学习代码随想录时所做的笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 动态规划(一) 动态规划理论基础 什么是动态规划 Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。 动态规划的解题 2023-04-02 算法 #动态规划
你管这破玩意儿叫操作系统源码(二) 本文为学习操作系统源码 (低并发编程)所作笔记,仅供学习参考,不做任何商业用途,若有侵权,请联系删除。 第六回 | 先解决段寄存器的历史包袱问题 第六回 | 先解决段寄存器的历史包袱问题 (qq.com) 当前的内存布局如下, 0地址开始处存放着操作系统的全部代码吗,也就是 system 模块,0x90000位置处往后的几十个字节存放着一些设备的信息,方便以后 2023-03-03 操作系统