【问题标题】:Why do modern OS need so much memory?为什么现代操作系统需要这么多内存?
【发布时间】:2014-11-25 19:53:32
【问题描述】:

我正在保留一个旧大学朋友的房子。我找到了两台我们用来破解的旧电脑。它们甚至没有那么旧,就像 2003 年的类型。单核、256MB、80GB 硬盘。或者至少是贴纸自豪地宣称。

所以我走了:大奖!我将安装 Ubuntu 并获得一些乐趣。但是这些机器有 256MB 的内存。如果使用硬件,它更像是不到 190 MB。而且似乎没有现代的 linux/bsd 发行版适用于它们。至少没有进行 MAJOR 交换,比如 30 分钟以上。对于每个操作。

现在,这些机器过去可以顺利运行 Windows xp。超级快。

为什么现代操作系统有如此大的内存需求?我不明白。有人能告诉我为什么他们需要这么多内存吗?仅仅声称草率的编程或“现代”要求不会让我满意。

谁能给我一个实际的例子,说明为什么现代操作系统不能在例如 16MB 的内存上运行?

windows XP怎么这么轻巧,我却找不到能在这样的系统上运行的linux发行版。

我很确定我曾经在那些旧垃圾上编程、上网,甚至玩游戏。现在他们甚至无法运行 FreeDos 之外的任何东西?

【问题讨论】:

  • 这个问题似乎跑题了;这与计算机编程无关。
  • 操作系统是计算机程序,“膨胀”的趋势在许多其他领域都很常见,所以我认为这是一个与计算机编程相关的问题。投票保持开放。
  • Windows XP 不是“轻量级”操作系统。如果您想要一个轻量级操作系统,请选择与 XP 同期的任何 Linux 或 BSD 发行版,例如 Red Hat Linux 7 或 FreeBSD 4。或者任何在 2001 年之后的几年内发布的此类操作系统。Linux 没有在 Ubuntu 从 6.06 版左右开始真正流行之前,不要开始变得像 XP 一样笨拙。
  • 我应该指出,仍然有 Linux 的“轻量级”版本,并且大多数 BSD 仍然是其库存形式的“轻量级”操作系统。例如,你必须在 FreeBSD 或 Arch Linux 中添加很多东西才能让它们像 XP 一样胖,还有像 CrunchBang 这样的精简 GUI Linux 可以在这样的非常旧的硬件上运行良好。
  • 是的。更新。我已经能够将两者都作为无头、非常负责任的无头服务器运行。只要不涉及图形,我的大部分问题似乎都消失了。另一个问题是预分配,它在没有看到食物的情况下预吃食物,我觉得这很浪费。我忘记了,但我看到一项服务占用了 128 MB 的内存,并且需要不到 2 MB 的空间。我很幸运,只要我通过 SSH 连接到它们,我就可以使用这些快速敏捷的“无人机”。

标签: linux memory operating-system legacy


【解决方案1】:

简单的答案是操作系统是为可用硬件编写的。

那些不是(看着你的 OS/2)失去市场份额和死亡。

操作系统提供在给定目标硬件上可实现的功能,并忽略在目标硬件上不可行的功能。

因此,现代操作系统至少需要几个 GB,并调整 IO 系统以使用大缓冲区,并缓存旧操作系统会留在磁盘上的大量内容。现代操作系统需要一个快速的图形处理器并实现许多愚蠢的视觉效果,如透明窗口、3D 阴影等。

愚蠢的评论者根据“功能数量”来判断软件包,因此即使是开源开发人员也觉得有义务匹配商业产品的功能列表——其中大部分从未使用过。

随着机器变得越来越强大,开发人员觉得他们的时间最好花在提高可靠性和添加功能上,而不是节省空间和调整性能。

<opiniated gripe>随着计算机科学技术水平的发展,有一种趋势是大规模过度设计为简单问题提供复杂的解决方案</opiniated gripe>

看看这里one of these 应该符合要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-03
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    相关资源
    最近更新 更多