自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 《Windows核心编程》读书笔记八 用户模式下的内核同步

第八章 用户模式下的线程同步本章内容8.1 原子访问:Interlocked系列函数8.2 高速缓存行8.3 高级线程同步8.4 关键段(临界区)8.5 Slim 读/写锁8.6 条件变量什么是用户模式? Windows系统上的CPU运行时有两种模式,User Mode 和 Kernel Mode(CPU硬件支持)详细参照MSDNhttps://

2017-09-30 09:59:46 2113

原创 《Windows核心编程》读书笔记七 线程调度,优先级和关联性

第七章 线程调度,优先级和关联性本章内容7.1 线程的挂起和恢复7.2 进程的挂起和恢复7.3 睡眠7.4 切换到另一个线程7.5 在超线程CPU上切换到另一个线程7.6 线程的执行时间7.7 在实际上下文中谈CONTEXT结构7.8 线程优先级7.9 从抽象角度看优先级7.10 优先级编程7.11 关联性CONTEXT反应了线程上一次执

2017-09-26 09:55:51 1471

原创 在MacOSX的Vmare Fusion中添加虚拟软驱和制作虚拟软盘

参考这篇文章,自己在Mac OSX中制作了一个虚拟软盘。http://blog.csdn.net/apollon_krj/article/details/720269441. 首先要关闭虚拟机的WindowsXP,然后打开VmwareFusion的虚拟机设置选择Add Device然后选择Floppy- Add这里要选择一个flp格式的磁盘镜

2017-09-24 13:17:30 891

原创 王爽 《汇编语言》 读书笔记 十七

第十七章 使用BIOS进行键盘输入和磁盘读写17.1 int9中断例程对键盘输入的处理一般的键盘输入,在cpu执行完int9中断例程以后,欧放到了键盘缓冲区中。 键盘缓冲区有16个字单元,可以存储15个按键的扫描码和对应的ASCII码。参照书P300页 关于键盘缓冲区的存储利用了队列或者环形队列数据结构。17.2 使用int16h中断例程读取键盘缓冲

2017-09-24 11:06:58 831

原创 王爽 《汇编语言》 读书笔记 十六 直接定址表

第十六章  直接定址表16.1 描述了单元长度的标号 使用一种标号不但表示内存单元的地址,还表示了内存单元的长度,即表示了内存单元的长度,即表示次数标号处的单元是一个字单元还是一个字节单元,还是双字单元。assume cs:codecode segment a db 1, 2, 3, 4, 5, 6, 7, 8 b dw 0start: mov si, 0

2017-09-23 11:55:32 597

原创 《Windows核心编程》读书笔记六 线程基础

第六章 线程基础本章内容6.1 何时创建线程6.2 何时不应该创建线程6.3 编写一个线程函数6.4 CreateThread函数6.5 终止运行线程6.6 线程内幕6.7 C/C++运行库注意事项6.8 了解自己的身份线程有两个组成部分:1)一个是线程的内核对象,操作系统用他管理线程。系统还用内核对象来存放线程统计信息的地方。

2017-09-21 10:43:25 488

原创 《Windows核心编程》读书笔记五 作业

第五章 作业本章内容5.1 对作业中的进程施加限制5.2 将进程放入作业中5.3 终止作业中的所有进程5.4 作业通知5.5 Job Lab示例程序有时候为了完成某些任务需要执行一组进程,需要将一组进程作为一个组来管理。并且可以加以限制。windows提供一个job内核对象,将应用程序组合在一起并创建一个“沙盒”来限制进程能做什么。一个Start

2017-09-19 10:05:47 572

原创 王爽 《汇编语言》 读书笔记 十五 外中断

第十五章 外中断体现了cpu的I/O能力。1)cpu如何得知外设输入了?2)cpu如何得到外设的输入?15.1 接口芯片和端口cpu通过端口和外部设备进行联系15.2 外中断信息外部设备通过外中断来通知cpu 引发中断过程,处理外设的输入。外中断源:1. 可屏蔽中断可屏蔽中断是cpu可以不响应的外中断。 例如IF =1 则cpu会响应

