[翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第一部分) [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第二部分) [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第三部分) . . .…
3.系统机制 微软提供了一些基本组件让内核模式的组件使用: 1.陷阱分发,包括终端,延迟的过程调用(DPC),异步过程调用(APC),异常分发以及系统服务分发 2.执行体对象管理器 3.同步,包括自旋锁,内核分发器对象,以及等待是如何实现的. 4.系统辅助线程 5.其他的机制,比如Windows全局标记 6.本地过程调用 7.内核事件跟踪 8.Wow64 3.系统机制 3.1陷阱分发 3.1.1 中断分发 3.1.1.1 硬件中断 3.1.1.2 软中断请求级别(IRQL) 3.1.1.3 软中…
1.概念和工具 本章主要介绍Windows操作系统的关键概念和术语 1.概念和工具 1.1操作系统版本 1.2基础概念和术语 1.2.1Windows API 1.2.2 服务.函数和例程 1.2.3 进程.线程和作业 1.2.3.1 进程 1.2.3.2 线程 1.2.3.3 虚拟地址描述符 1.2.3.4 作业 1.2.4 虚拟内存 1.2.5 内核模式和用户模式 1.2.6 终端服务及多个会话 1.2.7 对象和句柄 1.2.8 安全性 1.2.9 注册表 1.2.10 UNICODE 1…
2.系统结构 本章主要介绍系统的总体结构,关键部件之间的交互,以及运行在什么环境. 2.系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.3.1 可移植性 2.3.2 对称多处理 2.3.3 可伸缩性() 2.3.4 客户和服务器版本的区别 2.3.5 版本检查 2.4 关键的系统组件 2.4.1 环境子系统和子系统dll 2.4.1.1 Windows子系统 2.4.1.2 POSIX子系统 2.4.1.3 OS/2子系统 2.4.2 NTDLL.DLL 2.4.3…
第一章 起步 1,windows主要的三个动态库: kernel32.dll负责操作系统的传统工作,包括内存管理.文件输入以及任务管理等. user32.dll负责用户界面的操作,即所有窗口的管理 gdi32.dll为图形设备接口,负责在屏幕或者打印机上显示文本与图形   2,当windows程序运行的时候,通过一个叫做"动态链接(dynamic linking)"的进程与Windows接口.每个Windows的exe文件包含它所要用到的各个动态链接库以及库中的函数的引用地址,当一个W…
前面在开始讲解数据类型的时候,有说过Python的知识结构,在此重温一下 Python知识结构: 程序由模块组成 模块包含语句 语句包含表达式 表达式创建并处理对象 关于知识结构,前面已经说过我自己的理解,在此就多啰嗦说一下 对象是要处理的基本类型,所以前面讲解的数据类型都可以理解为对象,那有了对象,如何处理对象,前面也有讲过很多对象处理的方法,那些都是最基本的基本,除了基本的方法,还有语句,通过特定的语句操作对象,所以从这张开始就涉及到语句的内容,也就是知识结构倒数第二层,语句包含表达式,所以…
一.线程是一个进程内部的实体,也是Windows执行此进程时的调度实体.若没有线程,进程的程序将不可能运行.线程包含以下部件: 1.一组代表处理器状态的CPU寄存器中的内容. 2.两个栈:一个用于线程在内核模式下执行,另一个用于线程在用户模式下执行时. 3.一个被称为线程局部存储的私有存储区域,各个子系统.运行库和DLL都会用到该存储区域. 4.一个被称作线程ID的唯一标识符的一部分——进程ID和线程ID时从同一个名字空间中产生的,所以它们永远不会重叠. 5.有时候线程也有它们自己的安全环境,或…
第二章 Unicode简介 1,Windows通过双字节技术DBCS解决这个问题,代码页定义不同的字符集,称为ANSI字符集,比如日文为CP932,韩文为CP949,繁体中文为CP950,简体中文为CP936 2,Unicode使用双字节,并且为一个字符集,解决二义性的问题 3,Unicode宽字符使用wchar_t声明,为两字节,并且字符或者字符串常量前应该加L 4,为了统一源代码中不同字符集的字符处理函数,使用头文件tchar.h 如:_tcslen,_tprintf,以及__T(),_T(…
10.1 无参属性 10.1.1 自动实现的属性 10.1.2 合理定义属性 属性可以只读或只写,而字段访问总是可读和可写的(一个例外是 readonly 字段仅在构造器中可写). 属性方法可能抛出异常;字段访问永远不会. 属性不能作为 out 或 ref 参数传给方法,而字段可以. 属性方法可能花较长时间执行,字段访问则总是立即完成.线程同步不要使用属性,而用方法.从MashalByRefObject派生的类永远都不应该使用属性. 连续多次调用,属性方法每次都可能返回不同的值,字段则每次都返回…
内存管理: 确保在须要的时候分配内存,在程序运行结束时释放占用的内存 假设仅仅分配内存而不释放内存,则会发生内存泄漏(leak memory),程序的内存占用量不断添加.终于会被耗尽并导致程序崩溃. 不要使用不论什么刚释放的内存,否则可能误用陈旧的数据.假设内存已经载入了其它数据,将会破坏这些新数据. 9.1 对象生命周期 对象的生命周期: 诞生:通过alloc或new方法实现 生存:接受消息并运行操作 交友:通过复合以及向方法传递函数 死去:被释放掉 9.11 引用计数 关于引用计数的操作:…