关于作业和调度的问题

本文详细解释了作业的概念及其组成部分,包括作业说明书的作用。进一步探讨了作业调度、中级调度及进程调度的区别与联系,以及前后台作业的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        还是老话,首先得知道什么叫做作业

       

        作业:作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。(在我看来可以理解为一个section)


        前面说过,“Shell可以同时运行一个前台进程和任意多个后台进程”是不太全面的。事实上Shell分前后台来控制的不是进程,而是作业(Job)或者进程组(Process Group)。一个前台作业可以由多个进程组成,一个后台也可以由多个进程组成。Shell可以同时运行一个前台作业和任意多个后台作业,这称位作业控制。


        作业调度:其主要任务是按一定的原则从外存上处于后备状态的作业中挑选一个(或多个)作业,给他们分配内存、设备等必要的资源,并建立相应的进程,以使它们获得竞争处理机的能力。

        中级调度:又称内存调度。引入是为了提高内存利用率和系统吞吐量。把那些暂时不能运行的进程调至外存等待,而此时进程的状态称为挂起状态。当他们已具备运行条件且内存又稍有空间时,就由中级调度把外存上那些已具备运行条件的就绪进程,再重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待。

        进程调度:又称低级调度。主要是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。进程调度是操作系统中最基本的一种调度。


        后台进程是不能读终端输入的,如果读了,内核发SIGTTIN信号给进程,该信号的默认处理动作是使进程停止。但是后台进程是可以向终端写数据的。如果觉得后台进程向控制终端输出信息干扰了用户使用终端,可以设置一个终端选项禁止后台进程写。

       

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值