2017-09-17 17:21:20 357

原创 王爽 《汇编语言》 读书笔记 十四 端口

第十四章 端口cpu中通过中线连接的设备出了各种存储器以外还有以下3种芯片。1)各种接口卡(比如,网卡,显卡)上的接口芯片,它们控制接口卡进行工作;2)主板上的接口芯片,cpu通过它们对部分外设进行访问。3)系统芯片,用来存储相关的系统信息,或进行相关的输入输出处理。这些芯片中的,都有一组可以由cpu读写的寄存器。1)都和cpu的总线相连(通过其所在的芯片)2)

2017-09-17 15:24:54 413

原创 王爽 《汇编语言》 读书笔记 十三 int指令

第十三章 int指令int引发的属于内中断13.1 int指令int n  , n为中断类型码。1)取得中断类型码2)标志寄存器入栈,IF=0, TF=0;3)CS,IP 入栈4)(IP)=(n*4)  (CS) = (n*4 + 2)中断处理程序也称为中断例程13.2 编写供应用程序调用的中断例程问题,编写,安装中断7ch的中断例程。功

2017-09-17 09:52:42 584

原创 王爽 《汇编语言》 读书笔记 十二 内中断

第十二章 内中断中断:cpu能接收到内部或外部的某种信息,cpu不再接着向下执行,而是转取处理这个特殊信息。12.1 内中断的产生cpu内部有下面情况发生将产生相应的中断信息。1)除法错误,比如,执行div指令产生的除法溢出  (中断码 0)2)单步执行 (1)3)执行into指令 (4)4)执行int指令 (int n)cpu通过中断类型码来识别中

2017-09-16 14:05:07 650

原创 《Windows核心编程》读书笔记四 进程

第四章 进程本章内容4.1 编写第一个Windows应用程序4.2 CreateProcess函数4.3 终止进程4.4 子进程4.5 管理员以标准用户权限运行时进程定义为一个正在运行的程序的一个实例,它可以由一下两部分构成。a. 一个内核对象,操作系统用它来管理进程。内核对象也是系统保存进程统计信息的地方。b.一个地址空间,其中包含所有

2017-09-15 18:42:11 1458

原创 一道算法题 计算任意输入的一个基于10 的CheckSum

这是一个对于10进制数的checksum算法。公式如下代码如下:#define _CRT_SECURE_NO_WARNINGS#include #include #include class checkDigit{public: checkDigit(){}; ~checkDigit(){}; static int getCheckDigit(int

2017-09-15 09:57:21 480

原创 《数据结构与算法分析》 - 数学证明 log X < X 对于任意X >0成立

1. 证明log X 0都成立采用了数学归纳法 1) 当  0 由于 log 1 = 0 , 当X 所以log X 2) 当 x > 1时 采用数学归纳法(假设 当 x > 1时, log x log(2x) = log2 + logX = 1 + logX 由于当log x ,x >1时。他是一个递增函数 所以对于任意的 A 1 且

2017-09-15 00:44:17 1185

转载 看了一篇讲述Windows程序员前途的文章有感而发转过来

转自 http://www.cjjjs.com/paper/gzsh/201649141143294.aspx  在文章《自述内心深处的感想:深入精通学习和广泛学习了解的较量问题》中,我给自己定下了一个方向,继续深入学习Windows系统。末尾也提到了我的顾虑,其实这个一直都是众多从事Windows编程工作的程序员心中的一个心结。    这个心结在我内心也经常翻滚,似乎就是一个魔咒

2017-09-14 00:21:33 5379 3

原创 王爽 《汇编语言》 读书笔记 十一 标志寄存器

第十一章 标志寄存器标志寄存器1)用来存储相关指令的某些执行结果2)用来为cpu执行的相关指令提供行为依据3)用来控制cpu的相关工作方式标志寄存器flag存储程序状态字(PSW)8086点flag寄存器各位有不同的含义CF,PF,AF,ZF,SF,TF,IF,DF,OF11.1 ZF标志flag的第六位是ZF,0标志位。

