[OS] 进程的概念

进程概念:

1.程序在执行中

2.一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程,是系统进行资源分配和调度的独立单位。

进程与程序的差别

·进程----动态,        程序----静态

·进程----有生命周期,短暂的, 程序----相对长久的

·进程----具有并发性,     程序----没有

·进程是竞争计算机系统资源的基本单位,其并发性受到系统本身的制约

·不同进程可以包含同一程序,只要程序所对应的数据集不同

一个进程包括:

·Text section 文本段(代码段)-------程序代码

·program counter 程序计数器----------其值与处理器寄存器的内容共同表示当前活动

·Stack 栈------------------包括临时数据,如函数参数、返回地址和局部变量

·Heap 堆-------------------在进程运行期间动态分配的内存

·data section 数据段-------包括全局变量

下面是进程在内存中的状态:

 进程的特征:

进程控制块(PCB),也称任务控制块:

作用:PCB用来保存程序运行期间的重要信息

·进程存在的唯一标识

·记录了OS所需的用于描述进程及控制进程所需的全部信息

·进程状态(process state):状态可包括新的(new)、就绪(ready)、运行(running)、等待(waiting)、终止(teminated)。

·程序计数器(program counter):表示进程要执行的下个指令的地址。

·CPU寄存器(CPU registers):根据计算机体系结构不同,寄存器的数量和类型也不同。

·CPU调度信息(CPU scheduling information):包括进程优先级、调度队列的指针和其他调度参数。

·内存管理信息(Memory-management information):根据操作系统所使用的内存系统,这类信息包括基址和界限寄存器的值、页表或段表。

·记账信息(Accounting information):包括CPU时间、实际使用时间、时间界限、记账数据、作业或进程数量等。

·I/O状态信息(I/O status information):这类信息包括分配给进程的I/O设备列表、打开的文件列表等。

 CPU在进程间切换时用到了PCB:

当CPU切换到另一个进程时,系统需要保存老进程的状态,并且加载新进程的状态。

*进程状态图:

进程状态切换:

·就绪-->运行

 -调度程序选择一个新的进程运行

·运行-->就绪

 -运行进程用完了时间片

 -运行进程被中断,因为一高优先级进程处于就绪状态

·运行-->等待

 -OS尚未完成服务

 -对一资源的访问尚不能进行

 -初始化I/O且必须等待结果

 -等待某一进程提供输入(IPC)

·等待-->就绪

 -当所等待的事件发生时

时间: 2024-10-27 12:37:08

[OS] 进程的概念的相关文章

os -- 进程的控制

os -- 进程的控制 新建 模板 小书匠 参考 <计算机操作系统>(第四版) 汤小丹等编著 概念引入 进程控制 进程控制是最基本的功能,负责创建进程.结束进程等功能,一般由 OS 内核中的原语来实现 原语 所谓原语,就是由若干条指令组成的,用于完成一定功能的一个过程,算是不可分割的.最基本的操作 Note 接下来原语基本用于所有的操作 操作系统内核 操作系统将一些常用或者运行频率较高的模块(如时钟管理.进程调度等)常驻内存,这些就被称为 OS 内核 两大功能 支撑功能 中断处理 时钟管理 原

进程的概念

进程的概念: OS:程序的一个执行实例.正在执行的程序.能分配处理器并由处理器执行的实体. 内核:担当分配系统资源的实体. 进程的两个基本元素是程序代码和代码相关联数据集.进程是一种动态描叙,但不代表所有的进程都在运行. 进程描述: 大体上说,进程的信息被放在一个进程控制块的数据结构之中,可以认为进程属性的集合. 进程控制块: 每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体. task_struct是Linux内核的一种

漫漫运维路——进程基本概念及管理相关工具介绍

进程的概念     进程是系统进行资源分配的基本单位,当一个应用程序启动时就向内核发起请求,然后由进程创建出新的进程,此时应用程序就启动了.创建进程的进程此时被称作父进程,而被创建出来的进程被称为子进程,此外子进程不可脱离父进程而存在,当一个父进程被销毁时,其子进程也会一并被销毁. 在Linux中,进程被内核所管理,内核为每一个进程虚拟处一块内存空间,所以当进程被调度到内存中执行时,只能看到自己和内核,从而避免进程之间发生冲突,影响其他进程的运行.但是进程独立并不代表其不能互相通信,当进程之间需

Linux 通过os进程pid找到端口号

[[email protected] ~]# netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 3338/./hpiod tcp 0 0 0.0.0.0:736 0.0.0.0:* LISTEN 3098/r

进程控制概念简介 多线程上篇(三)

进程控制 进程的基本数据信息是操作系统控制管理进程的数据集合,这些信息就是用来控制进程的,此处我们说的进程控制就是进程的管理. 比如进程有状态,那么进程的创建.终止,状态的切换,这都不是进程自主进行的,都是通过操作系统进行管理的 如下图所示,所有的相关数据都是操作系统用来管理维护进程的 操作系统抽象出进程概念的核心是为了运行程序 所以进程的执行态是最为核心的 其他的状态则是为了更好的控制管理进程以及进程的并发执行而附加的 所以,一定程度上来讲,操作系统对于进程的控制,可以认为是对于进程的不同状态

进程通信概念简介 多线程上篇(六)

进程通信指的是进程间的信息交换 ,IPC(Inter-Process Communication,进程间通信) 之前说到: 进程通信就相当于一种工作方式.沟通形式,比如你给我一个SVN标签号并且告知我意图,我去库中检索指定标签修改的指定内容,就完成了一个任务的协作. 进程同步中,也有信息的交换,比如互斥量访问,再比如生产者和消费者,共享缓冲池,但是这些通常被称之为低级的进程通信. 以信号量为例,如果你说我在塔顶点亮灯表示危险,否则表示安全,这没问题,如果你想用灯亮灯灭来像QQ一样,大段大段的传递

多线程和进程的概念

1.耗时的操作使用线程,提高应用程序响应 2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求. 3.多CPU系统中,使用线程提高CPU利用率 4.改善程序结构.一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改. 使用多线程的理由之一是和进程相比,它是一种非常花销小,切换快,更"节俭"的多任务操作方式.在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段.堆栈段和数据段,这是

Android系统开发(8)——linx进程基本概念

一.proc文件系统 传统意义上的文件系统是用于块设备上信息的存储,/proc这个目录是一个虚拟文件系统,它放置的数据都是在内存当中,所以这个目录本身不占用任何硬盘空间.主要包含如下系统信息: 内存管理 系统进程特征数据 文件系统 设备驱动程序 系统总线 电源管理 终端 系统控制参数 用 户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件 时,proc文件系统是动态从系统内核读出所需信息并提交的.下面列出

OS——进程简答题(1)

1,叙述进程和程序的主要区别. 解:进程和程序是两个既有联系又有区别的两个概念,它们的主要区别如下: (1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念.而进程是程序在处理机上的一次执行过程,它是一个动态的概念. (2)程序的存在是永久的.而进程是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡. (3)程序仅是指令的有序集合.而进程则由程序,数据和进程数据块组成. (4)进程与程序之间不是一一对应的,即同一个程序同时运行与若干不同的数据集合上,它