【问题标题】:what is difference between Software Stack and OS ? why Android is not an OS but software stack?软件堆栈和操作系统有什么区别?为什么Android不是操作系统而是软件堆栈?
【发布时间】:2012-05-04 06:03:25
【问题描述】:

Android 是一个软件堆栈,但不是一个操作系统。如developer.android.com所述

什么是安卓? Android 是用于移动设备的软件堆栈, 包括操作系统、中间件和关键应用程序。这 Android SDK 提供开始开发所需的工具和 API Android平台上的应用程序使用Java编程 语言。

我不明白软件堆栈是操作系统与应用程序一起使用,所以 Windows 是一个操作系统,但如果我在其上安装应用程序,我应该将其称为软件堆栈吗?

那么 Software Stack 和 OS 有什么区别,Android 包含内核,那么为什么不是 OS?

【问题讨论】:

  • 同一页下几行:“下图显示了 Android 操作系统的主要组件。”

标签: operating-system terminology


【解决方案1】:

操作系统是系统的核心内核,软件栈是位于内核之上的软件,用于增强和扩展系统的功能。

Windows 倾向于模糊这条线,但 Linux 让它更明显。

在 Linux 中,内核是操作系统。位于内核之上的软件堆栈可以包括以下内容:

  • X 窗口系统
  • Gnome 窗口管理器
  • 用于管理系统的应用程序
  • 等等……

因此,用于编辑系统设置的控制面板应用程序不是操作系统的一部分。它们是操作系统之上的软件堆栈的一部分。

您可以拥有a very tiny operating system,它上面没有运行太多软件堆栈。它本身不会提供太多可用性,而是增加可用性的基础。

Android 的软件堆栈建立在 Linux 内核之上,它负责电源管理,充当设备其他硬件部分之间的接口。这是一个链接,可以帮助您了解有关Android architecture的更多信息

【讨论】:

  • 非常棒的解释。非常感谢,但请详细描述 Windows 是如何模糊界限的?
  • @Algo:因为 Windows 中的软件堆栈与操作系统捆绑在一起,并没有真正被其他选项取代。例如,Linux 中的窗口管理器可以用大量替代选项中的任何一种来替换。在 Windows 中,你得到他们给你的东西,仅此而已。不过,Windows 中有软件堆栈的示例。从技术上讲,最初的 Windows(95 之前)是位于 MS-DOS 之上的软件堆栈。 Microsoft Bob 是另一种软件堆栈。
  • 请大卫向我推荐一些好书。我是一名软件工程师。
  • @Algo:这确实有点模糊和宽泛。不同的书籍侧重于软件的不同方面和学科。我想如果我要从帽子中挑选一个最喜欢的,从 Clean Code 和 The Clean Coder(均由 Robert C. Martin 编写)开始,然后从那里开始。 (两本书内部都参考了其他好书等)
  • 这个术语(“堆栈”)已经存在了很长时间还是最近才使用?
猜你喜欢
  • 1970-01-01
  • 2014-05-27
  • 2018-04-26
  • 1970-01-01
  • 1970-01-01
  • 2020-09-26
  • 2020-11-01
  • 2017-01-21
  • 2013-03-20
相关资源
最近更新 更多