你能把软件和操作系统一起运行吗?尽管它可能不是很实用,但我很好奇,如果不考虑性能,是否有任何限制认为这是不可能的……我可以可视化系统功能的方式与操作系统给人的错觉相同,即多个程序同时执行,以便执行多任务,而实际上一次只有一个程序在运行,但在这种情况下,不仅仅是操作系统和在处理器上执行的进程,而是同时执行程序和操作系统。我将基于这个设计的处理器架构是x86。
发布于 2014-12-04 07:45:22
从本质上讲,多任务操作系统只不过是一个任务切换器。有两种类型的多任务处理通常存在于并行-协作(如Windows3.1)中,其中程序负责共享资源(或者“我正在等待,所以在此期间做一些其他事情”或者“给别人一段时间”)和抢先处理,此时操作系统介入并说“你已经有足够的时间了,现在给别人一个机会”。
即使是最原始的CPU也有中断。发生了一些事情(按下一个键或计时器关闭),在返回到它正在做的事情之前,调用一个函数来做一些事情。return from interrupt命令恢复寄存器,并返回到中断发生时将要执行的确切指令。
但是,它不必返回到相同的位置。当进入中断例程时,返回地址和寄存器在堆栈上。取下它们并将它们保存到当前任务引用的某个位置。现在把你之前从另一个任务中保存的数据放到堆栈中(最后一个返回地址)。现在,从中断返回将继续执行先前的任务。您可能还想在离开之前设置一个计时器,以便在再次切换任务之前设置一个时间限制。
正如您所描述的,这是最简单的任务切换形式。
https://stackoverflow.com/questions/26835658
复制相似问题