0一大波概念来袭~什么是windows进程

进程是一个正在运行的程序,拥有自己的虚拟地址空间、代码,数据和其他系统资源。

1.组成windows进程的两个部分:

1进程内核对象

2私有的虚拟地址空间

2.程序与进程的区别:

程序是有序静态指令集

进程是所用资源的容器

3

windows中进程是获取资源的单位,每个应用程序启动后都会对应的启动一个进程,单进程只是一个

壳,他不会执行代码,执行代码是需要进程中的线程来完成。

也就是说(进程提供了一个场地,线程是场地里干活的工人)

什么是线程:线程是进程内执行代码的独立实体,因此一个进程中至少应该有一个线程,一般来说,启动进程的第一个线程

就是主线程(其他的叫子线程),线程理论上没有自己的内存,它所使用的内存都是属于进程的。

4.进程的循环状态

就绪态  -  运行态  -  阻塞(zu se)态

三个状态彼此循环:刚刚启动还没运行:就绪态

进程调度之后:运行态,等待某个时间发生(比如等待用户输入输出)-阻塞态;

5.windows多任务

多任务是指用户可以在同一时间内运行多个应用程序,每个应用程
序被称作一个任务 

Windows多任务处理采用的是被称为虚拟机(Virtual Machine)的技
术。虚拟机实际上指的是由Windows在内存中创建的逻辑微机,由
它来运行应用程序。当Windows接受到由鼠标、键盘、定时 器信
号或某些I/O操作产生的"事件"后,为该任务分配CPU时间。每个任
务使用由Windows分配的短暂的时间片(Timeslice)轮流使用 CPU,由
于CPU对每个时间片的处理速度非常快,在用户看来好像这些任务在
同时执行

6.内核模式和用户模式

Intel的CPU将权限级别分为4个级别:
RING0,RING1,RING2,RING3。Windows只使用其中的两个级别
RING0和 RING3,RING0只给操作系统用,RING3谁都能用。
如果普通应用程序企图执行RING0指令,则Windows会显示
“非法指令”错误信息。

内核对象:是系统提供的 --用户模式下代码----与内核模式下代码
进行交互的基本接口 

应用程序无法直接访问内核对象,只能通过特定的函数间
接访问内核对象。

内核对象的用途:

• 为系统资源提供可识别的名字
• 在进程之间共享资源和数据
• 保护资源不会被非法访问
• 跟踪对象的引用情况。 

实际控制内核对象的东东:对象句柄!

所谓句柄就是一个32位的数字。

句柄本身不是指针句柄是指针的标识,句柄进行映射,能够找到内核对象的地址(指针)

使用计数:

– 使用计数是内核对象中的一个属性。
– 使用计数是对程序复用次数的记录。
– 使用计数是对资源使用状况的记录。

抛出两个问题,大家可以在评论区讨论:

为什么要有使用计数?

机制是什么?

猜你喜欢

转载自blog.csdn.net/yonggandess/article/details/88941957
今日推荐