我刚刚完成了一门关于操作系统的课程,但我仍然不清楚操作系统的定义。操作系统本身是否占用 CPU 和内存等资源?例如,调度算法必须占用一些处理能力来比较任务以确定哪个先执行,并且任务所在的数据结构会占用空间。
另外,了解如何使用虚拟内存的行为必须进行占用资源的计算,对吗?
假设一台计算机运行一个程序,但没有操作系统,那么该程序的运行速度会比同一台计算机运行操作系统的速度更快。这是真的吗?
编辑:我同意这门课程很烂,为了娱乐,这里是给我们的操作系统的定义
什么是操作系统? • 几种可能的定义 1.{Microsoft、Apple、Linux 社区、Google} 提供的代码 2.您所依赖但您未曾编写的代码 3.在特权模式下运行的代码 4.使事物正常运行的代码 5.使事物崩溃的代码(相当愤世嫉俗的定义) 6. 还有许多其他...
什么是操作系统 • 一种抽象——为计算机上执行的应用程序提供适当的接口以访问该计算机的资源——很大程度上取决于我们如何定义“适当” • 一种解决不同问题的方法——时间性能——空间性能——共享和资源管理——容错——安全性——市场竞争力
这本教科书被嘲讽了我们不得不花费 100 多美元,将操作系统定义为“几乎所有其他东西都依赖的软件。这仍然很模糊,但这个术语在整个行业中都以相当模糊的方式使用”。
答案1
操作系统本身是否占用资源(除了安装的空间之外)?
是的。
我刚刚完成一门关于操作系统的课程,但操作系统的定义对我来说仍然不清楚。
从底层来看,操作系统与任何其他程序并无不同;归根结底,它只不过是一堆 CPU 指令。唯一的区别在于,操作系统的指令与程序的指令(或多或少)有所不同。
描述操作系统的最佳方式是元程序也就是说,做某事,该程序可以实现其他程序来做某事。
任何操作系统本身都会占用CPU、内存等资源吗?
是的当然。
例如,调度算法必须利用一些处理能力来比较任务,以确定哪个任务先执行,以及保存任务的数据结构占用的空间。
确实如此。操作系统的功能只是一堆 CPU 指令,就像用户程序中的功能一样,它们占用空间并且必须在 CPU 上运行。
另外,了解如何使用虚拟内存的行为必须进行占用资源的计算,对吗?
自然。
假设一台计算机运行一个程序,但没有操作系统,那么该程序的运行速度会比同一台计算机运行操作系统的速度更快。这是真的吗?
轻微地。
请记住,CPU 非常快,可以执行很多在很短的时间内执行指令。此外,操作系统经过了广泛的设计和调整,以达到尽可能最佳的效果,因此它们使用尽可能少的 CPU 和内存(至少在理论上)。因此,它们用于调度、内存管理、任务切换、硬件驱动等的算法使用的资源相对较少。您可以在任务管理器中看到这一点;当没有程序运行且操作系统被精简到最低限度时,内存使用量将非常小,CPU 将以“0%”运行。(再次强调,我们只是从理论上讨论;例如,Windows 最近一直“臃肿”,因此它可能不再适用于它。)
答案2
如果你刚刚完成了操作系统课程,你应该要求退款。你的问题太幼稚了,我真不敢相信你不是在寻找家庭作业问题的答案。
现代人对操作系统的看法是一组服务提供者,应用程序可以使用这些服务提供者访问计算机上的资源,例如内存、CPU 和 I/O 设备。操作系统和应用程序之间的界限究竟在哪里是一个宗教问题(参见 Andrew Tanenbaum 和 Linus Torvalds 之间的争论)。
现代操作系统用于向应用程序提供隔离的机器抽象,例如,您的应用程序无法获取我的应用程序正在使用的内存。为了以安全的方式做到这一点,管理抽象的关键代码通常被隔离到称为操作系统内核的东西中。再次强调,内核中的内容与用户空间共享库之间的界限仍存在争议。
真的,如果您的操作系统课程没有涵盖这类内容,那到底是什么呢?