文章目录
- shell是什么?
- 为什么要有shell?
shell是什么?
shell是一个外壳程序。
为什么要有shell?
要理解shell,首先要思考几个问题:
问题一:用户能直接访问直接访问操作系统吗?
答案:不能。 为什么呢?
1.人不善于直接使用操作系统
2.如果人直接访问操作系统,首先操作成本特别高,其次人会放错会带来不安全的因素。
例子:比如银行,我们去银行办理业务的时候是直接自己去操作的吗?
肯定不是的,一般会有一个银行内部的工作人员来协助我们办理业务。
因为首先我们不知道怎么办理业务,其次银行也不信任我们,所以我们可以看到银行工作人员与我们之间一般有个玻璃的间隔,就是防止意外发生。
因为人的错误的操作可能使OS奔溃掉,所以操作系统也是如此,系统设计者不会让我们直接访问OS。
问题二:那么我们是如何访问OS的呢?
通过上面问题我们可以知道人不能直接访问操作系统那么人是如何访问的呢?
例子:
背景:在一个村落中,村的西边住着一户人家其中有个人叫王婆,村的东边住着一户人家叫做张三他的爸爸的村长。村长的隔壁是小花家。
人物介绍:
第一阶段故事开始:
王婆收到张爸的请求后立马和张三交流问张三有什么要求,听到张三对小花没什么要求,只要是小花就行,立马就了解你的请求于是就去找小花。
于是王婆立马回去告诉张三,小花不认识张三。
故事到这先暂停。
从这个故事我们可以对应到操作系统,用户和shell。
张三:用户
不擅长与操作系统打交道
小花:操作系统
王婆:shell
帮助用户与操作系统打交道
我们用的Xshell就是一款外壳软件。
故事中小花不认识张三,王婆回馈反映就相当于我们输入了一个错误的指令操作系统不认识,Xshell回馈反映。
第二阶段故事开始:
于是王婆再次去到小花家
于是王婆去到张三家
但是去的过程中发现小花跟一个男的抱在一起,王婆发现原来小花有男朋友了。于是再次去到张三家。
故事到这里我们先行暂停。
从上面的故事我们可以知道,当王婆发现小花有男朋友就拒绝了张三的请求,变向等于保护了小花。
上面也可以对于到操作系统中。
所以我们了解到了shell外壳的意义(也就是为什么要有shell外壳):
1.实现用户与操作系统交互的中间软件层
2.可以在一定程度上,起到保护操作系统的作用。
第三阶段的故事开始:
张三告诉了村长张爸这个消息于是立马去找王婆。
王婆回到家立马发布实现生招聘广告,即刻开始招收实现生。
故事到这也就结束了。
通过上面故事我们可以联想到shell,shell在运行是会创建一个个子进程来帮助自己实现任务,就算子进程奔溃也不会影响自己,这样shell就可以一直运行下去。