星空网 > 软件开发 > 操作系统

linux shell执行原理

shell简介

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

运行背景

a 一个基本的linux系统结构

linux shell执行原理images/loading.gif' data-original="http://images2015.cnblogs.com/blog/835234/201606/835234-20160607104239340-1131542329.png" />

b.由上图可以看出,shell 在系统中是处于中间层次的。他为用户和kernel的交互提供了一种方式,方案。

c.关于分层结构的众多优势:

1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。

缺点:

1、降低了系统的性能。

  2、有时会导致级联的修改

shell命令执行原理

表层理解   我们一般做法就是:打开终端,输入命令,敲回车,等待命令运行,得到结果

那么,对于这个过程进行细致的解析,又包含了哪些东西呢?

  打开终端,输入命令,敲回车----IO中断

  等待过程:

    shell分析命令及参数----shell(一个终端位置的解释性程序)

    fork拷贝附近成pcb相关资源,为命令执行做准备----系统调用

    exec在fork得到的子进程中执行命令

  执行完成,返回结果----堆栈保护,栈帧注:当执行命令如  ls  &

&符号表示该命令在后台执行,而当命令执行过程中,我们是无法仅需输入命令的,这是因为父进程在fork执行shell命令的同时,回执行wait等待子进程结束,除非用户主动Ctrl+C中止命令执行或者Ctrl+z置入后台执行。

 

参考http://my.oschina.net/u/866271/blog/232840




原标题:linux shell执行原理

关键词:linux

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

深圳到菲律宾海运时间:https://www.goluckyvip.com/tag/97313.html
厦门 菲律宾海运:https://www.goluckyvip.com/tag/97314.html
天津到菲律宾海运:https://www.goluckyvip.com/tag/97315.html
菲律宾船运:https://www.goluckyvip.com/tag/97316.html
青岛到菲律宾海运:https://www.goluckyvip.com/tag/97317.html
菲律宾运输船:https://www.goluckyvip.com/tag/97318.html
天坛最佳攻略 天坛必玩景点:https://www.vstour.cn/a/408240.html
央视新址为什么会找回:https://www.vstour.cn/a/408241.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流