0%

为什么有个续集 本来是准备写关于 OOM-killer 和 cgroup 的一篇文章,然而在准备过程中对上一篇博文的测量程序重新做验证时,发现了点有意思的东西,感觉还可以当作一道面试题 :p。 重新用 malloc 检测可用内存 上一篇博文中我通过不断申请 size=1024B 的块来测量内存,最终结果是进程被 SIGKILL。为了让程序效率高一点,我对它进行了如下改进: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // test1.c #include #include int main(){ void
阅读全文 »

胡言乱语的开头 事情还得从两天前的面试说起。没有自我介绍,面试官问我的第一个问题就是:C++中定义一个空的类,那么它的 sizeof 是多少?我内心:woc我怎么知道。面试官继续发问:如果给这个类中加一个空的虚析构函数,那么它的 sizeof 是多少?连蒙带猜给了个答案。面试官再次发问:如果给这个类中加一个静态函数,那么它的 sizeof 是多少?我:QAQ。 虽然从我个人角度去看,这几个问题似乎没什么意义 给自己菜找借口,但是不让我运行一下我还真的不敢确定地说出答案是多少。因此这也暴漏了我在相关方面的短板。所以呢,还是要好好研究一下,顺便复习一下编译链接过程的相关知识。 sizeof 先
阅读全文 »

现在是5月20号晚上。最近比较忙。有一些胡乱的事情和想法想记录下来。 最近比较忙,一部分是真的事情多,另一部分是焦虑和拖延造成的。计划中的进度从来就没实现过。 感觉自己定下了以后的研究方向,看了近两年顶会上的paper,又有点迷茫。 不知道未来的四个月会是什么样的情况,希望能进想进的组。有点畏难情绪。 面试了几个大厂,自认为积攒了不少经验。今天某大厂技术二面被教做人,完全没给自我发挥的空间,开始后就来了个夺命三连问,问的我抓耳挠腮哑口无言。复盘要做,另起一篇文章。 今天我一个最好的朋友毕业离开了,我帮他把行李搬到车上,想起三年前入学时把我提早到的行李送到我宿舍的情景。一方面感慨时间飞
阅读全文 »

这次的Assignment是完成一个最基本的shell(的很小一部分功能)。代码量很小,只有不到30行,但是里面的不少东西值得说道说道。 shell是什么 shell的使用场景常常给人一种错觉--它和内核是一伙的:shell完成了用户的命令,因此shell是内核的一部分。但事实情况是shell只是个普通的用户态程序,和我们运行的HelloWorld没什么不同。它的特殊之处在于它的功能--与用户进行交互:接收用户实时输入的命令,对命令进行解析,然后根据解析结果向操作系统发送相应的请求,以完成用户的命令。换句话说,shell是个命令的中转站。我们大概可以使用如下的图示来表示shell的功能:
阅读全文 »

事情的起源是这样的:舍友想通过计算大矩阵的乘法对比多核和单核的性能差异,结果某个程序总是在运行后不久被SIGKILL掉。进一步了解后发现该程序中矩阵大小为100000*100000,数据类型为double,直接使用malloc申请。经过简单估算,malloc要申请的内存约为 80GB,明显消耗资源过大。 进行推测:服务器中对于资源消耗超过阈值的程序发送SIGKILL信号。 遂想到一解决方案:先测量出服务器上通过malloc最大可以申请的内存,然后设定矩阵大小小于这个值,程序就可以正常运行了。 遂想到CSAPP中死循环使用malloc测量最大可用内存的方法。 在本地虚拟机上使用如下代码进
阅读全文 »

停了好久Orz。。。本来Lab2在半个月前就完成了,结果Part2的某个地方出了问题,查了半天还没查出来错在哪里QAQ。前两天趁着假期又重写了一遍,终于过了检查。另外考虑把实验报告都换成中文。 Lab2的主要任务是完成JOS的基本内存管理。内存管理分为两个部分,一是对于物理内存的管理,二是虚拟内存到物理内存的映射。 Part1: Physical Page Management 为什么说是物理页管理呢?因为在JOS中,对物理内存是以“页”这个粒度进行管理的。操作系统要想做到对物理内存的管理和使用,就要了解每一块物理内存的使用情况:内存是否可用?如果不可用,那么它现在被映射了几次?JOS通过
阅读全文 »

建站 安装NodeJS 安装Hexo 1 $ npm install -g hexo 建站 1 2 3 $ hexo init $ cd $ npm install 基本配置 打开folder/_config.yml 配置基本信息。 设置主题 将Hexo主题文件夹放置于/themes 下。我的博客使用的是next主题。 部署至 GitHub 1 $ npm install hexo-deployer-git --save 1 2 3 4 deploy: type: git repo: https://github.co
阅读全文 »

忙里偷闲第三次更换了博客地址。从GitHub到VPS再到GitHub,不知道为什么就又开始折腾了。。。也许是因为WP对于Latex公式和代码块的渲染老是出现问题,让我无法专心写东西。不管怎么样,搬到GitHub还是省事一些,而且Hexo各方面都做得很成熟了。 还是需要对博客进行进一步的自定义修改,研究一下自动部署的问题,这部分的工作留着慢慢来。 希望自己多写东西吧,高质量的技术总结、学习笔记,以及生活中的点点滴滴。
阅读全文 »

现在是2020年12月31号,23:33,还有不到半小时就要结束了。我坐在寝室的电脑前,听着《遥望2020》,时不时地暖暖手,想着在12点之前写点什么东西。 写点什么呢?遥望2020,对于我自己而言,好像也没什么值得写下来的。似乎和去年一样,又似乎潜移默化地发生了什么变化。不过,我倒是愈发认清了自己是个普通人的事实,认清了自己不成熟的事实,而不是像之前一样洋洋自得地活在自己创造的假象中。 2020是魔幻的一年,发生了太多事情。年初的疫情改变了很多,让我有了史上最长假期,让我有了另一个能长时间陪伴家人的机会。 希望在明年的这个时候,回望2021,我会骄傲地说出我真正做了什么有意思,有意义的
阅读全文 »