作者:阿秀
阿秀的求职笔记:https://interviewguide.cn
你好,我是阿秀。
不知道你喜不喜欢看书?我是有着看书的习惯的,从在学校的时候就有这个习惯,只不过那个时候学习的时间很多,每天都能拿出很多时间来看自己喜欢看的书或者视频,粗略估计每天差不多能有 5-8 小时的时间用来看书和学习,研二的时候甚至更多。
后来,我也把这个习惯带进工作中了,只不过不能再像以前那样肆意看书了,想看什么就看什么,想什么时候看就什么时候看。
最开始我试过晚上下班回去后看点东西,不过总是看过头,经常到晚上一两点,结果第二天就GG了,头晕的不行。
后来我就把时间调整到早上了,慢慢习惯在早上早起看点自己想看的书。
现在我基本是早上七点半左右起床,简单洗漱一下,7:40-9:30是我的看书学习时间,然后再去公司蹭早餐,因为公司的免费早餐截止到10:00停止供应,毕竟白嫖党永远不能亏。
正因为自己的学习时间更加少了,因此我格外珍惜自己每天的学习时间,当然也就很注意自己所看文献资料的质量,不会去看一些乱七八糟良莠不齐的文章或者视频了。
最近有位读者给我分享了他的操作系统笔记,是他在学习MIT 6.828 过程中自己总结出来的笔记。
是的,就是那个十分硬核的神级操作系统课程,我在以前的《我学习计算机全靠B站了》系列中也推荐过这门课,相当不错。
我看完这份PDF后大呼过瘾,原本我在公司午休时间是半小时左右,正是由于这份PDF,我的午休时间变成十分钟了,可以说我在午休间隙看完了这份PDF,趁着今天周末给大家分享一波。
他给自己的操作系统PDF起了个名字,叫做《给操作系统捋条线》,在这份笔记中,操作系统被分成了五个部分:启动、中断、文件系统、进程、控制台,在每个部分中他都以图形的形式画出了细节图,从硬件到软件将各个方面都给串起来了,能够让大家知道一个操作系统是如何设计的。
比如其中的操作系统启动图
进程调度切换部分
多级页表的优缺点
我看完只感觉自愧不如,因为我自己的PDF总结,也就是《阿秀的校招笔记》系列中的操作系统过程中还是偏向于理论较多,很少有实战部分的说明。
不过这位读者写的相当全,并且附赠上了代码实现,比如针对进程,他详细总结了如下知识点:
如何创建一个进程( 实现)?
第一个进程如何创建的?
程序是如何从磁盘加载到内存的( 实现)?
一个进程如何被调度上 ?
常见的调度算法及其利弊?
进程如何切换(页表, ,栈,上下文等是如何变化的)?进程的休眠唤醒如何实现?
进程的等待退出如何实现?
孤儿进程,僵尸进程什么意思?
程序从 开始执行(简单了解了解运行库)?
堆到底是个什么玩意儿?如何实现?如何组织管理?
针对内存管理,他详细总结了如下知识点:
XV6的物理内存是如何管理的,虚拟内存又是如何管理的?
虚拟地址空间应该如何理解?
地址0真的就不能访问?
所谓的分配内存做了些什么事
还有很多别的内容就不再给大家分享了,这位读者也开源了他的这份笔记,地址如下:
https://github.com/Rand312/xv6.git
https://gitee.com/rand_cs/xv6.git
除此之外,他也把他的纸质版PDF给我发了一份,如果大家需要的话,可以加下我的微信,并且备注”操作系统“,我把这份资料以及上次分享的《Git Pro PDF电子版》会一一私发给大家:
推荐👍:《逆袭进大厂系列》(包含C++、操作系统、计算机网络、MySQL、Redis、情景题)
推荐👍:求职软实力(面试、话术、简历)
你好,我是阿秀,本硕均于普通双非学校就读,现于抖音旗下担任全栈研发工程师,前后端全能。一路走来,很累也很不容易,希望能帮助到更多像我一样的普通学校的学生。我踩的坑不希望你再踩,我走过的路希望你照着走下来。