`
freewxy
  • 浏览: 337806 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

进程管理

阅读更多

进程的原理和实现

  进程是操作系统中的可执行程序的一次执行。进程与程序的区别和相互关系如下:

(1)动态性和静态性(进程是活动的程序)

(2)从结构上看每个进程的实体都是由程序段和相应的数据段两部分构成的,这一特征与程序的含义相近

(3)一个进程可以涉及到一个或几个程序的执行;反之,一个程序可以对应多个进程,即同一程序段可以在不同数据集合上运行,可构成不同的进程。

(4)并发性

(5)进程具有创建其他进程的功能

(6)操作系统中的每个程序都是在一个进程现场中运行的。

 

进程控制块   进程描述程序的一次执行,它存在于内存中。系统的资源分配、调度是以进程为单位的。进程的资源、运行状态等是由内核管理,在内核中需要一个数据结构来描述。通常这种数据结构称为进程控制块(Process Control BlockPCB)。一个进程可以说是由进程控制块、代码和数据组成(数据和代码由程序提供)。PCB就代表了进程

进程控制块描述的内容非常多,所有和进程相关的信息都由它记录。

进程控制块的内容:

(1)进程标识符。 用于标识一个进程。标识符包括进程的ID、进程的名字、进程的家族关系和拥有此进程的用户标识等。

(2)进程上下文环境。 进程的上下文环境主要是指此进程运行时CPU各寄存器的内容,包括指令计数器、程序状态字、堆栈指针等。每个进程运行时CPU寄存器的内容都不同,一个进程被调度出去时需要保护它的上下文环境,当它被调度时需要恢复到之前保存的内容。

(3)进程调度信息。  进程调度相关的信息包括进程的状态、进程的调度策略、进程的优先级、进程的运行睡眠时间、进程的阻塞原因和进程的队列指针等。

(4)进程控制信息  进程的控制信息包括:进程的代码、数据、堆栈的起始地址;进程的资源控制,比如进程的内存描述符、文件描述符、信号描述符和IPC描述符等。进程使用的所有系统资源都会在PCB中描述。

(5)进程控制块的组织方式。 当进程处于不同状态时,内核会以不同的方式组织它们。

  1>链接方式。链接方式把进程按照不同的状态分别放到不同的队列。

2>索引方式。索引方式应用像hash表等方式建立相应的索引表,处于不同状态的进程被放到相应的索引表中.

 

  Linux内核中进程控制块定义为task_struct:

 

进程的状态

(1)运行状态

(2)阻塞状态

(3)就绪状态

线程的原理和实现

 

1、线程和进程的主要区别:
(1)
进程是资源分配的基本单位

(2)线程是进程中的最小调度单位

(3)一个线程属于一个进程,一个进程至少有一个线程

2、为什么引入线程:

(1)线程的创建开销小

(2)线程间的同步开销小

(3)线程更易于调度

(4)线程易于实现并发

3、线程的实现方法

(1)用户级线程。 是指线程由应用程序简历,所有线程相关的内容都应由应用程序管理和调度,操作系统并不知道线程的存在,支队进程进行管理。

(2)内核级线程。内核级线程中所有线程的创建、调度和管理都是由内核完成。

 

 

 

  • 大小: 21 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics