10 2015 档案
摘要:(一):iptables的命令手册名称 iptables/ip6tables ---- Ipv4/Ipv6包过滤和NAT的管理工具简介 iptables [-t table] {-A|-C|-D} chain rule-specification ip6tables ...
阅读全文
摘要:(一):写在前面这一次没有进行功能上的改进,主要是为了后来修改方便,而将画点,画线,画长方形,画圆等的提取出来,对Makefile进行了修改,方便于后期的维护.同时,为了后面实现我的思路,我进行了一个测试,就是实现一个运动的圆的效果.圆是可以运动了,但是效果不是特别好.后面再了解一下...
阅读全文
摘要:(一):Winelib介绍1:什么是winelibWinelib是一个开发工具套件,他允许你能够在Unix中编译你的Windows应用程序。大多数Winelib代码是由一些win32 API实现组成的。幸运的是,这一部分是在Wine中百分百分享的。其他的包括窗口兼容头文件和一些工具,...
阅读全文
摘要:(一):写在前面这一次进行了一个比较大的迭代,在这里我先把相对于上一个版本的改进做一个解释:1:进一步完善画点,增加了使用字符串代替RGBT值2:实现字符串解析出RGBT值3:增加了画圆的算法4:进一步增强了代码注释这四个点是这一节实现的主要内容.这样的修改为下面进一步的实现提供了方...
阅读全文
摘要:(一):写在前面在这一小节当中,我主要是实现了对frame buffer的操作编程,实现了将内存中的地址映射到逻辑地址空间,然后对其内存进行操作,包括在屏幕上画点,画线,画四边形,填充四边形等.然后,再将数据映射到内存中进行显示.这里的操作比较简单,只要实现一个画点的操作,就能以画点...
阅读全文
摘要:(一):写在前面在这个小节中,主要介绍了frame buffer中的R,G,B以及透明度的位域属性.由于在上一个小节当中,我自私的以为这几个位域能够获得相应的R,G,B以及透明度的数值,然后再将其转化为图像,但是,经过我后来的学习,发现我错了.正确的将frame buffer读取并转...
阅读全文
摘要:(一):写在前面在这里我们主要实现了打印frame buffer的一些信息,其中包括分辨率,所占内存地址的开始地址,偏移量,BPP以及所占内存的宽度和高度等信息.主要是通过对这些参数的打印操作来实现对frame buffer的进一步深入的了解.(二):如何编译以及运行首先,我们看到,...
阅读全文
摘要:由于现在正在进行framebuffer的一个项目开发,所以需要学习framebuffer的内核代码,今天现在这里上传我的相关注释,后面再将我的学习内容和相关framebuffer的操作提交上来.位置:源代码根目录/include/linux/fb.h#ifndef _LINUX_FB...
阅读全文
摘要:由于现在是大四了,一直想为开源做一些贡献。所以,刚开始就选择了wine开发者。不过,我现在还没有真正的成为wine的开发者。也就是刚开始想做点东西,刚刚开始入门,记录一下自己的经历。所以,文章中如果有什么说的不好的或者是讲的不对的,请大家指出,定会好好修正,谢谢大家。刚开始想要成为w...
阅读全文
摘要:LInux内核提供了一组相当完备的同步方法.(一):原子操作原子操作是其他同步方法的基石.原子操作可以保证指令以原子的方式执行--执行过程不被打断.原子原本是指不可分割的微粒,所以,原子操作也就是不能够被分割的指令.两个原子操作绝对不可能并发的访问同一个变量.内核提供了两组原子操作接...
阅读全文
摘要:在之前的一篇博客中,着重讲解了在Linux内核中同步方法--对于整型的原子操作,除此之外,内核同步方法中还有对位的原子操作.下面我们来列举一下原子位操作的列表: 原子位操作 描述 void set_bit(int nr, volatile unsigned long *addr...
阅读全文
摘要:由于现在正在看Linux下的内核同步方法,其中第一个提到的就是原子变量,其中会有原子操作.其中原子变量被定义在linux/types.h头文件中,在这一篇博客中,主要学习原子操作,这些原子操作的函数被定义在asm/atomic.h文件中,其中包括,初始化,原子读,原子更改等操作,下面...
阅读全文