📜  什么是终端、控制台、外壳和内核?

📅  最后修改于: 2022-05-13 01:57:04.837000             🧑  作者: Mango

什么是终端、控制台、外壳和内核?

作为一个新手,在学习 Linux 时,我们对终端、控制台、Shell 和内核等术语的实际含义感到困惑。有时我们会混淆它们的用法,这在技术上是不正确的,因此清楚地了解每个单词的实际含义以及应该如何以及在何处使用它们是非常重要的。

1.终端:

对于 Linux 操作系统,当我们点击打开名为“终端”的图标时,会打开一个窗口,简单来说,矩形框或窗口称为终端。随着现代计算机的发明,我们有了一个名为“终端”的应用程序,我们只需点击一下就可以打开它,但在 80 年代,它曾经被称为“终端模拟器”,它不是一个软件程序而是硬件,一个普通的由键盘和显示器组成的输入输出设备。现在混乱出现了,这就是计算机!但是不,终端的目的不是处理信息(如典型的计算机),而是向另一个系统发送命令。终端是一个程序,它为用户提供一个简单的命令行界面并执行以下 2 个任务:

  • 以命令的形式从用户那里获取输入
  • 在屏幕上显示输出

我们可以说终端是一个愚蠢的东西,所以它不知道如何处理输入,所以它需要另一个程序来处理它,并且在大多数情况下,它是 Shell。

终端_linux终端_linux

2.控制台:

对于 Windows 操作系统,“控制台”执行与终端相同的操作,因此我们可以说对于 Windows 操作系统,控制台是终端的别名。但是控制台不是直接打开的,而是我们需要通过命令提示符打开,然后打开控制台或屏幕上的矩形框。

安慰

3.壳牌

在终端上写完我们的命令后,当我们按下回车键时,终端会将这些命令传递给另一个程序来确定用户想要做什么,而在大多数情况下,那个程序就是 Shell,它构成了Linux OS,执行以下功能:

1. 

Interprets the command given by the end-user

2. 

Checks the syntax of the command and then Checks whether the command is correctly used or not.

3. 

If everything is correct, the shell converts the command Into a kernel-understandable form and passes it to the kernel.

Else, It returns an error message                                                            

4. 

The $ prompt appears on the terminal waiting for the next command, Irrespective of whether the previous commands were correct or not.

外壳是最终用户和内核之间的中介或接口。我们可以选择各种 shell 程序,即 TCSH、KSH、Seashell、Bash 等等,但大多数 Linux 系统和 Mac 上的默认程序是GNU Bash。

贝壳贝壳

4.内核

它是一种计算机程序,在 Shell 之后形成操作系统的最内部组件。一旦 shell 将用户的命令转换为内核可理解的形式,内核就负责在其两个组件的帮助下执行命令,这两个组件分别是与应用程序软件和设备硬件交互的 OS 库和设备驱动程序。以下是通过操作系统直到硬件的 C 程序执行流程示例:

Application Software: A C-program is written that takes input from the keyboard   
Operating System:Shell: Command to execute the program is given by the end-user
Kernel: takes the interpreted command from the shellOS Libraries: read() function which is invoked due to scanf() call.      
Keyboard Device driver: is invoked
Hardware: User types the input on the keyboard

从上表可以清楚地看出,内核充当了应用软件和硬件之间的接口。内存分配和处理器分配也将由内核负责。