【发布时间】:2015-11-24 12:52:57
【问题描述】:
我有一个关于内核和外壳的一般查询。
一个操作系统是否可以同时运行多个 shell,还是只有一个 shell 和一个内核?
让我们以 Ubuntu 为例。 Unity 桌面环境和终端是使用同一个 shell 进行通信,还是有不同的 shell 与内核交互?
有人可以解释一下结构吗?
【问题讨论】:
标签: linux shell operating-system
我有一个关于内核和外壳的一般查询。
一个操作系统是否可以同时运行多个 shell,还是只有一个 shell 和一个内核?
让我们以 Ubuntu 为例。 Unity 桌面环境和终端是使用同一个 shell 进行通信,还是有不同的 shell 与内核交互?
有人可以解释一下结构吗?
【问题讨论】:
标签: linux shell operating-system
首先,阅读this。
根据该定义,您可以看到 shell 本身就是 解释器,并且只是一个进程。由于所有 Unix 衍生产品都支持多任务处理,因此可以同时执行多个进程因此 shell。
例如,当您在 bash 会话中时,您可以通过执行 bash 可执行文件来启动一个新的 shell。然后你就有了两个“嵌套”的 shell。
【讨论】:
操作系统是否可以同时运行多个 shell? 只有一个外壳和一个内核??
答案 1。是 多个 shell 可以运行一个内核提供程序内核 目前支持所有内核支持的多线程。
unity桌面环境和终端是否通信 相同的 shell 或是否有不同的 shell 与 内核?
答案2。没有机器人在不同的 shell 中运行,但在同一个内核上 这就是为什么你可以通过
ls-ltr获取驻留在桌面的文件列表有人可以解释一下结构吗?
第一个是核心,即与内核交互的计算机硬件 最重要的是所有shell都在运行这包括你的GUI、终端、shell 脚本。
你可以参考这个link
【讨论】:
shell 的结构取决于操作系统。在 Unix 中,shell 只是程序(几乎任何程序都可以是 shell)。在其他系统中,进程和外壳之间的关系更为复杂。例如,在 VMS 中,shell 可以与进程中的程序同时存在,shell 处于受保护模式。
无论如何,大多数系统都允许同时运行多个 shell。
【讨论】: