自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 问答 (1)
  • 收藏
  • 关注

原创 4.线程到底是如何调度和切换的?

4.线程到底是如何调度和切换的?本节内容将作为本篇文章最重要的部分来讲述,源代码才是我们的王道,在WRK-v1.2\base\ntos\ke\Yield.c文件里,我们终于看到代码了,需要说明的是这个部分并非是完整的调度,我们是从这个入手来看整个的过程,没有源代码的原理就是空中楼阁。NTSTATUS  NtYieldExecution (VOID){    KIRQL OldIrq

2015-11-07 20:07:37 1174

原创 3.如何保存CPU现场信息

2.讲完了进程和线程之后,我们的核心问题块来临了,操作系统到底是采用什么策略进行进程或线程调度的,也就是决定让哪个线程或者进程进入到CPU里面去执行。在讲这个问题之前我们还有一个很重要的上课讲的内容,进程或者线程切换的时候,我们如何保存其运行信息?3.1线程的切换我花费好几个小时去找这个的内容,因为我借的两本书上都没讲代码,而是直接给出了原理和答案,好在我还是找到了线程切换的一部分代码,但

2015-11-07 20:06:35 5032

原创 2.进程和线程的结构是什么?

2.进程和线程的结构是什么?先不要着急它们是如何创建的,要说明白它们是如何被创建的是很复杂的,步骤繁多,而且这也不是我们的核心内容,在KPCRB这个非常复杂的结构里我们找到了KTHREAD的结构,接下来我们就去找找这个结构,在WRK-v1.2\base\ntos\inc\Ke.h里我们找到了这个结构的定义:typedef struct _KTHREAD {   DISPATCHER_H

2015-11-07 20:04:50 960

原创 1.从一个问题开始

1.从一个问题开始:     操作系统如何得知当下正在运行的线程或者进程以及如何做到下一个将要运行的进程或线程?    “Windows内核有一个特殊的基本要求,就是只要CPU在内核中运行,就得使段寄存器Windows系统中段寄存器FS在用户空间指向TEB、而在系统空间则指向KPCR。”关于FS段寄存器有什么作用以及如何指向KPCR和TEB数据结构那就是另外一个回事了,下面我们先来看一下K

2015-11-07 20:03:02 592

原创 windows平台内核代码探究

一拿到这个问题的时候,当时就感觉很不妙,众所周知微软对于自己的系统是何等的“吝啬”,拿到这种问题简直让我感到这问题很难研究下去,而且自己还是这个小组的组长,一下子感到自己身上的责任就重了许多,所以从16周开始我自己就开始进入到了这个题目的研究中去了,百度一下”windows处理机调度”第一页里真正有介绍这个的问题的只有http://blog.csdn.net/deyili/article/deta

2015-01-09 16:01:03 1409

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除