LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 705|回复: 5

如何更好的解释这些命令呢?

[复制链接]
发表于 2003-7-4 18:46:57 | 显示全部楼层 |阅读模式
在操作系统课程中

如果有了中级调度,即有了 对换区,进程就有了活动就绪,静止就绪,
活动阻塞,静止阻塞 四种状态

在linux中有很多命令是 关于进程的后台前台的,如: command& ,fg,bg,kill

等,如何用这些命令更好的解释这四种状态。
发表于 2003-7-4 21:41:52 | 显示全部楼层
如果从理论的高度来阐述,--我不知道!
还是让高手们来解释解释吧~~
发表于 2003-7-5 18:26:38 | 显示全部楼层
你要看源代码的
发表于 2003-7-6 17:32:51 | 显示全部楼层
用起 os 来,哪管它是活动就绪还是静止就绪,对我来说一律是正在运行。说实在的除非是 os 实现者或者系统管理员,不必区分这些状态,只要好用,用的方便就好了。比如我在 man bash,想要试一条指令,我可以 ctrl-z 把它放到后台,试完了再 fg 回来继续看。作为一个好的系统管理员,他应该知道 C-Z 之后的 man 已经从活动队列中放到阻塞队列中了,所以如果把一个正在进行的 cp 命令 C-Z,过半个小时回来,他肯定还没拷贝完 :) 除非你把它 fg 或者 bg,让它进入活动队列。对了,所谓前、后,是相对 shell 而言的,对进程的运行状态没有直接的影响。而 kill 则是给管理员留下的进程管理的超级接口。通过 kill,我们可以给进程发送各种信号.注意,不一定都是杀死进程的信号呦,还有唤醒进程的信号呀。这可以查 man 7 signal。
 楼主| 发表于 2003-7-7 20:53:41 | 显示全部楼层
能解释下,后台,前台 的关系吗?

linux中的前台和后台 与书上说的一致吗?

书上:
具有 前台 和后台的 分时系统

前台区 存放按 时间片“调进”或者“调出”的作业,后台 存放批处理系统作业,仅当前台 调进/调出,或者前台已经无作业可运行的时候,方才运行“后台”区的作业。

还有前台和后台与内存的就绪队列 的关系是什么?
发表于 2003-7-7 23:41:59 | 显示全部楼层
前台是相对于后台的一个概念.我不知道你看的是什么教材!前台运行就是把用户终端的输入/输出(键盘,显示器)资源暂时占用,而后台,是把任务另辟一个单独的VM(虚拟内存中),在那里去执行!
所谓的就绪队列,我想用通俗的解释即是:当一个进程(就是负责把程序放在内存执行的一个特殊程序,如init)把一个任务(就是一个从磁盘中读取的一个命令,函数等)放在内存中准备让系统(CPU)执行时,他分配给这个任务一个ID,先放的先执行后放的后执行,当然你可以用一些命令改变他们的执行顺序.
下面的实验,我想可以说明一些问题吧!
[javalee//home/javalee/myshell]sleep 400&
[1] 570
[javalee//home/javalee/myshell]sleep 50000&
[2] 572
[javalee//home/javalee/myshell]jobs
[2] + Running              sleep 50000
[1] - Running              sleep 400

fg %1
fg %2
我认为你自己在机器上亲自作个实验(我的口头表达难免有误),也许更明白些!如果单纯的从理论上来说,还是以教材为准吧!;)
关于进程和作业控制方面的铁子,请看:
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=5115
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表