自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (8)
  • 收藏
  • 关注

原创 netlink demo

最近在学习linux netlink相关内容,发现这是一个用户空间和内核空间通信的好办法,于是写一个demo体验一下,一下代码基于linux kernel 3.19。kernel mode的代码netlink_demo_kmode.c如下:--------------------------------------------------------------------------

2015-07-25 17:48:11 1364

原创 linux kernel time management

time_init    -->late_time_init = x86_late_time_initx86_late_time_init    -->x86_init.timers.timer_init();    -->tsc_init();    x86_init.timers.timer_init = hpet_time_inithpet_time_in

2014-10-29 17:49:38 749

原创 kthread_work和kthread_worker机制

Kernel中提供的kthread_work和kthread_worker机制和经典的work_struct和workqueue_struct的关系有点类似.通过一个kthread_worker可以处理多个kthread_work,其实就是利用了工人在流水线上工作的形式.先来看看这两个数据结构的定义,它们定义在头文件include/linux/kthread.h(3.1版本)struct

2014-09-28 22:20:05 6178

原创 kthread_run创建内核线程的原理

kthread_run是一个宏,用来创建一个进程,并且将其唤醒,其定义在头文件include/linux/kthread.h中.#define kthread_run(threadfn, data, namefmt, ...)               \({                                       \    struct task_struc

2014-09-28 20:39:26 7169

原创 mount系统调用的实现

mount系统调用在内核中对应的服务函数为do_mount函数.下面就简单总结一下该函数的实现.long do_mount(char *dev_name, char *dir_name, char *type_page,          unsigned long flags, void *data_page){    struct path path;    int ret

2014-08-24 22:26:23 2149

原创 非线性映射

mmap是将一个文件中的连续部分映射到虚拟内存中的一块连续的区域,它做的映射是线性映射,如果需要将一个文件中的不同部分以不同的顺序映射到虚拟内存中的连续区域,则需要使用多个mmap映射,从消耗的资源来看这样做代价比较昂贵(因为分配的vm_area_struct多了)。内核提供了一个系统调用叫做remap_file_pages,通过这个函数可以实现非线性映射,同时不需要分配更多的vm_area_st

2014-08-11 21:47:37 4502

原创 一段导致栈耗尽的C代码

前几天我在chinaunix上发现了这么一个贴子

2014-08-10 20:46:13 1152

原创 Kernel调度器负载均衡(二)

感觉通过贴代码,写注释的方法,来

2014-08-10 20:32:27 2351

原创 Kernel调度器负载均衡(一)

Kernel中的CPU负载均衡是对调度器的增强,在多处理器上(SMP/NUMA),必须要考虑CPU的负载均衡,包括:1.CPU负荷尽可能公平地在所有处理器上共享。2.内核必须能够将进程从一个CPU迁移到另一个CPU上。在Kernel中调度器进行负载均衡的时机有4个:1.在时钟中断时,周期性调度器scheduler_tick会被调用,它在最后会调用trigger_load_b

2014-08-10 19:32:32 3098

原创 do_mmap的实现简介

mmap是kernel提供的一个系统调用,m

2014-07-27 12:47:49 2422 1

转载 解决ubuntu花屏

解决办法: 【安装】 1 安装时按任一键,将出现选单“就是有试用和安装”那个界面 2 选语言后,光标移到“试用和安装”,按F6【其他选项】,再按ESC跳出来 3 此时屏幕下方会有一行“开机选项”【一段可编辑的文字】 4 找到“quite splash”,在其后空一格输入nomodeset 5 按enter,就进入“试用和安装”界面  【初次使用-安装成功后】 1

2014-06-14 10:19:10 2411

四位吸血鬼数字

吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如,下列数字都是“吸血鬼”数字:  1260 = 21 * 60  1827 = 21 * 87  2187 = 27 * 81下面是我写的关于求出所有四位吸血鬼数字的代码,请大家看看有没有问题,或者有...

2011-04-14 16:48:19 323

获取一个字符串中的第一个不重复字符

[code="java"]import java.io.*;public class Test{ public static int search(String str){ int[][] a=new int[128][2]; int length=str.length(); for(int i=0;i

2011-04-14 13:20:06 329

gcc inline asm

该文档描述了GCC嵌入汇编的语法,为英文版,其中包括了intel汇编和AT&T汇编的比较,GCC嵌入汇编的常见语法现象。

2015-07-03

Buddy System内存分配算法演示

用java写的Buddy System 内存分配算法,是applet小程序,包括分配和释放演示,没有源码。

2009-05-18

新编Windows API参考大全

Windows API参考大全,里面详细的介绍了windows api的用法,对初学者很有帮助。

2009-05-07

Snake 贪吃蛇 源码

用MFC写的贪吃蛇程序,开发环境VC6.0。只是实现了基本的操作,请各位大侠多多指导。

2009-05-07

j2me俄罗斯方块-手机版

用j2me写的俄罗斯方块,只是可执行程序,没有源码,请各位多多指教。

2009-04-25

郭克华j2me教程1-3和1-4

郭克华的j2me教程,内容全面,讲课通俗易懂,是学习j2me的好资料

2009-03-14

郭克华j2me教程第一课(上)

郭克华的j2me教程,内容全面,讲课通俗易懂,是学习j2me的好资料,其中还有一些案例。

2009-03-14

Java程序设计入门教程

java初级教程,适合与初学者使用,书中的内容通俗易懂,

2008-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除