首页 > 解决方案 > XV6 操作系统是用来做什么的?

问题描述

我一直在上操作系统的在线课程,我听到他们说,可以使用XV6操作系统学习操作系统的实现,仅此而已。但是我在网上搜索后没有足够的资源,这让我从它开始。我的问题是,我为什么要使用它,以及它将如何帮助我理解操作系统。(请对您向我提供的信息保持温和,我是新手:()

任何努力都值得赞赏

标签: coperating-systemtrigonometrysoftware-designxv6

解决方案


只有两种可能:

  • 太复杂而对教学无用

  • 太简单而对教学无用

诸如花哨的功能/增强功能、缓解安全问题、处理硬件错误/勘误表、性能、可扩展性以及支持非常广泛的不同硬件之类的事情都会增加代码的复杂性;如果您查看一个必须关心所有这些事情的真正的商业操作系统(例如 Linux),那么很难了解一件事(例如内存管理)而没有所有的复杂性阻碍并使其学习变得更加困难.

如果你有一个简单的操作系统不做这些事情(没有花哨的功能,没有缓解安全问题,...),那么从中学习基本原理要容易得多;但也变得不可能使用它来了解花哨的功能、缓解安全问题、处理硬件错误/勘误表,......

解决方案是从一个简单的操作系统(例如 XV6)开始学习基础知识,然后切换到一个真正的操作系统来学习其他所有内容。

然而; 大多数大学的操作系统课程都不是为了教你编写操作系统。相反,它们旨在为您提供有关操作系统的基本信息,以便您在为现有操作系统编写应用程序时可以使用这些知识。出于这个原因(并且因为有时间限制),他们只做第一部分(使用像 XV6 这样的简单操作系统),然后课程结束。


推荐阅读