进程的控制[原创]

总体上来说,这个暑假过的可以,见到了想见的人,看了点想看的书,到最后了,本人也要写出点重量级的文章,今天就说说进程的控制吧,因为我只是看了点书,具体的实践还没有做过,所以今天主要是就原理说一下,希望读者,特别是stoness不要笑话.

进程的控制主要包括:

   1.建立一个进程;

   2.撤消一个进程;

   3.挂起一个进程;

   4.解挂一个进程;

   5.改变进程的优先级别;

   6.block一个进程;

   7.resume一个进程;

   8.调度一个进程运行;

  

 

建立一个进程

  说起建立一个进程,主要是建立这个进程的PCB(process control block).系统判断一个进程是否存在就是以是否在系统PCB表中存在该进程的PCB判断的.首先由某进程想系统的PCB表申请一个PCB空闲空间.然后初始化PCB的内容,然后系统返回一个内部标识,初始化主要有标识(外部),优先数和资源的使用情况,父进程的内部标识,记帐过程等等.

在一些高级语言中如C可能有一些功能性很强的函数,一步就可以解决问题,具体可以参看,stoness的BLOG.在那里有实例讲解.

挂起一个进程

某进程发出的挂起指令只对自己和自己的子孙进程有用,否则为非法指令。对自己解除挂起的指令只能通过别的进程发出。通常挂起有三种方式:挂起自己,挂起具有某标识的进程,挂起某进程的全部或部分的子孙进程。要挂起某一进程首先要获得该进程的内部编号,然后查看状态,挂起该进程。此过程要保存挂起进程的进程状态。如果是在多机情况下,还应该在就绪队列(进程队列)中挑选一个优先级别较高的进程,调度运行之。

撤消某一个进程

书上说有两种策略,一是撤消具有某标识的进程和其子进程。二是撤消具有某标识的子进程和该子进程的所有子孙进程。然后说第一种容易产生孤儿进程,可能第一种策略只适用于只有一代子孙的进程。撤消原语只能由其祖先进程发出(想想我们在windows 里使用的任务管理器,有谁不是操作系统的子进程呢)。在撤消某一个进程时要使用KILL过程其内部标识,所以说在进程的管理中获得内部标识是最基础的步骤,使用下列原语即可,

i=Get Internal Name(n);

其中n为进程的外部编号,这个东西是我在前面的内容疏忽了,先汗自己一个,还有一个是检查进程的状态也是很重要,像在撤消过程中,如果进程处在running的话还是要调用SCHEDULER来保证处理器的使用效率,

解挂某一个进程

某进程只能将自己的子孙进程解除挂起,自己解挂要通过父进程后其他子孙进程。解挂某进程后要调用,处理器调度程序,使得处理器得到充分的利用。

改变进程的优先级别

现在大多数计算机采用的动态改变优先级别的机制。比如说,一个作业长时间得不到运行的,它的优先级就会相应的升高,反之,则降低。

 

这是我假期里面看的进程管理的一些理解和感触,当然《操作系统》前面的几章基础也看了看,入下门。对后面的一个学期还是充满了美好的憧憬和莫名的不安,希望努力的人都可以得到上帝的青睐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值