第3章 进程-【千锋教育】Linux系统编程(慕课版)

2023-03-21
| 86页
| 142人阅读
| 0人下载
教辅

内容正文:

第3章 进程 进程的基本概念 进程编程 进程的基本概念 进程编程 3.2 3.1 ☞点击查看本小节知识架构 ☞点击查看本小节知识架构 学习目标 了解 掌握 掌握 掌握 了解进程的概念 1 掌握进程的内存、调度、控制、资源使用的方法 4 2 掌握进程的相关属性信息 3 掌握进程的创建及进程的回收方法 销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5 本章将介绍Linux中相对重要的内容——进程,并对进程的属性进行探究,包括进程的结构、状态、类型、控制、调度、内存等问题。尤其是调度、内存问题,这是本章的难点。读者应掌握进程的使用方法,熟悉函数接口,能够完成关于进程的编程,实现功能需求。 3.1 进程的基本概念 3.1.1 多任务机制 返回目录 3.1.2 进程与程序 3.1.3 进程的状态 3.1.4 进程组与会话组 3.1.5 进程的优先级 3.1 进程的基本概念 3.1.6 进程的调度策略 返回目录 3.1.7 进程的虚拟内存 3.1.8 虚拟内存管理 3.1.9 进程的内存布局 3.1 进程的基本概念 多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务。Linux是一个支持多任务的操作系统,比起单任务系统它的功能增强了许多。 多任务操作系统使用某种调度策略支持多个任务并发执行。事实上,(单核)处理器在某一时刻只能执行一个任务。每个任务创建时被分配时间片(几十到上百毫秒),任务执行(占用CPU)时,时间片递减。操作系统会在当前任务的时间片用完时调度执行其他任务。由于任务会频繁地切换执行,因此给用户多个任务同时运行的感觉。多任务操作系统中通常有3个基本概念:任务、进程和线程。 3.1.1 多任务机制 3.1 进程的基本概念 任务指的是一个逻辑概念,指由一个软件完成的活动,或者是为实现某个目的而进行的一系列操作。通常一个任务是一个程序的一次运行,一个任务包含一个或多个完成独立功能的子任务,子任务是进程或者是线程。例如,一个杀毒软件的一次运行是一个任务,目的是保护计算机系统不受病毒的侵害,这个任务包含多个独立功能的子任务(进程或线程),包括实时监控功能、定时查杀功能、防火墙功能以及用户交互功能等。 3.1.1 多任务机制 3.1 进程的基本概念 任务、进程和线程之间的关系如图所示。同时,它们也是后续章节的重点内容。 3.1.1 多任务机制 3.1 进程的基本概念 进程是指一个具有独立功能的程序在某个数据集合上的一次动态执行过程,它是操作系统进行资源分配和调度的基本单元。一次任务的运行可以发激活多个进程,这些进程相互合作来完成该任务的一个最终目标。本节将阐述进程的定义,并澄清其与程序之间的区别。 程序是包含了一系列信息的文件,这些信息描述了程序在运行时如何创建一个进程,包括如下内容。 (1)二进制格式标识:每个程序文件都包含用于描述可执行文件格式的元信息。内核利用此信息来解释文件中的其他信息。现在,大多数Linux采用可执行连接格式(Executable and Linkable Format,ELF)。 3.1.2 进程与程序 3.1 进程的基本概念 (2)机器语言指令:对程序进行编码。 (3)程序入口地址:标识程序开始执行时的起始指令位置。 (4)数据:程序文件包含的变量初始值和程序使用的字面常量。 (5)符号表及重定位表:描述程序中函数和变量的位置及名称。这些表格有多种用途,其中包括调试和运行时的符号解析(动态链接)。 (6)共享库和动态链接信息:程序文件所包含的一些字段,列出了程序运行时需要使用的共享库,以及加载共享库的动态链接器的路径名。 (7)其他信息:程序文件还包含许多其他信息,用以描述如何创建进程。 3.1.2 进程与程序 3.1 进程的基本概念 进程是程序动态执行的过程,具有并发性、动态性、交互性和独立性等主要特性。 (1)并发性是指系统中多个进程可以同时并发执行,相互之间不受干扰。 (2)动态性是指进程都有完整的生命周期,而且在进程的生命周期内,进程的状态是不断变化的,而且进程具有动态的地址空间(包括代码、数据和进程控制块等)。 (3)交互性是指进程在执行过程中可能会与其他进程发生直接和间接的通信,如进程同步和进程互斥等,需要为此添加一定的进程处理机制。 (4)独立性是指进程是一个相对完整的资源分配和调度的基本单位,各个进程的地址空间是相互独立的,因此需要引入一些通信机制才能实现进程之间的通信。 3.1.2 进程与程序 3.1 进程的基本概念 由此可知,进程和程序是有本质区别的。程序是一段静态的代码,是保存在非易失性存储器上的的指令和数据的有序集合,没有任何执行的概念;而进程是一个动态的概念,它是程序的一次执行过程,包括了动态创建、调度、执

资源预览图

第3章 进程-【千锋教育】Linux系统编程(慕课版)
1
第3章 进程-【千锋教育】Linux系统编程(慕课版)
2
第3章 进程-【千锋教育】Linux系统编程(慕课版)
3
第3章 进程-【千锋教育】Linux系统编程(慕课版)
4
第3章 进程-【千锋教育】Linux系统编程(慕课版)
5
第3章 进程-【千锋教育】Linux系统编程(慕课版)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。