理论上可以运行与OS并行的软件吗?

时间:2014-11-10 02:02:13

标签: operating-system x86 theory

您可以与操作系统一起运行软件吗?虽然它可能不太实际,但我很想知道是否有任何限制,认为这不可能不考虑性能,...等。我可以看到系统功能的方式将是相同的方式,其中操作系统给出了多个程序同时执行以便实现多任务的错觉,而实际上一次只有一个程序运行,但在这种情况下,不仅仅是操作系统和处理器上执行的进程,而是程序和操作系统同时进行。我将基于此设计的处理器架构将是x86。

1 个答案:

答案 0 :(得分:0)

多核任务操作系统的核心只不过是一个任务切换器。有两种通常并行存在的多任务处理 - 合作(如Windows 3.1),程序负责共享资源(或者等待这一点,所以在此期间做其他事情&# 34;或者"给别人一个机会一段时间")并优先考虑操作系统介入的地方并说“你已经有足够的时间,现在给别人一个机会。”# 34;

即使最原始的CPU也有中断。发生了某些事情(按下一个键或计时器关闭),并且在返回到它正在执行的操作之前调用一个函数来执行某些操作。从中断返回命令恢复寄存器并返回到中断发生时即将执行的确切指令。

但是,它 没有返回到同一个地方。进入中断例程时,返回地址和寄存器位于堆栈中。将它们取下并保存在当前任务引用的某个位置。现在将您之前保存的那些从不同的任务中取出并将它们放在堆栈中(最后返回地址)。现在从中断返回将继续执行之前的任务。您可能还需要在离开之前设置计时器,以便在再次切换任务之前设置时间限制。

这是你描述的最简单的任务切换形式。