羽夏看Win系统内核——进程线程篇
写在前面
此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。
你如果是从中间插过来看的,请仔细阅读 羽夏看Win系统内核——简述 ,方便学习本教程。
看此教程之前,问几个问题,基础知识储备好了吗?保护模式篇学会了吗?系统调用篇学会了吗?练习做完了吗?没有的话就不要继续了。
华丽的分割线
上一篇章我们了解了Windows API的执行流程,只有APC部分没有讲解。我们知道了绝大数函数的实现过程并不在3环实现,而是通过中断或者快速调用进入0环由内核函数实现。接下来我们将讲解进程线程篇,本篇比系统调用难度稍大一点,请做好心理准备,如下是本篇章的子目录:
本篇子目录
- 进程线程篇——简述(本篇将会介绍)
- 进程线程篇——进程线程基础
- 进程线程篇——线程切换(上)
- 进程线程篇——线程切换(下)
- 进程线程篇——总结与提升
简述
什么是进程?什么是线程?接触过Win32编程的人都应该会接触这个概念。在我们的概念中,进程好比一个房子,为线程提供生活资源。而线程好比居住在这个房子里的人,如果没有了人,这个房子就是鬼屋,没有了任何生气,随着时间的推移就会被清除。而本篇将给你在操作系统的层面更底层的理解。
你或许听说进程隐藏?那什么是进程隐藏?它的原理是啥?为什么隐藏了进程还能跑?在本篇将会有答案。
一个CPU上跑很多线程是不是感觉十分惊奇,现在的操作系统都是多任务的,电脑也不是单核的了,基本都是双核或者是三核了。但是如果一个CPU只能跑一个线程,现在的水平也就是两三个。而一个进程有数十个甚至好几十个线程,这是怎么做到呢?当然是线程切换的魅力,将在本篇章进行讲解。
既然懂得了本篇章的学习目的,那就开始本篇的旅程吧。
下一篇
羽夏看Win系统内核——进程线程篇的更多相关文章
- 羽夏看Win系统内核——句柄表篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——消息机制篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——保护模式篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——简述
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——环境搭建
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——SourceInsight 配置 WRK
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核—— APC 篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——同步篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——系统调用篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
随机推荐
- JAVA调用阿里云短信接口
官方文档:https://help.aliyun.com/document_detail/101414.html?spm=a2c4g.11186623.6.626.2cef6220yxh5l7 jar ...
- c++设计模式概述之装饰器
类写的不够规范,目的是为了缩短篇幅,实际中请不要这样做. 1.概述 想象一下修房子.当施工队把房子框架结构做好了,墙刷上了水泥, 这时,工队暂时没有钱,装修只能暂停了. 过了一段时间,工队筹集了资金 ...
- clang编译代码报错:`_start': (.text+0x24): undefined reference to `main'
1. 说明 使用clang++10.1编译报错: /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crt1 ...
- 1002 - Country Roads(light oj)
1002 - Country Roads I am going to my home. There are many cities and many bi-directional roads betw ...
- Pikachu漏洞练习-SQL-inject(二)
- POJ 1986:Distance Queries
Distance Queries Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 18139 Accepted: 6248 ...
- JS常用的获取值和设值的方法
1. input 标签<input type="text" name="username" id="name"/> 1) 获取i ...
- Windows下安装配置MySQL
Windows下安装配置MySQL的基本步骤 一.MySQL下载 MySQL官方下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads ...
- Java初学者作业——声明变量对个人信息进行输入和输出
返回本章节 返回作业目录 需求说明: 声明变量存储个人信息(姓名.年龄.性别.地址以及余额),通过键盘输入个人信息并存储在相应的变量中, 最后将个人信息输出. 实现思路: 声明存储姓名.年龄.性别.地 ...
- 【HTML响应式项目】成人教育官网前端页面(HTML+CSS+JS实现三端适应)
这个页面是在校参赛的小组项目,除首页和所有课程页面以外由组内成员编写,发博客纯属记录. 项目源码已上传至码云仓库:https://gitee.com/ynavc/sss 项目演示地址:http://y ...