Linux操作系统基础知识之三:进程

Q1.        程序与进程的概念分别是什么?为什么要引入“进程”的概念?

A:

1)        程序是一个普通文件,是机器代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行映像中,可执行映像(executable image)就是一个可执行文件的内容;

2)        进程代表程序的执行过程,它是一个动态的实体,随着程序中指令的执行而不断地变化,在某个时刻进程的内容被称为进程映像(process image);

3)        程序的执行过程可以说是一个执行环境的总和,这个执行环境除了包括程序中各种指令和数据外,还有一些额外数据;而执行环境的动态变化体现了程序的运行,为了对动态变化的过程进行描述,就引入了“进程”概念。

 

Q2.        什么是进程控制块?它包含哪些基本信息?

A:

1)        Linux中把对进程的描述结构叫做task_struct,将这样的数据结构称作进程控制块(PCB);

2)        PCB是一个其域多达80多项的相当庞大的数据结构,按其功能将所有域划分为:状态信息,链接信息、各种标识符、进程间通信信息、时间和定时器信息、调度信息、文件系统信息、虚拟内存信息和处理器环境信息。

 

Q3.        Linux内核的状态有哪些?

A:

1)        Linux最基本的进程状态有三种:运行态就绪态阻塞态(或等待态);这三种状态之间有四种可能的转换关系:运行态->阻塞态、运行态->就绪态、就绪态->运行态和阻塞态->就绪态;

2)        为了管理上的方便,将就绪态和运行态合并为一个状态—可运行态,再包括其它方面的一些改变,将进程状态划分为:可运行态、睡眠(或等待)态(分为深度睡眠态和浅度睡眠态)、暂停状态和僵死状态。

 

Q4.        PCB的组织方式有哪几种?

A:PCB的组织方式有:进程链表、散列表、可运行队列和等待队列。

 

Q5.        主要的调度算法包括哪些?一个好的调度算法要考虑哪些方面?

A:

1)        主要的调度算法包括:时间片轮转调度算法、优先级调度算法(非抢占式优先级算法和抢占式优先级算法)、多级反馈队列调度算法和实时调度算法;

2)        一个好的调度算法应该考虑五个方面:公平、高效、响应时间、周转时间和吞吐量。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周兆熊-IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值