摘要: 运算方法和运算器 数据格式:定点数和浮点数 真值:书写的数值。机器值:存储在计算机中的值。 原码反码和补码 无论是正数或负数其移码都是补码符号位取反,整数K的补码还等于2的K次方加上K所得值的二进制形式。 关于正零和负零的问题,原码中有正零和负零之分,原码中的“000...”为正零,“100...” 阅读全文
posted @ 2021-01-10 14:11 怎么可以吃突突 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 操作系统引论 操作系统的主要目标:方便,有效,开放,可扩充。 最重要的两个目标是:方便与有效,有效性能提高资源的利用率和系统的吞吐量。 操作系统(OS)是铺设在计算机硬件上的多层软件的集合 操作系统发展的主要动力:①不断提高计算机资源的利用率 ②方便用户 ③硬件的更新迭代 ④计算机体系结构的不断发展 阅读全文
posted @ 2021-01-10 09:59 怎么可以吃突突 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 服务 Windows NT操作系统是基于客户/服务器模式的(C/S)。将操作系统中最基本的部分放到内核中,而把操作系统的绝大多数部分都放到微内核外面的一组服务器(进程)中实现。如对进程管理的进程管理服务器,对虚拟存储器管理功能的虚拟存储器服务器,对I/O设备管理的I/O设备管理服务器,他们都是通过进 阅读全文
posted @ 2020-12-25 13:00 怎么可以吃突突 阅读(922) 评论(0) 推荐(0) 编辑
摘要: C++强制类型转换 C++提供了四种强制类型转换static_cast,const_cast,reinterpret_cast,dynamic_cast. static_cast 一般的类型转换static_cast都可以实现(除了底层const)。 上述代码将int类型的变量转换为double类型 阅读全文
posted @ 2020-12-24 14:08 怎么可以吃突突 阅读(193) 评论(0) 推荐(0) 编辑
摘要: string.h string.h是一个C标准头文件,所有的C标准头文件都形如name.h的形式,通过#include <string.h>可以导入此头文件。之后我们就可以在程序中使用strlen()等函数了。但是一般编译器认为string.h是基本的头文件会默认包含,所以我们一般都可以直接使用st 阅读全文
posted @ 2020-12-21 22:33 怎么可以吃突突 阅读(3298) 评论(0) 推荐(0) 编辑
摘要: 内核对象 内核对象实际就是一块内存,其包含一些数据结构被操作系统使用用来控制和管理对应的内核对象。因为是内核对象,所以此内存的地址空间位于内核中(也就是高地址中)。因为对于每一个进程来说其内核部分的地址空间每次映射的都一样,所以一个进程中创建的内核对象在其他进程的内核地址空间中也是存在的,因此说内核 阅读全文
posted @ 2020-12-09 23:14 怎么可以吃突突 阅读(246) 评论(0) 推荐(1) 编辑
摘要: Windows中同一个EXE文件多次加载过程 Windows中EXE文件加载是基于内存映射文件的。 当EXE文件第一次被加载。 首先系统会先创建一个进程内核对象,并创建一个新的进程地址空间。 系统调用CreateFile打开对应的exe文件。 根据PE文件的路径创建文件映射对象,调用CreateFi 阅读全文
posted @ 2020-12-08 00:35 怎么可以吃突突 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 内存映射文件原理 内存映射文件是通过在虚拟地址空间中预留一块区域,然后通过从磁盘中已存在的文件为其调度物理存储器,访问此虚拟内存空间就相当于访问此磁盘文件了。 内存映射文件实现过程 HANDLE hFile = CreateFile(...); //创建文件对象 HANDLE hFileMappin 阅读全文
posted @ 2020-12-07 23:21 怎么可以吃突突 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 管道的分类 管道其实际就是一段共享内存,只不过Windows规定需要使用I/O的形式类访问这块共享内存,管道可以分为匿名管道和命名管道。 匿名管道就是没有名字的管道,其支持单向传输数据,如果需要双向传送数据就需要创建两条管道。而且其只支持具有父子关系的两个进程进行通信,不能在网络间进行通信。 命名管 阅读全文
posted @ 2020-12-01 21:36 怎么可以吃突突 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 每一种编译器实现异常处理的方式会有所不同,但是都是基于Windows的SEH异常处理。这里以MSC编译器为例。 C异常处理 #include <Windows.h> int main(int argc, char* argv[]) { _try { _try { } _except(EXCEPTIO 阅读全文
posted @ 2020-12-01 16:50 怎么可以吃突突 阅读(413) 评论(0) 推荐(0) 编辑