通过比较旧的协作式多任务处理(Windows 3.1)与 Windows 95 多任务处理,可以更好地理解多任务处理的概念。
在 Windows 3.1 中,如果您同时运行两个程序(例如 word 和 excel),这些任务会处理与 CPU 的通信队列,让您知道另一个程序是否也参与了资源需求。在对 CPU 的调用和响应发生的情况下,第一个程序将控制权交给了第二个程序,依此类推。在后台,CPU 一次只处理一个程序,但程序在不执行操作时相互配合释放 CPU。由于这种呼叫和响应流程并不总是像理想情况下那样顺畅和迅速,因此用户实际上感觉好像他们一次只运行一个程序。
当 Windows 95 出现时,它的一大创新是多任务处理,在这种环境中软件不直接访问硬件资源,但操作系统为其分配了一个沙箱来运行。这样,如果您运行 excel 和 word,就不会发生 excel 接管 CPU 并且您必须等待它放弃它。两个进程在不同的沙箱中运行,操作系统是它们与硬件资源之间的中介,允许在微秒内切换一个和另一个,给人一种同时运行的感觉,不会妨碍。
没有。
通过比较旧的协作式多任务处理(Windows 3.1)与 Windows 95 多任务处理,可以更好地理解多任务处理的概念。
在 Windows 3.1 中,如果您同时运行两个程序(例如 word 和 excel),这些任务会处理与 CPU 的通信队列,让您知道另一个程序是否也参与了资源需求。在对 CPU 的调用和响应发生的情况下,第一个程序将控制权交给了第二个程序,依此类推。在后台,CPU 一次只处理一个程序,但程序在不执行操作时相互配合释放 CPU。由于这种呼叫和响应流程并不总是像理想情况下那样顺畅和迅速,因此用户实际上感觉好像他们一次只运行一个程序。
当 Windows 95 出现时,它的一大创新是多任务处理,在这种环境中软件不直接访问硬件资源,但操作系统为其分配了一个沙箱来运行。这样,如果您运行 excel 和 word,就不会发生 excel 接管 CPU 并且您必须等待它放弃它。两个进程在不同的沙箱中运行,操作系统是它们与硬件资源之间的中介,允许在微秒内切换一个和另一个,给人一种同时运行的感觉,不会妨碍。
多线程的概念是指操作系统能够处理多个处理器,对此有多种方法。1990 年代的服务器有多个物理 CPU。你看了看主板,有四个处理器插槽。
随着多核处理器(首先是 AMD Opteron,几个月后是 Intel Pentium D)的出现,这种情况随着时间的推移而发展,这些处理器在单个物理处理器中包含两个或更多内核。
在这两者之间,英特尔还引入了一种称为超线程的架构,它在一个单核处理器上创建了两个虚拟 CPU(尽管它毕竟就像一个假的多核)。
简而言之,多线程操作系统允许在您打开 word 和 excel 时,将它们各自的沙箱分配给不同的物理内核。当你打开 N 个程序时,它们分布在不同的可用内核中。
这允许一个真正的多任务环境,与多个物理资源相关联,但每个程序都分配给一个核心。从这个意义上说,即使系统中有 1 或 4 个内核,也会运行对 CPU 要求很高的程序,这是在浪费资源。
最后,随着多核处理器的普及,软件也在不断发展,如今,相同的软件生成不同的线程以便在多个内核上同时运行是很常见的。这种方法将多处理器的概念与多线程(multithreading)相结合,是我们今天看到的所有台式计算机都有的组合。
冲刺求和
Windows 95 是多任务处理,但它不支持多个内核或多个处理器。另一方面,Windows 2000 在现有的多任务支持中添加了多线程。因此,存在非多线程的多任务系统。
我不认为它是“强制”的,而是一个具有多任务质量的系统允许它也具有多线程的优点,因为多任务系统是指能够“同时”执行多个操作的系统。”喜欢例如,同时浏览互联网和播放音乐。
通过能够以这种方式执行多个活动,这使系统具有多进程的能力,该术语是指能够同时执行多个进程。
总之,是的,但是正如我所提到的,它不是“必须”,但是当我们今天说系统是“多任务”时,它暗示它也是多进程的。多进程一词更为重要,因为它“包含”了多任务的概念。
多线程、多任务和多用户一文中提供了更多信息。