UNIX操作系统

初步介绍UNIX操作系统三大组成部分

组成部分

UNIX操作系统由三部分组成: 内核,shell和程序。

内核

内核是UNIX操作系统的核心:它为程序分配时间和内存,并处理文件存储和通信以响应系统调用。其中,内核和shell的工作方式相互联系,这里举一个例子:假设用户输入rm 文件名。shell在文件存储中搜索包含程序rm的文件,然后通过系统调用请求内核在myfile上执行程序rm。当进程 rm myfile运行完毕后,shell会将UNIX提示符%返回给用户,表明它正在等待进一步的命令。

shell

shell充当用户和内核之间的接口。当用户登录时,登录程序会检查用户名和密码,然后启动另一个名为shell的程序。shell是命令行解释器。它解释用户键入的命令并安排执行它们。这些命令本身就是程序:当它们终止时,shell会给用户另一个提示(系统上的%符号)。

熟练的用户可以自定义shell,用户可以在同一台机器上使用不同的shell。

最后,当Shell执行-一个程序时,会要求UNIX内核启动一个新的进程( process),以便在该进程里执行所指定的程序。内核知道如何为编译型程序做这件事。我们的nusersShell脚.本并非编译型程序;当Shell要求内核执行它时,内核将无法做这件事,并回应“notexecutable format file”(不是可执行的格式文件)错误信息。Shell 收到此错误信息时,就会说“啊哈,这不是编译型程序,那么一定是Shell脚本”,接着会启动-一个新的/bin/ .sh (标准Shell)副本来执行该程序。

当系统只有-一个Shell时,“退回到/bin/sh”的机制非常方便。但现行的UNIX系统都会拥有好几个Shell,.因此需要通过–种方式,告知UNIX内核应该以哪个Shell来执行所指定的Shell脚本。事实上,这么做有助于执行机制的通用化,让用户得以直接引用任何的程序语言解释器,而非只是一个命令Shell。方法是,通过脚本文件中特殊的第一行来设置:在第- -行的开头处使用# !这两个字符。当Shell执行-一个程序时,会要求UNIX内核启动一个新的进程( process),以便在该进程里执行所指定的程序。内核知道如何为编译型程序做这件事。我们的nusersShell脚.本并非编译型程序;当Shell要求内核执行它时,内核将无法做这件事,并回应“notexecutable format file”(不是可执行的格式文件)错误信息。Shell 收到此错误信息时,就会说“啊哈,这不是编译型程序,那么一定是Shell脚本”,接着会启动-一个新的/bin/ .sh (标准Shell)副本来执行该程序。

关于学习shell脚本的指南PDF,如果想要一份的话,可以下面留言或者私聊我,我会分享一份。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值