papaya内核0.607a
不算是正式的版本,但因为做了大半个月了,还是发布一下~这段时间完成了8139网卡的驱动,ARP层,IP重组。
ICMP,UDP都没做多少,因为暂时用不到。
现在开始做TCP。
下面这张图,是从我的笔记本往测试机发送UDP包,发送的是papaya内核源码里的cell.c文件。大家看的清么,屏幕上打印的都是源码。我的手机没摄像头,笔记本只能拍成这个鬼样子。。。
其实我最想跟大家分享的是屏幕下方的这个蓝色“窗口”:
当屏幕上的字体滚动时,它是不会动的。相当于一个监视窗口。
在80x25的text mode模式下做这种东西挺有意思的,而且又实用。大家看到的三个绿色的bar,一个是系统的时间ticks,一个是BH的”碰撞“次数。还有一个是debug信息。
本来想就这个”蓝色窗口“发一篇帖子的,可惜论坛上没有写内核的朋友,加上实现本身又没什么技术含量。。。
感兴趣的朋友可以去github看看:github.com/weiweishuo/papaya/ "滚屏“这个操作,得由vga drvier来完成吧?大概在哪个文件里实现的?更新策略是一次更新多大的显示区域? 哦,是靠set_start来滚动的吧?
那最初的几次oprintf(不满一屏),statwnd未必就在屏幕的最下方?
PS,\t的时候,跳过的位置是否应该填充为blank? 晕,skbuff瘦身的可真干净…… 本帖最后由 karma303 于 2016-07-12 15:23 编辑
回复 3# nswcfd
对。都对。
你读代码代码的能力了得。
回复 4# nswcfd
我一开始还试着模仿linux,就那一套skb_reserve, skb_put什么的,但一直不得要领, 就把sk_buff结构体的组成都修改了。
页:
[1]