摘要:cachelab这节先让你实现个高速缓存模拟器,再在此基础上对矩阵转置函数进行优化,降低高速缓存不命中次数。我的感受如上一节,实在是不想研究这些犄角旮旯的优化策略了。 前期准备 我实验的时候用到了valgrind和python,都可以用apt-get大法直接安装 Prat A: 高速缓存模拟器 C语 阅读全文
posted @ 2020-07-07 22:21 康宇PL 阅读(4) 评论(0) 推荐(0) 编辑
摘要:perflab这节的任务是利用书中知识,来对图像处理中的Rotate和Smooth操作函数进行优化。这次没对上电波,觉得学了一堆屠龙之技。于我个人理解,现在计算机配置比以前高多了,连SWAP分区都几近废弃了,对于一般开发者来讲,代码效率瓶颈首先是架构,其次是算法,最后才是书里教的这些小细节。而且这节 阅读全文
posted @ 2020-07-06 22:41 康宇PL 阅读(5) 评论(0) 推荐(0) 编辑
摘要:archlab属于第四章的内容。这章讲了处理器体系结构,就CPU是怎样构成的.看到时候跃跃欲试,以为最后实验是真要去造个CPU,配套资料也是一如既往的豪华,合计四十多页的参考手册,一大包的源码和测试程序.意料之外是具体考你的不是"炼丹"(指沙土炼硅造芯),而是处理器级别的优化,要把处理器的性能榨干才 阅读全文
posted @ 2020-06-26 23:33 康宇PL 阅读(14) 评论(0) 推荐(0) 编辑
摘要:attacklab这节玩的是利用一个字符串进行缓冲区溢出漏洞攻击,就小时候想象中黑客干的事儿. 做题的时候好几次感叹这些人的脑洞,"这都可以攻击?还能这么注入?这还可能借力打力?"等自己注入的时候却是"啊?怎么又段错误了?怎么又算错地址了?"也是一次有趣的经历了. 小插曲:我拿到文件的时候直接去读得 阅读全文
posted @ 2020-06-06 22:58 康宇PL 阅读(14) 评论(0) 推荐(0) 编辑
摘要:bomblab这节搞的是二进制拆弹,可以通俗理解为利用反汇编知识找出程序的六个解锁密码. 早就听闻BOMBLAB的大名,再加上我一直觉得反汇编是个很艰难的工作,开工前我做好了打BOSS心理准备.实际上手后发现比想象的要简单. 我觉得这多亏了作者没有搞代码优化,让我能比较轻易的还原出源代码,甚至一眼看 阅读全文
posted @ 2020-06-05 22:16 康宇PL 阅读(25) 评论(0) 推荐(0) 编辑
摘要:前天讲到要刚CSAPP,这一刚就是两天半.CSAPP果然够爽,自带完整的说明文档,评判程序,辅助程序.样例直接百万组走起,管饱! datalab讲的是整数和浮点数怎么用二进制表示的,考验的是用基本只用位运算来实现一些看似稀松平常的操作.实际体会就是看题五秒钟,脱发两小时.当然做出来的成就感也是爆棚的 阅读全文
posted @ 2020-05-31 23:41 康宇PL 阅读(24) 评论(0) 推荐(0) 编辑
摘要:最后一战果然过瘾.代码量够多,新机制够复杂度,都管饱.做这一课就像从高山上往下走,坡急且路险,还不知自己的方位,琢磨不透系统的架构.待到下了山,回头一看豁然开朗,原来方才自己所下的山是这般模样.在这里面最重要的道具就是gdb的调用栈查看器了,没了它我肯定得迷失在深山里. 阅读全文
posted @ 2020-05-29 14:36 康宇PL 阅读(27) 评论(0) 推荐(0) 编辑
摘要:管程的设计实在是精妙,初看的时候觉得非常奇怪,这混乱的进程切换怎么能保证同一时刻只有一个进程访问管程?理清之后大为赞叹,函数中途把前一个进程唤醒后立刻把自己挂起,完美切换.后一个进程又在巧妙的时机将自己唤醒,同时让后一个挂起.看似松散的跳转背后竟然是无比严丝合缝的逻辑,真的就滴水不漏. 阅读全文
posted @ 2020-05-11 17:17 康宇PL 阅读(18) 评论(0) 推荐(0) 编辑
摘要:这节虽叫调度管理机制,整篇下来主要就讲了几个调度算法.兴许是考虑到LAB5难,LAB6就仁慈了一把,难度大跳水.平常讲两节原理做一个实验,这次就上了一节原理.权当大战后的小憩吧. 阅读全文
posted @ 2020-05-07 21:54 康宇PL 阅读(15) 评论(0) 推荐(0) 编辑
摘要:近几日睡眠质量不佳,脑袋一困就没法干活,今天总算时补完了.LAB5难度比LAB4要高,想要理解所有细节时比较困难.但毕竟咱不是要真去写一个OS,所以一些个实现细节就当成黑箱略过了. 阅读全文
posted @ 2020-05-01 13:32 康宇PL 阅读(43) 评论(0) 推荐(0) 编辑
摘要:越学越简单,真是越学越简单啊 看视频的时候着实被那复杂的函数调用图吓到了.看代码的时候发现条理还是很清晰的,远没有没想象的那么复杂. 这节创建了俩内核线程,然后运行第一个线程,再由第一个切换到第二个. kern_init: 在vmm_init后加了一个proc_init 在最末位加了个cpu_ide 阅读全文
posted @ 2020-04-27 21:18 康宇PL 阅读(24) 评论(0) 推荐(0) 编辑
摘要:这次搬迁到了博客园,数来是第三次搬迁博客了,做个简要回顾 阅读全文
posted @ 2020-04-22 17:29 康宇PL 阅读(19) 评论(0) 推荐(0) 编辑
摘要:做个总结,这节说是讲虚拟内存管理,大部分的时间都在搞SWAP机制和服务于此机制的一些个算法.难度又降了一截. 不过现在我的电脑都16G内存了,能用完一半的情景都极少见了,可能到用到退休都不见得用的上SWAP机制了.在这种情况下SWAP分区也就象征性的分个几百兆了. 阅读全文
posted @ 2020-04-21 14:30 康宇PL 阅读(26) 评论(0) 推荐(0) 编辑
摘要:总的来讲把的LAB1代码逻辑理顺后再往后学就轻松了一大截.LAB2过遍课程视频,再多翻翻实验指导书基本上就没遇到啥大坎儿. 阅读全文
posted @ 2020-04-16 22:18 康宇PL 阅读(49) 评论(0) 推荐(0) 编辑
摘要:开头赞美THU给我们提供了这么棒的资源.难是真的难,好也是真的好.这种广查资料,反复推敲,反复思考从通电后第一条代码搞起来理顺一个操作系统源码的感觉是真的爽. 阅读全文
posted @ 2020-04-14 21:43 康宇PL 阅读(33) 评论(0) 推荐(0) 编辑
摘要:记录区域赛名额分配所引发的小争端,直接原因是人与人间的误解,根本原因是菜,打不出足够的名额。 阅读全文
posted @ 2019-09-11 15:07 康宇PL 阅读(16) 评论(0) 推荐(0) 编辑
摘要:这篇杂谈写的不大好,很片面,很主观,但总归是有那么一点点思考在里面的,便发之。 阅读全文
posted @ 2019-06-28 20:20 康宇PL 阅读(12) 评论(0) 推荐(0) 编辑
摘要:上了大学后才发现的有趣现象,前辈管后辈叫小孩儿,小朋友。我不大喜欢被前辈叫小孩儿,也不喜欢叫自己的后辈小孩儿 在我心里,未进社会的学生们都是孩子。 没上大学前觉得大学生都是成年人了,处事风度啊,思考方式啊应该是接近社会人了。上了之后发现我想多了,大部分的大学生给人的感觉就是“沙雕网友”。天天打游戏, 阅读全文
posted @ 2019-06-23 15:05 康宇PL 阅读(11) 评论(0) 推荐(0) 编辑
摘要:今天看了《我想吃掉你的胰脏》,脑袋里有了一点点想法,不吐不快。 阅读全文
posted @ 2019-04-23 15:10 康宇PL 阅读(15) 评论(0) 推荐(0) 编辑
摘要:这一周是难度飞升的一周,也是暴露出我短处的一周,同时也让我吃到了数分挂科的苦头。 是时候后该剖析一下自我了。 阅读全文
posted @ 2019-04-23 15:03 康宇PL 阅读(10) 评论(0) 推荐(0) 编辑
摘要:因为讲课需要,这一周先跳到数论这一章进行学习。 数论使我意识到数学分析真的是有用处的。 阅读全文
posted @ 2019-04-23 15:02 康宇PL 阅读(52) 评论(0) 推荐(0) 编辑
摘要:这篇文章取自我高一时候写的第一篇日记。当时的我家里没有电脑,但我早已坚定了要当程序员的信念。现在搬上来忆苦思甜,自我勉励。没有干劲的时候就想想当年,从别人家下完java教学视频再插到自己家电视上看,每天午休猛啃《java从入门到精通》,利用每周仅45分钟的信息课来艰难的调试自己的代码,最大的愿望就是有一台自己的电脑。回看现在的生活,真是宛若天堂,幸福至极。 阅读全文
posted @ 2019-04-23 15:01 康宇PL 阅读(10) 评论(0) 推荐(0) 编辑