操作系统开销

时间:2014-08-19 02:53:44

标签: operating-system

我正在研究一种耗时的计算算法,并希望尽快运行它。

操作系统(Windows或Linux)存在多少(运行算法)会减慢进程?

是否有" OS"专门用于运行预定义程序?

3 个答案:

答案 0 :(得分:3)

首先,我想介绍一下我正在研究一个非常相似的主题time-consuming computation algorithm!这里很常见,或者只是共同发生......

  

现在,让我们进入答案部分: -

操作系统中存在的进程(正在运行的算法)受驻留程序和其他可用用户程序的影响,这些用户程序在就绪队列中等待,具体取决于操作系统应用的调度算法。通常,守护进程始终在运行,并且一些与系统应用程序相关的进程只会抢占其他低优先级进程(如果您的进程优先级较低,通常系统进程和守护进程抢占所有其他进程,可能就像您的那样)。操作系统(Windows或Linux)的存在---我在这里只考虑他们的内核---不会影响因为内核是操作系统的管理者以及所有进程和任务。因此,它们不会减慢进程的速度,但守护进程和系统进程很重,它们确实会显着影响您的程序。我也希望如果我们能够禁用所有守护进程,但它们只是为了操作系统的高效工作(如鼠标控制,电源效率等)...

仅举例来说,在基于Linux和Unix的系统上,top命令可以实时查看处理器活动。它显示系统上most CPU-intensive tasks的列表。

因此,如果您将在Linux系统上执行此代码,您将获得所有繁重内存消耗大量进程的结果!在这里,您会发现除了大量利用内存的进程外,还有几个守护进程,如powerdmoused等,以及其他系统进程,如Xorg,{{1等等......这会影响用户进程!!!

但是,有一点很清楚,每个进程或守护进程通常不会占用比kdeinit4进程更多的内存!比例会更低,而不是八分之一,四分之一!!!

基于评论的更新: -

如果您在没有操作系统辅助/安装的情况下专门寻找在本机硬件上运行的进程,那么您有两种选择。

以机器级语言或汇编语言或其他低级语言开发代码,这些语言将直接在硬件上运行您的进程,而无需操作系统来管理内存部分以及所有和其他系统进程和守护进程!

第二种解决方案是开发/利用非常小的操作系统,仅包含算法程序/过程所需的那些设置!而且,这个最小的操作系统将不是一个完整的操作系统---因此缺少守护进程,多个系统调用,如Windows,Linux,Unix等主要操作系统。

intense computation algorithm在评论部分中提供的有用链接之一。我只想引用他: -

  

如果你真的想要删除任何可能的开销,你可以尝试:   BareMetal OS

在您的情况下,您似乎更喜欢第一个选项而不是另一个选项。但是,你可以用任何一种方式完成你的任务!

最新编辑:

这只是来自myside的反馈,因为我无法让你更清楚!如果你在Operating Systems Beta上提出同样的问题会更好,因为有几位专家正在回答有关操作系统开发/功能的所有疑问等等!对于我可能错过的与您的主题相关的每一个微小细节,您都会收到更强烈和积极的回应。

来自myside的祝福...

答案 1 :(得分:0)

为所有主要操作系统提供处理器的主要思路是相同的。我已经提供了一个演示它的图表。首先让我描述一下这个图,然后我会回答你的问题。

enter image description here

图表说明

当操作系统想要同时执行某些任务时,它不能立即为所有这些任务提供处理器。因为处理器可以一次处理一个操作,并且它不能同时处理一个任务。因为它通过时隙方式在时隙中的所有任务之间共享它。换句话说,允许每个任务仅在其自己的时隙中使用处理器,并且一旦其时隙结束,它应该使处理器返回到OS。

操作系统使用dispatcher component来选择和分派待处理任务,以便为处理器提供服务。操作系统的不同之处在于调度程序的工作原理,典型的调度程序的作用是什么?用简单的话说:

回答您的问题

  

操作系统(Windows或Linux)存在多少(运行算法)会减慢进程?

取决于:

  1. Dispatcher算法(即您使用哪个OS)
  2. 系统上的当前负载(即现在运行的应用程序和守护程序数量)
  3. 您的流程任务有多少优先级(即实时优先级,UI优先级,常规优先级,低优先级......)
  4. 您的任务将完成多少I / O内容(因为I / O请求任务通常安排在单独的队列中)
  5. 请原谅我的英语问题,因为英语不是我的母语 希望它能帮到你

答案 2 :(得分:0)

尝试在single-user mode启动。

来自debian-administration.orgdebianadmin.com

  

运行级别1称为“单用户”模式。更恰当的描述是“救援”或“故障排除”模式。在运行级别1中,不启动任何守护程序(服务)。希望单用户模式允许您修复任何必要的转换到救援模式。

我猜“没有守护进程”并不完全正确,wiki.debian.org声称:

  

例如,守护程序可以配置为仅在计算机处于单用户模式(运行级别1)时运行,或者更常见的情况是在多用户模式运行时(运行级别2-5)。

但我认为单用户模式肯定会杀死你的大多数守护进程。

这有点像黑客,但它可能只是为你做的工作。