2017-09-10 20:03:32 826

原创 王爽 《汇编语言》 读书笔记 十 CALL和RET指令

第十章 CALL和RET指令call和ret都是转移指令,它们都修改IP,或同时修改CS和IP,常用于子程序的设计。10.1 ret 和 retfret用栈中的数据,修改IP的内容,从而实现近转移retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移ret指令1) (IP) = ((ss)*16 + (sp))2) (sp) = (sp)

2017-09-09 23:31:11 737

原创 《Windows核心编程》读书笔记三 内核对象

第三章 内核对象本章内容3.1 何为内核对象3.2 进程内核对象句柄表3.3 跨进程边界共享内核对象内核对象(kernel object)和句柄(handle)内核对象用于管理进程,线程和文件等诸多类的大量资源。3.1 何为内核对象系统处理集中类型的内核对象,  令牌对象(access token), 事件对象, 文件对象, 文件映像对象,

2017-09-07 23:53:34 1261

原创 《Windows核心编程》读书笔记二 字符和字符串处理

第二章 字符和字符串处理本章内容2.1 字符编码2.2 ANSI字符和Unicode字符雨字符串数据类型2.3 Windows中的Unicode函数和ANSI函数2.4 C运行库中的Unicode函数和ANSI函数2.5 C运行库中的安全字符串函数2.6 为何要用Unicode2.7 推荐的字符和字符串处理方式2.8 Unicode与ANSI字符串的转换

2017-09-06 15:26:25 751

原创 《Windows核心编程》读书笔记一 错误处理

第一章 错误处理所有范例代码可以从 http://www.wintellect.com/books.aspx下载 (改网址已经不可用)网盘:https://pan.baidu.com/s/1nv1HxxB 本章内容定义自己的错误代码ErrorShow实例程序常见的Windows函数返回值的数据类型VOID 这个函数不可能失败。只有极少

2017-09-05 15:26:52 960

原创 《Windows核心编程》读书笔记零 构建环境

建立一个Solution将每个project加入此Solution确保输出目录在同一个目录下C/C++ ->Code Generation -> Runtime Library 选择多线程的版本C/C++ 检测64位可移植性  (/Wp64)  在VS2013中此选项已经移除。想启用此选项需要自行增加命令行参数

2017-09-05 11:53:29 454

原创 《Windows程序设计》读书笔二十三 尝试互联网

第二十三章 尝试互联网23.1 Windows套接字最早是给UNIX操作系统添加网络支持而开发的一个概念。也成为Berkeley socket interface23.1.1 套接字和TCP/IPIP协议把数据封装成一个个数据包(Datagram),数据的来源和目的地信息都存放在数据报的报头中。TCP则提供了一种可以对IP数据报进行可靠传输和错误检测的方法。

2017-09-04 16:10:16 446

原创 王爽 《汇编语言》 读书笔记 九 转移指令的原理

第九章  转移指令的原理可以修改,或同时修改CS和IP的指令统称为转移指令。只修改IP   jmp ax同时修改CS和IP   jmp  1000:0无条件转移指令jmp条件转移指令循环指令过程中断9.1 操作符 offset由编译器处理的符号 取得标号的偏移地址start : mov ax, offset starts: m

2017-09-03 14:15:38 326

原创 王爽 《汇编语言》 读书笔记 八 数据处理的两个基本问题

第八章 数据处理的两个基本问题1)处理的数据栈什么地方?2)要处理的数据有多长?定义一个描述符号:reg表示寄存器  sreg表示段寄存器reg:ax , bx, cx, dx, ah, al, bh, bl, ch, cl, dh, dl, sp, bp, si, di;sreg: ds, ss, cs, es8.1   bx, si, di 和bp1)只有这

2017-09-02 16:04:18 385

空空如也

空空如也

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

TA关注的人

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