最近一直在学一些零零碎碎的东西,
首先,将《鸟哥的 Linux 私房菜
-- 基础学习篇》过了一遍。
因为有了Windows驱动,PCI/PCIe, USB, xHCI, Windows内核编程的基础,
加上自己以前也动手写过Linux设备驱动, 研究过Makefile, KConfig, make menuconfig, GIT的部分内容
鸟哥的这本书确实写得非常通俗易懂,帮...
分类:
其他好文 时间:
2014-10-24 16:38:14
阅读次数:
220
一:系统中内存的结构4g 起始地址为bfffffff3g 起始地址为7fffffff2g 起始地址为3fffffff1g 起始地址为00000000上图所示,虚拟内存为4g,操作系统规定应用程序只能在前3g ,后面1g是操作系统使用。涉及到内核编程时使用。二:指针和数组介绍: 指针需要了解的是...
分类:
其他好文 时间:
2014-10-10 22:49:34
阅读次数:
274
一、过滤的概念: 过滤是在不影响上层和下层接口的情况下,在Windows系统内核中加入新的层,从而不需要修改上层的软件或者下层的真是驱动程序,就加入了新的功能。1.1 设备绑定的内核API 进行过滤的最主要的方法是对一个设备对象(Device Object)进行绑定。通过编程可以生成一个虚拟设备.....
分类:
Windows程序 时间:
2014-08-29 01:17:36
阅读次数:
1751
1 unix操作系统 ubuntu 12版本Unix内核0.5天 常用命令2 c语言:标准c 十天主要练习动手能力 小案例水平高的 自己去写案例水平低的 理解并跟着写3 c++:5天高级语言的特点:面向对象面向对象的特点:继承 封装 多态4 uc::unix 内核编程通讯、通信,金融,电力...
分类:
其他好文 时间:
2014-08-02 12:18:23
阅读次数:
317
近来在看 《寒江独钓 windows内核编程》,看到键盘过滤部分,记下笔记,仅供参考,有理解不对之处,还望大家指正。
现在来说一下传统型键盘过滤,就是把自己的设备对象绑定在KbdClass设备对象之上。那么发送到KbdClass的IRP都会先经过自己的设备对象,我们可以在读派遣函数中设置完成例程,当IRP完成后在完成历程中得到按键信息。
KbdClass被称为键盘类驱动,在windows中,类...
分类:
其他好文 时间:
2014-07-30 17:27:54
阅读次数:
269
线程同步技术:
原子锁
临界区(段)
互斥
事件
信号量(线程示例时已经使用过)
可等候定时器
使用范围:原子锁
效率: 原子锁>临界区(用户态)>互斥(内核态)
一般用临界区。
//等候多个信号
DWORD WaitForMultipleObjects(
DWORD nCount, // number of han...
分类:
编程语言 时间:
2014-07-29 13:14:26
阅读次数:
295
windows库程序:
静态库:
源代码被链接到调用的程序或动态库,被调用时,代码最少有1份,文件后缀.LIB
动态库: 函数被程序或其他动态库调用,被调用时,代码只有1份,文件后缀.DLL
静态库(C语言):
创建时,选择文本类型文件,输入Clib.c,设置输出路径 ../lib/Clib.lib
int Clib_add(int a,int b)
{
retur...
分类:
编程语言 时间:
2014-07-28 15:59:43
阅读次数:
320
windows系统磁盘文件存储:
分区格式:NTFS / FAT32
GetSystemDirectory();//获取系统路径
GetWindowsDirectory();//获取windows路径
GetCurrentDirectory();//获取当前工作目录
SetCurrentDirectory();//修改当前工作目录
CreateFile/ReadFile/WriteFi...
分类:
编程语言 时间:
2014-07-28 15:58:13
阅读次数:
393
Windows进程
进程是一个容器,包含程序执行需要的代码、数据、资源等信息,
windows进程的特点:
每个进程都有自己的ID号
每个进程都有自己的地址空间,进程之间无法访问对方的地址空间。
每个进程都有自己的安全属性
每个进程至少包含一个线程。
获取和释放环境信息
GetEnvironmentStrings
FreeEnvironmentStrings
获取或设置 本程序...
分类:
编程语言 时间:
2014-07-28 15:55:23
阅读次数:
283