随笔分类 - windows 操作系统
摘要:CIMWin32 WMI Providers WMI是什么 Windows 管理规范(Windows Management Instrumentation)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。WMI通过编程和脚本语言为日常管理提供了一条连续一致的途径
阅读全文
摘要:windows消息机制框架原理 结合两张图理解 窗口和窗口类 Windows UI 应用程序 (e) 具有一个主线程 (g)、一个或多个窗口 (a) 和一个或多个子线程 (k) [工作线程或 UI 线程]。 应用程序必须指定窗口类并向 Windows (d) 注册,然后才能创建窗口 (a) 并显示。
阅读全文
摘要:起因 在看操作系统消息机制的时候,看到一句化:全局消息队列把消息发送到窗口所在的线程消息队列。突然就怀疑起了窗口的意思。于是就有这边基类。 文章来源:https://docs.microsoft.com/zh-cn/windows/win32/learnwin32/what-is-a-window-
阅读全文
摘要:句柄是指针的“指针” 指针对应着一个数据在内存中的地址,得到了指针就可以自由地修改该数据。Windows并不希望一般程序修改其内部数据结构,因为这样太不安全。所以Windows给每个使用GlobalAlloc等函数声明的内存区域指定一个句柄(本质上仍是一个指针,但不要直接操作它),平时你只是在调用A
阅读全文
摘要:转载自 Windows系统机制之对象管理器 设计的几个目的: 提供一种公共统一的机制来使用系统资源 将对象保护隔离到OS中的一个地方,从而确保统一的一致的对象访问策略 提供一种机制来管理进程对对象的使用 支持各种OS环境需求,比如一个进程能够从父进程继承资源 建立统一的规则来维护对象的保持力 提供为
阅读全文
摘要:总结: 1、句柄就是进程句柄表中的索引。2、句柄是对进程范围内一个内核对象地址的引用,一个进程的句柄传给另一个进程是无效的。一个内核对象可用有多个句柄。Windows之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。简而言之数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用
阅读全文
摘要:CPU缓存架构 不同的CPU厂商的架构也有些不同,在这里只介绍流行的缓存架构 缓存一致性可以分为三个点: 在进程每个写入运算时都立刻采取措施保证资料一致性 每个独立的运算,假如它造成资料值的改变,所有进程都可以看到一致的改变结果 在每次运算之后,不同的进程可能会看到不同的值(这也就是没有一致性的行为
阅读全文
摘要:重要 (1) windbg命令分为标准命令(40个左右),元命令(一百多个)和扩展命令。 标准命令提供最基本的调试功能,不区分大小写。如:bp g dt dv k等 元命令提供标准命令没有提供的功能,也内建在调试引擎中,以.开头。如.sympath .reload等 扩展命令用于扩展某一方面的调试功
阅读全文
摘要:四核八线程是指使用了超线程技术 , 把一个物理核心,模拟成 两个逻辑核心, 理论上要像八颗物理核心一样在同一时间执行八个线程,所以设备管理器和任务管理器中会显示出八个核心,但事实上并不是真正的八个核心,四核八线程就是真四核,虚拟八核;四核八线程在有些情况下比如任务量不大能让CPU利用率提高很多从而使
阅读全文
摘要:调度的概念 1. 调度的基本概念 在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况就在所难免。 处理机调度是对处理机进行分配,就是从就绪队列中,按照一定的算法(公平、髙效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。 处理机调度是多道程序操作系统的基础,它是操作系
阅读全文
摘要:CPU 上下文切换是什么 CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务。 CPU上下文的分类 CPU 上下文切换根据任务的不同,可以分为以下三种类
阅读全文
摘要:概述 线程主要学习什么,通过一个月的摸索、终于总结出来了:学习Thread类涉及到学习Thread类涉及到线程单元状态: ApartmentState、GetApartmentState\SetApartmentState内存屏障:VolatileWrite()、VolatileRead()、Mem
阅读全文
摘要:什么是句柄 句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。 我们知道,Windows是一个以虚拟内存为基
阅读全文
摘要:一、进程间通信简述 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess C
阅读全文
摘要:文章作者:r00tk1t 发布时间:2018年01月08日 - 21时56分 最后更新:2020年10月20日 - 21时01分 原始链接:https://r00tk1ts.github.io/2018/01/08/关键的Windows内核数据结构一览(上)/ 近期一直在整理归纳知识体系,译几叠好文
阅读全文
摘要:怎么理解程序中的同步和异步把线程比作道路,目标比作任务。同步:同道中人或者朝着同一个目标去的。异步:道不同,不相为某或者朝着不同的目标去的。并发:很短的时间内同时发生的事件
阅读全文
摘要:装载地址:https://www.1024sou.com/article/566302.html 一、大数据时代的现状 据统计,YouTube上每分钟就会增加500多小时的视频,面对如此海量的数据,如何高效的存储与处理它们就成了当前最大的挑战。但在这个对硬件要求越来越高的时代,CPU却似乎并不这么给
阅读全文
摘要:◆ 协程 由程序员手动切换。 属于线程,是在线程里面跑的,因此协程又称微线程和线程等。由于不用进行线程上下文切换,因此效率会更高。 资源: 拥有自己的栈空间,大小动态调整。 安全性: 拥有自己的寄存器上下文和栈。 上下文切换: 无消耗,直接操作栈。调度切换是用户(程序员)手动切换,可控的切换时机,很
阅读全文
摘要:内核对象简介 内核对象就是 一些数据结构该结构用来描述存储内核中的一个内存块中的数据信息。 内存块是一种数据结构,其中的数据成员负责维护该对象的相应信息,这个数据结构以及其中的数据成员只能由内核访问,应用程序是无法访问到的,更别说修改其中的数据成员了。 概念:内核对象可以供系统和应用程序使用来管理各
阅读全文
摘要:并发 在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥 微观角度 所有的并发处理都有排队等候,唤醒,执行等这样的步骤,在微观上他们都是序列被处理的,如果是同一时刻到达的请求(或线程)也会根据优先级的不同,而
阅读全文