于是,周三了,跑步的时候孙彧跟李媛说他晚上还要去实验室干活,问她跟不跟着一起。
“我们明天考核,今天就不去了。”
“就一科吗?”
李媛嗯了一声,不过不管李媛是不是跟着孙彧去实验室,他俩都不需要再去图书馆抢位置,晚饭后的空余时间还是挺多的,天色黑的又晚,蚊子还没有那么猖獗,两人于是在东湖边看了一阵荷花。
毕竟不是周末,6点前后在东湖边坐着并没有什么打扰,只是看着湖面上飞来飞去的蜻蜓,“你说是不是要下雨了?”李媛问道。
“这个也不好说,傍晚正是蜻蜓觅食的好时间,晚霞中的红蜻蜓嘛。”
“往年五六月份都是要下好大雨的。”
“华南前汛期嘛,不过今年这个月没怎么下雨,6月份可能就要下了。”
“你看过银河吗?”李媛抬头看看天空,除了斜挂在半空的半个月亮,还能看到的就是那颗太阳系第二行星了。
“看过啊,小时候夏天躺在屋顶往天上看,除了银河,星星密密麻麻的,都有一种针扎不进的感觉。上大学那年暑假都还是这样,但是去年暑假回去,天上星星都少了很多。”
“这叫光污染?”
“是吧,反正到了羊城之后,晚上看不到星星也就算了,天都是红彤彤的。”孙彧哈了一声。
“走吧,回去吧。”李媛嗯了一声,抬手看了看表,也快7点了,时间过的也挺快的,要不是湖边晚上蚊子实在太多,好想在这里一直待下去。
于是,把李媛送进宿舍大门,孙彧也回宿舍拿东西去实验室。
两块板硬盘都挂载成功,并且能够在上面编译和运行程序,然后大家一致觉得软盘可以先不管或者干脆放弃掉,先测试一下存储卡。
毕竟这两块板跟个人电脑主机板的区别只是在于集成度更高一些,架构上其实更加简单,而处理器是一样的,于是指令集也是一样的,按照编程指南做了一些修改之后,只是单用户单进程读写存储卡的话,结果也很令人满意。
“这种板的适用场景肯定是单用户,但是多任务也是必须支持的,我们原先写驱动的时候好像没有考虑过这一点?”杨岿说道。
“是的,别说驱动了,我内核进程管理现在其实也很简陋,只是考虑了正确性。”
“那意思就是进程重新调度执行之后,有可能跟原来的执行上下文不同?”
“如果没有换出那就没有问题,如果换出的进程不超过两个,那也没问题,超过的话,调度效率就会很低,恢复现场的时候可能会死等。”
“那内存管理也有问题吧?”
“嗯,说到底,应该就是内存页面调度的问题,调度算法还没有好好琢磨过,每个页面多大合适也没有很认真的测试过。”
“那你打算怎么搞?”
“那就先解决这个问题咯。”
“你们两个先停一下,现在是不是说如果多个设备共同工作,是不支持的?”裴华插话道。
“支持,支持数目有限,具体能支持多少个,还没测试过。”
“本来也没打算支持无限多个外围设备吧,现在最多能支持几个?”裴华又问道。
“至少同时支持硬盘和这个存储卡。”
“那就把软驱加上看看?”靳平说道,现在能接上去的外围设备就这几个。
测试结果多少有些意外,软驱和硬盘之间数据传输速度正常,但是软驱和存储卡之间数据传输很慢,比软驱和硬盘之间的传输速度慢了很多,而存储卡和硬盘之间的数据传输率却又是正常的。
“存储卡和硬盘之间的数据传输率真的正常吗?”孙彧不由得有些怀疑。
“这板支持dmA吗?”杨岿似乎也想到了什么。
“支持,显然软驱和硬盘之间就是通过dmA传输的,”孙彧翻了一下使用手册和编程指南,想了想,然后又说道:“唔,问题又到了驱动程序上了,显然没有发dmA请求。”
“那现在主要就是两个问题,一个是存储卡驱动没有发dmA请求,一个是内存页面管理的参数需要调整?”裴华说道。
“唔,我先解决内存页面管理的问题,驱动没有发dmA请求这个问题有点古怪,我得检查一下我的系统调用是什么回事。”
事情就是这样,一个问题能牵扯出许多问题,不过能找到问题,也算是收获,孙彧决定明天跟老师汇报一下,以及找时间去跟潘智交流交流,看看他那边是个什么情况。
找老师汇报并不是要老师帮忙解决问题,这些问题老师也并不能帮着解决,一般老师就是提供一些解决问题的方向和思路参考,而孙彧汇报的时候也把自己的解决思路一并说了,不论是李老师,还是带操作系统实验的罗老师,都认为他可以先按照自己的思路做下去看看,毕竟从理论的角度看,孙彧的做法还是合理的。
然后孙彧发现本来页面大小他在pc机上设置的是4K,但不知道为什么交叉编译的时候他改成了1K,真是莫名其妙,孙彧也已经忘记了当时是怎么想的,至于调度算法,一时半会儿也看不出什么问题来,只好先不管它,但是为什么会改成2K这个问题,孙彧觉得没有就是随便改的那么简单。
所有的常数都是宏定义的,不存在一个地方改了另外的地方没改,改了页面大小,相应的页表项大小,页表大小也会变,不过不管怎么说,孙彧先把页面大小改回了4K。
趁重新编译的功夫,孙彧慢慢思索着当初是怎么想的,应该是为了做个实验,4K的页面可能有些大,为了减少内碎片,所以他改成了1K,打算试试看效果怎么样,效果看来挺显着,进程稍微多了那么两三个,就开始抖动了。
这个问题是有理论根据的,至于是不是改成2K再试试,孙彧决定先不费那神,直接改回4K,先解决存储卡驱动没有发出dmA中断的问题。
显然当初在电脑上测试的时候,存储卡和硬盘之间的数据传输是通过了dmA的,不然通不过那时的验收,于是差别就在于系统调用上了,现在驱动调用的系统调用是孙彧自己实现的,而那时调用的是doS的。
那就看代码咯,孙彧发了一会儿呆,然后看了看时间,已经快5点了,时间过得可真快。
“先回去了,晚上再过来。”孙彧站起身,东西都不用带回去,下次下午过来的话,就穿运动服好了,可以直接去跑步。
“怎么样?”裴华问道。
“页面参数我改过,本来是想测一下找个最优配置的,我先改回来看看,晚上过来检查一下系统调用的代码,看看什么回事。”
“你现在板上的程序是改回去了的吧?”
“是的。”
“那行,你那个参数在哪里改?打算怎么改?我来测一下。我等下要到研究生饭堂那边吃饭,吃完就回来,你们晚上要来的话直接过来就行,我肯定在的。”裴华说道。
“就这里,我打算测一下4K,2K,1K都有什么变化的。”
“好,我试一下。”
有点晚了,孙彧便没有去跑步,吃过饭去找李媛,免不了被李媛盘问了一番。
两人交往到现在,这种程度的小脾气,对于孙彧来说,就当是李媛在跟他调情撒娇了,因为李媛真的从来没有跟孙彧撒过娇。
“你晚上有什么事不?我等下就要去实验室了。”把李媛拉到路边的偏僻处,控制住她,孙彧这才问道。
“没事,晚上夏衡去不?不会吵到你吧?”李媛反控制住孙彧,咬着他的耳朵说道。
“去的,就是晚上恐怕要忙,不一定顾得到你。”
李媛没有吭声,只是加紧了搂住孙彧的胳膊,半晌才又问道:“你什么时候去?”
“要去现在就可以去了。”
“那我回去拿本书。”
孙彧应了一声,两人这才分开,牵手往东五走去。
“今天考核感觉怎么样?”
“没什么怎么样,就是摸下底,算平时分。”
“那你准备拿什么书去看?”
“继续看小说咯。”
“你们这算不算看小说看到想吐?”
“是啊,唉。”
李媛拿了书,是跟张薇薇和于熙一起下来的,张薇薇一如既往的微笑着跟孙彧打了个招呼,于熙只是点了点头,不过表情也看不出什么端倪来。
“你们现在去图书馆还有位子吗?”孙彧有些没话找话地问道。
“没有就去新教咯,你们这是干嘛去?”搭话的却是于熙。
“去我们老师的实验室。”
“实验室?”张薇薇有些诧异。
“想去看看不?”李媛能猜到张薇薇奇怪什么,她刚开始听到这个词的时候也是一下没转过弯来的。
“方便吗?”