摘要:
1、64位操作系统与32位操作系统最大的不同在于寻址空间的大小,32位操作系统使用32位数据来表示内存地址,因此有232 (4GB)的可用空间,而64位操作系统可以使用16TB的内存地址空间。在64位操作系统下,指针和基本数据类型(int)所引用的空间是64位的。 Windows系统中包括的对象类型有很多种。内核对象、GDI图形对象、用户对象等。内核对象是与操作系统对系统的管理相关的对象,比如文... 阅读全文
摘要:
Windows系统具有很完善的安全和认证机制,称作访问控制机制。程序的执行主体(线程)在访问对象(文件、事件等)时,系统会根据线程的“权限”和线程需要访问的对象所具有的访问控制列表(ACL)中的“安全描述符”是否匹配来进行认证,决定一个线程是否可以操作一个对象。 一、基本概念1、A需要访问(Access)B,A就是访问的主体,B就是访问的客体。A的“访问令牌”和B的安全描述符共同决定了A是否可以访问B。 访问的主体是进程。在系统中,线程才是程序执行的流程,因此只有线程才能操作对象。每个线程都是属于一个进程的,线程并没有属于自己的权限,而是来源于线程所属于的进程。一个进程中的所有线程都具有同样. 阅读全文
摘要:
关于驱动和内核的学习介绍,[2]中较为详细。这里只简述。 应用程序可以将设备驱动程序加载入内核。可以对已经加载了的设备驱动程序发送请求,进行控制或与内核程序进行通信,传输数据。 设备管理[1] 列举设备 SetupDiCreateDeviceInfoList函数创建一个空的设备信息列表。 SetupDiGetClassDevsEx函数获取指定类型GUID的所有设备的信息列表。 SetupDiEn... 阅读全文
摘要:
Windows上有两种主流的程序安装技术,一种是编写setup.exe文件,在程序安装时读取inf配置文件,将压缩保存于cab文件中的文件释放到指定位置,并进行环境设置。第二种方法是使用Windows Installer服务创建msi文件,由Windows服务读取msi文件中的配置信息和文件进行程序安装。由于第二种方法可以将整个安装程序集中在一个msi文件中,因此应用更为广泛。[1] 更好关于如... 阅读全文
摘要:
Socket就是系统提供的一种使用传输层的网络协议进行数据传输的程序设计接口规范,经过Socket封装的应用程序不再需要处理与TCP协议相关的内容。诸如连接时的三次握手、分包、包头解析、重传、滑动窗口等行为应用程序都不需关注,而只需要像使用系统中的其他I/O接口一样进行输入和输出操作即可。IP Helper是Windows系统与IP协议相关的配置和管理的重要接口,通过IP Helper可以实现一些在网络通信软件中常用的功能,比如获取本机IP网关,配置、获得统计信息、网卡数量和连接状态等。Windows除了为网络通信程序设计提供Socket这样的传输层接口外,还提供了很多应用层协议接口,包括H. 阅读全文