树莓派(十)linux内核结构介绍、什么是shell

嵌入式之路,贵在日常点滴

                                                                ---阿杰在线送代码

目录

一、linux内核结构框图

二、图解linux系统的系统架构 

三、 shell简介

什么是shell 

shell脚本 


参考:原文链接 

一、linux内核结构框图

对内核结构框图有个总体的把握,有助于理解为什么驱动要这样写,为什么写的应用程序所用的C库接口能够产生这么多的事情。

树莓派(十)linux内核结构介绍、什么是shell_第1张图片

 函数库就像一个“黑匣子”,提供了一系列API支配内核运作,但你不知道内核发生了什么。

内核是一个很厉害的超级逻辑,把硬件底层的东西抽象化,对用户来说只需要调API就好了,根本不需要管寄存器,协议,总线…,这些全部由操作系统做好。动不动写个操作系统是不现实的。

能把字符设备,块设备的设备驱动吃透,已经是一个很厉害的工程师了。 

二、图解linux系统的系统架构 

树莓派(十)linux内核结构介绍、什么是shell_第2张图片

 最内层是硬件,最外层是用户应用,比如浏览器等等。硬件是物质基础,而应用提供服务。

为了方便调用内核,Linux将内核的功能接口制作成系统调用(system call)。用户不需要了解内核的复杂结构,就可以使用内核。系统调用是操作系统的最小功能单位。一个操作系统,以及基于操作系统的应用,都不可能实现超越系统调用的功能

系统调用提供的功能非常基础,所以使用起来很麻烦。一个简单的给变量分配内存空间的操作,就需要动用多个系统调用。Linux定义一些库函数(library routine)来将系统调用组合成某些常用的功能。上面的分配内存的操作,可以定义成一个库函数,比如常用的malloc。 

三、 shell简介

什么是shell 

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

也可以这样认为,linux中的shell就是linux内核的一个外层保护工具,并负责完成用户与内核之间的交互

一个shell对应一个终端 (terminal)。曾经来说,终端是一个硬件设备,用来输入并显示输出。如今,由于图形化界面的普及,终端往往就像下图一样,是一个图形化的窗口。

树莓派(十)linux内核结构介绍、什么是shell_第3张图片

你可以通过这个窗口输入或者输出文本,这个文本直接传递给shell进行分析解释,然后执行。

shell脚本 

Shell 脚本(shell script),是一种为 shell 编写的脚本程序

业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。

shell脚本编程如同其他编程语言的一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以运行了。 

你可能感兴趣的:(arm-树莓派,Linux,linux)