下面是Linux容器为Linux机器中的每个dev设置创建的隔离,

语言运行时层涉及的软件资源是python解释器2.x/3.x
在开发环境中(有python代码),
在用户层应该考虑哪些软件资源?
发布于 2017-06-17 07:54:32
像这样的图表,没有上下文或术语的定义,总是会有多种解释,你不能总是把一个标签换另一个标签。
通常,所有不是内核级别的东西都是用户级别的。因此,图中的Userland确实包含了所有的顶级级别。例如,Python解释器是用户级进程,gcc、ls和shell也是如此。
下面是另一个不同的图表,其中黑线上的所有内容都是“用户级别”。Linux容器引擎也将是用户级别的应用程序。

您可能会看到在Python解释器中运行的代码是“应用程序”,任何Python库都是“库”。
在上面的图像中,“库”和“应用程序”之间的唯一区别是,“库”是一组资源或实用程序,用于其他应用程序或库,而“应用程序”则意味着用户直接使用,或者它可能是一个服务流程,如sshd。
这是一个广泛的区别,这意味着如果在命令行上键入cp,则使用cp作为应用程序,但如果编写使用cp复制文件的脚本,则在“库”(标准Unix实用程序工具箱)中使用cp作为实用工具。
在您的图表中(其中一个方框最初是"OS / Kernel"),因为我们不知道"OS“是什么意思,所以像sshd这样的守护进程可能被视为”OS“的一部分,因此不属于"userland”。只要透视图是交互式用户的透视图(它不直接与sshd或类似的守护进程交互),这就可以了。在我看来,“OS”有点难以定义,并且可能包括内核和系统接口,以及我的图表中的库和应用程序的一些部分,这取决于您在其周围划定边界的位置。
https://unix.stackexchange.com/questions/371628
复制相似问题