【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)

  • 二.进程


二.进程

  1. 进程介绍:
    进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
  2. Windows进程所含元素
  • 一个私有的虚拟地址空间
    可提供该进程使用的系列虚拟内存地址
  • 一个可执行的程序
    定义了初始代码和数据,会映射至进程的虚拟空间
  • 一个已打开句柄的列表
    句柄会映射至各种系统资源,同步对象以及可被进程中所有的线程访问的文件
  • 一个安全上下文
    用于确定与进程相关用户、安全组、特权、属性、用户账户控制虚拟化状态、会话、受限用户账户状态身份的访问令牌等
  • 一个进程ID
    一个进程ID是表示唯一标志符,从内部来说术语客户端ID标识符的一部分
  • 至少一个执行线程
    进程可以进行创建,我们可以创建一个空的进程
  1. 通过任务管理器查看进程
    windows 自带的任务管理器可快速显示系统中运行的进程列表,我们可以通过如下的任何一种方式进行查看调用查看

序号

调用方式

1

按快捷键Ctrl+Shift+ECS

2

右击任务栏选择任务管理器

3

按快捷键Ctrl+Alt+Delete并点击任务管理器

4

运行可执行文件Taskmgr.exe

文章中演示通过右击任务栏选择任务管理器的方式来打开任务管理器,如下图所示:

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_windows


首次打开任务管理器,其会进入“精简模式”,只会显示顶级可见窗口和对应的进程,如下图所示:

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_任务管理器_02


我们发现精简模式下的任务管理器的可执行操作的选项很少,我们可以通过点击详细信息的方式来展开查看任务管理器的完整视图

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_句柄_03


如下图所示,我们查看到详细的Processes(进程),在进程这一块列出了4列信息:Cpu、内存、磁盘、网络。

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_任务管理器_04


同时可以点击表头选择显示更多的列,例如:发布者、进程名称、命令行等信息

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_windows_05

如果要查看相关更多关于此进程的详情,可以选中一个进程,点击“转到详细信息”

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_windows_06


在下图中我们可以看到我们已经由进程转到了详细信息这一块,具体的详细信息如下图所示

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_任务管理器_07


因为“进程”是通过实例所对应映像文件的名称区分的,与Windows中的一些对象不同,进程无法获得全局的名称,我们可以通过右击表头的方式“选择列”

【Windows 应用程序开发详解】四.Windows开发基本概念和相关术语(二)_句柄_08


任务管理器中进程的各列的含义如下:


描述

PID(进程标识符)

唯一标识所运行进程的编号。

用户名

运行该进程的用户帐户

会话标识

标识进程所有者的编号。当多个用户登录时,每个用户都有一个唯一的会话标识。

CPU 的使用

自上次更新以来,进程使用 CPU 的时间百分比(列标题中列为“CPU”)

CPU 时间

进程自其启动以来使用的总处理时间(以秒为单位)。

内存 - 工作集

私人工作集中的内存数量与进程正在使用且可以由其他进程共享的内存数量的总和。

内存 - 峰值工作集

进程所使用的工作集内存的最大数量。

内存 - 工作集增量

进程所使用的工作集内存中的更改量。

内存 - 私人工作集

工作集的子集,它专门描述了某个进程正在使用且无法与其他进程共享的内存数量

内存 - 提交大小

为某进程使用而保留的虚拟内存的数量。

内存 - 页面缓冲池

由内核或驱动程序代表进程分配的可分页内核内存的数量。可分页内存是可写入其他存储媒体(例如硬盘)的内存

内存 - 非页面缓冲池

由内核或驱动程序代表进程分配的不可分页的内核内存的数量。不可分页的内存是不能写入其他存储媒体的内存。

页面错误

自某进程启动后该进程生成的页面错误数。进程访问当前不在工作集的内存页面时会出现页面错误。某些页面错误要求从磁盘中检索页面内容;其他的页面错误可在不访问磁盘的情况下解决。

基本优先级

优先排名,它确定了所计划进程的线程顺序。

句柄

进程的对象表中的对象句柄数。

线程数

进程中运行的线程数。

USER 对象

当前由进程使用的 USER 对象数。USER 对象是来自 Window 管理器的对象,它包含窗口、菜单、光标、图标、挂接、加速器、监视器、键盘布局及其他内部对象。

GDI 对象

图形输出设备应用程序编程接口 (API) 的图形设备接口 (GDI) 库中的对象数量。

I/O 读取

由进程(包括文件、网络和设备 I/O)生成的读取输入/输出操作的数量。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 读取数量。

I/O 写入

由进程(包括文件、网络和设备 I/O)生成的写入输入/输出操作的数量。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 写入数量。

I/O 其他

由既非读取又非写入的进程(包括文件、网络和设备 I/O)生成的输入/输出操作的数量。此类操作的示例是控制功能。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 其他操作数量。

I/O 读取字节数

由进程(包括文件、网络和设备 I/O)生成的输入/输出操作所读取的字节数。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 读取字节数。

I/O 写入字节数

由进程(包括文件、网络和设备 I/O)生成的输入/输出操作所写入的字节数。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 写入字节数。

I/O 其他字节数

由既非读取又非写入的进程(包括文件、网络和设备 I/O)生成的输入/输出操作所传输的字节数。此类操作的示例是控制功能。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 其他字节数。

映像路径名称

硬盘上的进程位置。

命令行

指定为创建进程的完整命令行。

用户帐户控制(UAC)虚拟化

确定为此进程启用、禁用还是不允许使用用户帐户控制 (UAC) 虚拟化。UAC 虚拟化将文件和注册表写入错误重定向到每用户位置。

描述

进程的描述。


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windows