看了几天windows核心编程VC++,前几天对进程,作业,线程的关系很迷惑,还有就是内核对象的应用也很迷茫。昨天自己拿着书,又翻过去看看。突然有一点心得,初步对windows下的三种工作单位有了新的理解。

作业是进程的管理者,不让进程获取系统资源时太嚣张;进程则是线程的运行平台,给线程提供所有线程需要的系统资源;线程才是windows真正的运行程序的单元,这一点和linux不同。进程运行起来后有一个主线程,如果一个线程不够完成任务的,可以在主线程里开启子线程,协同主线程完成任务。线程的开启关闭必定在其他线程函数里,这一点也和linux不太一样,linux可以fork进程,然后开辟线程来运行,一般也没有在线程里开辟线程的。
内核对象就是数据结构而已。由于windows内核不公开,但是程序有需要和内核通信,操作内核工作。所以window引出了内核对象,这样我们把要操作的数据放入对象中,然后内核自己会去出来数据。通过这样的方式,程序就可以操作内核程序来工作了。这一点也迎合了内核对象不归程序管而归内核管理,因为内核要了解内核对象,不然内核不知道自己该做什么。所以也就那么几个内核对象,因为程序操作内核做的事情,也就归纳为那几类。这样看来,有一定的安全性,但是缺给程序员带来了很多不变,自己就好像客户而不是真正的计算机编程者.

转载于:https://blog.51cto.com/fenice/551882

我对windows核心编程的理解之一相关推荐

  1. 《Windows核心编程(第5版•英文版)》暨《深入理解.NET(第2版•英文版)》有奖书评/读书笔记征集活动

    <Windows核心编程(第5版•英文版)>暨<深入理解.NET(第2版•英文版)>有奖书评/读书笔记征集活动 图灵公司自成立以来,得到了CSDN的很多专家和朋友的帮助.为了感 ...

  2. 内存映射文件——Windows核心编程学习手札之十七

    内存映射文件 --Windows核心编程学习手札之十七 与虚拟内存一样,内存映射文件保留地址空间,并将物理存储器提交给该区域,差别在于所提交的物理存储器是磁盘上有文件存在的空间,而非系统的页文件,一旦 ...

  3. 对程序错误的处理——Windows核心编程学习手札之一

    对程序错误的处理 --Windows核心编程学习手札之一 函数被调用执行时,先检验传递给它的各个参数的有效性,后执行任务.函数执行中若因参数无效或因某种原因导致无法正常完成函数任务,那么操作系统会返回 ...

  4. Windows核心编程——内存映射

    Windows上,内存映射文件,使得大文件的读写不会消耗太多的内存,也减少了频繁的cpu指令.另外,windows上的进程间共享数据,也是通过内存映射文件的方式来实现. 刚好又遇到这个需求,需要在服务 ...

  5. Windows核心编程_获取鼠标指定位置的RGB颜色值

    Windows核心编程_获取鼠标指定位置的RGB颜色值 大家平常会见到很多屏幕取色工具,其原理都是获取鼠标位置的屏幕像素点颜色! 一般思路都是:获取鼠标位置,然后取出鼠标指向的屏幕像素点颜色! Get ...

  6. [笔记]Windows核心编程《十九》DLL基础

    系列文章目录 [笔记]Windows核心编程<一>错误处理.字符编码 [笔记]Windows核心编程<二>内核对象 [笔记]Windows核心编程<三>进程 [笔记 ...

  7. FAQ17:学习Windows核心编程有什么用?

    FAQ17:学习Windows核心编程有什么用? 答: Windows核心编程:主要讲解Windows系统内部(这里仅仅指应用层)各个模块的运作机制以及该操作系统的系统理论,并且结合Windows高级 ...

  8. Windows 核心编程研究系列之二 读取指定物理内存地址中的内容

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! [原创/ ...

  9. 《Windows核心编程系列》九谈谈同步设备IO与异步设备IO之同步设备IO

    <Windows核心编程系列>九谈谈同步设备IO与异步设备IO之同步设备IO 同步设备IO 所谓同步IO是指线程在发起IO请求后会被挂起,IO完成后继续执行. 异步IO是指:线程发起IO请 ...

最新文章

  1. Oracle to_char函数的使用方法
  2. 使用Redis分区将数据分割到多个Redis实例
  3. 如何检查项目的需求是否完整
  4. VSCode搭建ARM(STM32开发环境)
  5. 五个温度带的分界线_女神建筑师在拿破仑故乡打造的海景别墅,超美!超有温度!【环球设计2225期】...
  6. 虚拟化技术、云计算服务模式、Docker安装
  7. CSS三角制作(HTML、CSS)
  8. 在ubuntu下安装MonoDevelop
  9. R资讯| 广州R会第三批嘉宾揭晓!!
  10. 今天来聊Java ClassLoader
  11. 史上最强三千六百道脑筋急转弯
  12. Java中解决String无法存储大量字符串的问题,解析Base64编码的图片并保存到本地
  13. Amesim学习——气体混合室仿真
  14. java销毁servlet_「销毁session」Servlet销毁session - seo实验室
  15. 小程序开发——比较好看的登录界面设计
  16. mov转换成mp4,详细步骤
  17. vue的proxy代理
  18. 计算机课里的余数是什么,余数
  19. 论文人强烈推荐必备的几个中英文文献网站
  20. 生成真正的随机数(非伪随机数)

热门文章

  1. Spring Cloud 微服务实战系列-Spring Boot再次入门(二)
  2. 配置SpringMVC框架
  3. Where与Having的区别
  4. JUC:ReentrantLock互斥锁
  5. Redis数据结构之列表
  6. Jquery自定义分页插件
  7. Qt学习: QFileDialog和QMessageBox的用法和程序示例
  8. C#强力粉碎文件代码分享,升级中用到
  9. JS or C#?不存在的脚本之争
  10. [转]Log4Net五步走