110 likes | 271 Views
3.3 程序与进程. 主要内容 : 什么是程序? 进程与线程 线程示例 程序、进程、线程关系. 什么是程序?. 程序 是计算机为完成特定任务所执行的指令序列,以文件的形式存储在磁盘上 。 对程序的管理是操作系统的主要工作之一。在 Windows 中,大多数可执行程序的扩展名是 .exe ,少部分也有 .com 。 常用的 Windows 的实用程序文件名,如右表所示。. 操作系统的重要任务之一就是使用户充分而有效地利用系统资源,并发性是操作系统最主要的特征。处理机的管理也称为进程的管理。
E N D
3.3 程序与进程 主要内容: 什么是程序? 进程与线程 线程示例 程序、进程、线程关系
什么是程序? • 程序是计算机为完成特定任务所执行的指令序列,以文件的形式存储在磁盘上 。 • 对程序的管理是操作系统的主要工作之一。在Windows中,大多数可执行程序的扩展名是.exe ,少部分也有.com。 • 常用的Windows的实用程序文件名,如右表所示。
操作系统的重要任务之一就是使用户充分而有效地利用系统资源,并发性是操作系统最主要的特征。处理机的管理也称为进程的管理。操作系统的重要任务之一就是使用户充分而有效地利用系统资源,并发性是操作系统最主要的特征。处理机的管理也称为进程的管理。 进程可以更好的描述计算机程序的执行过程,反映操作系统的并发执行、资源共享及用户随机访问的特性,并以此作为资源分配的基本单位。 操作系统的基本任务就是对进程实施管理,有效的控制进程的执行,给进程分配所需要的资源,允许进程之间共享和交换信息,并保护每个进程在运行期间不受其他进程的干扰,允许进程进行同步执行。 进程与线程 处理机进行资源的分配调度的单位可为进程或线程
进程与线程 • 进程的概念 并发性是操作系统的主要特性之一,是程序的并发执行。但是程序执行时所产生的问题使得传统的程序概念已经不足以对其进行描述,为此,引入进程(Process)的概念。 - 进程是程序的一次执行过程; • 进程是可以和其他计算并发执行的计算; • 进程是一个可并发执行的程序在一个数据集上的一次运行,是操作系统资源分配的基本单位。 • 每当用户运行一个程序时,操作系统就为该程序创建了一个进程,并为它分配资源、调度其运行。程序执行结束后,进程也就消亡了。 • 进程可以更好地描述程序的执行过程,反映操作系统的并发执行、资源共享及用户随机访问的特性。 要使用好任务管理器,需要掌握程序、进程和线程的基本概念。
就绪 时间片完 事件发生 进程调度 阻塞 运行 等待事件 进程与线程 Ctrl + Alt + Delete 查看任务管理器 • 进程的状态 在Windows XP 下如何查看进程的状态? 进程基本状态转换图
除了查看系统当前的信息之外,任务管理器还有如下用途:除了查看系统当前的信息之外,任务管理器还有如下用途: 终止未响应的应用程序 当系统出现“死机”症状时,往往是存在未响应的应用程序,通过任务管理器终止未响应的应用程序即可恢复正常。 终止进程的运行 当CPU的使用率长时间达到或接近100%,或系统提供的内存长时间处于几乎耗尽状态时,通过任务管理器,找到CPU使用率高或内存占用率高的进程,终止其执行。(系统进程无法终止) 任务管理器的使用
进程与线程 • 进程与程序的区别 • 进程的实质就是程序的执行过程,是一个动态的过程,而程序则是描述问题解题步骤和方法的指令集合,是静态的。 • 进程的生命期是暂时的,在执行初期被创建,执行结束后被撤消。而程序的存在是永久的。 • 进程是一个能够独立调度并能和其他进程并行执行的单位,能确切地描述并发执行;而程序不能作为独立调度执行单位。 • 一个程序可以多次执行并产生多个不同的进程,而一个进程仅对应一个程序。 • 进程由程序、数据、进程控制块3部分组成,而程序不是。
进程与线程 线程 • Windows系统中,线程是一个进程内的基本调度单位,以此作为CPU分配的基本单位,进程成为(除CPU以外)资源的分配单位。在UNIX系统中,进程作为CPU的分配单位。 • 引入线程的目的是为了提高操作系统并发执行的程度,从而进一步提高系统的吞吐量,减少程序并发执行时所付出的时间和空间开销。 • 一个进程至少拥有一个线程,进程还可以根据需要创建多个线程。 • 进程中的所有线程共享该进程的资源,驻留同一块内存空间,可以访问相同的数据。当一个线程改变了内存中某个单元的数据时,其他线程在访问该数据单元时会共享变化后的数据。 • 在任务管理器的“进程”选项中,选择“查看”→“选择列”命令,设置“线程数”,在窗口中可以显示一个进程所包含的线程数。
程序、进程、线程关系 程序、进程、线程关系示意图
进程与线程 • 线程
用户程序 RPC请求1 服务器1 服务器2 用户程序 RPC请求1 服务器1 服务器2 时间 RPC请求2 结果1 结果1 RPC请求2 结果2 结果2 线程举例 用户主机通过网络向2台远程服务器进行远程调用以获得相应结果的执行情况 多线程 单线程