多任务是指在一个操作系统中多

您的位置:
单主机多操作系统同时运行 浅析虚拟化
[导读]虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。
  是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个,并且应用程序在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
  虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
  虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
  虚拟化技术也与目前 Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。
  纯软件虚拟化解决存在很多限制。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机)来与硬件进行,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位茫。如处理器、内存、、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。
  而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
  虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
  两大CPU巨头和都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。目前,Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,还有Core Duo系列和Core Solo系列中的部分产品,以及/工作站平台上的Xeon LV系列、Xeon 5000系列、Xeon 5100系列、Xeon MP 7000系列以及Itanium 2 9000系列;同时绝大多数的Intel下一代主流处理器,包括Merom核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2高端服务器处理器都将支持Intel VT虚拟化技术。
  而AMD方面也已经发布了支持AMD Virtualization Technology(AMD VT)虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的Socket F接口的Opteron都将支持AMD VT虚拟化技术。
[责任编辑:毅然]
频道最新更新
频道热门文章
经历过日本地震,我们急需对业务持续性管理着重关注。
比特网数据中心虚拟展厅下设服务器性能优化厅、存储整…
“三高一低”给家电制造企业带来的就是利润空间越来越薄……
当移动互联网这一乱世,遭遇到长城会这一良机,会有怎样的规则……
请输入邮箱订阅您选择的电子杂志:
企业信息化周刊
比特网信息化周刊为您全力奉献信息化领域每周热点新闻、时事评论、案例点评、产经动态等内容。独家点评各类热点新闻,带给您不一样的视角感受。
新闻中心热点推荐
在如今这个信息爆炸的时代里,每天都会有数不清的新闻通过各种渠道涌到我们面前,而真正有价值的应该进入我们心里的,却很可能随着日历牌的翻动被我们忽略。作为对一周新闻进行回顾的《比特网新闻中心每周热点推荐》,就是要告诉您过去的七天都发生了哪些新闻,更希望和您一起,站在七天的高度来看待过去一周的新闻。
比特网博客新闻周刊
以最快速度追踪业界热点新闻,以最全面的视角解读业界的新鲜事,以最互动的方式来倾听最广大网民的声音,打造“最快、最丰富、最好看”的一周热点评论。
数据中心热点播报
业内首个只为报道数据中心资讯内容的专业频道,是为数据中心用户及厂商而建设的专业平台。以数据中心专业技术内容为核心,贯穿新鲜资讯、技巧方法和用户案例等高附加值内容。以为网友提供最具实用价值的信息为原则,以成为用户最信赖的行业专家为目标,打造高时效、高品质、高前瞻的最全威频道。企业数据中心热点播报,为您精心奉上过去一周数据中心最精彩、权威资讯_chinabyte比特网。
chinabyte商业智选
比特网商用电脑携办公自动化频道,倾力打造最权威的企业办公设备采购指导中心和软硬件整合资讯中心。为您提供第一手的专业化资讯及深度分析,帮助商用个人与企业用户实现商务智选。
chinabyte网络周刊
向企业网管员以及网络技术和产品使用者提供关于组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
chinabyte服务器周刊
就服务器和数据中心领域的产业动态、技术热点、热门产品、实用技巧,向企业CIO/CTO、IT管理层、技术人员提供一周精选套餐,为数据中心决策者、使用者提供一份服务器行业以及数据中心领域最新动态及产品应用的技术套餐。
chinabyte软件视界
以数据库和管理软件为重点的全面软件产业热点、应用方案推荐、实用技巧分享等等。
chinabyte存储周刊
就存储和虚拟化领域的产业动态、技术热点、热门产品、实用技巧,向企业CIO/CTO、IT管理层、技术人员提供一周精选套餐。
chinabyte安全周刊
向企业信息安全专业人士提供安全领域最新的热点技术、热门产品、实用技巧、安全漏洞和木马病毒下载。
Copyright (C)
Chinabyte.com, All Rights Reserved 版权所有 天极网络
渝ICP证B2-号 商务联系、网站内容、合作建议:010-
Powered by 天极内容管理平台CMS4i
比特网注册用户请直接登录
记住我的登录状态
使用公用电脑请勿选择该项
没有比特账号?查看:14459|回复:23
助理工程师
windowsxp是多用户多任务操作系统么?
是的,不过要看怎么解释了
严格意义上来说linux才是的
&&职场人生交流QQ群
版主,并不是一种荣耀,而是一种坚持 ...
引用:原帖由 promot 于
11:52 发表
windowsxp是多用户多任务操作系统么? 多用户单任务操作系统
欢迎再来,亲。
版主,并不是一种荣耀,而是一种坚持和责任!
助理工程师
引用:原帖由 Call_me_Hover 于
12:43 发表
是的,不过要看怎么解释了
严格意义上来说linux才是的 多用户,多任务该怎么理解呢?
引用:原帖由 promot 于
13:22 发表
多用户,多任务该怎么理解呢? 可以同时处理多个用户的多个任务需求
&&职场人生交流QQ群
初级工程师
引用:原帖由 promot 于
11:52 发表
windowsxp是多用户多任务操作系统么? Windows的多任务实际上不是真正的多任务,它的程序不是真正的同时工作的,所谓的同时工作其实是在不断更换运行的程序
千万不要按ctrl+w
如果你还是按了................
初级工程师
引用:原帖由
21:23 发表
Windows的多任务实际上不是真正的多任务,它的程序不是真正的同时工作的,所谓的同时工作其实是在不断更换运行的程序 我记得是这样的
千万不要按ctrl+w
如果你还是按了................
高级工程师
其实是可以的,可以建立多个用户帐户。这样的就是多用户……至于多任务嘛,你想来回的切换用户吗?亲。。。 如果可以的话,那还真是多任务;P1 ;P1 ;P1 不过这个可不如linux下的终端操作了……;P1 ;P1 ;P1
夜明堂前弹瑶琴,佳人月下舞流云;莽汉不言英雄志,青梅煮酒伴红颜。
初级工程师
引用:原帖由
21:23 发表
我记得是这样的 微观上来说确实是这样
版主,并不是一种荣耀,而是一种坚持 ...
引用:原帖由
21:23 发表
Windows的多任务实际上不是真正的多任务,它的程序不是真正的同时工作的,所谓的同时工作其实是在不断更换运行的程序 多线程是虚拟的,由于CPU运算快,所以感觉不到
版主,并不是一种荣耀,而是一种坚持和责任!
助理工程师
刚baidu了一下,只说多任务,多任务可以理解成同时处理多个任务
而处理任务是要靠CPU来处理的,一个cpu在同一时间点只能是处理1个任务
即使你能把cpu的时间段分割的再细,理论上讲,还是同一时间点只能是处理1个任务
因此对于多任务来讲,只能是多核cpu和多CPu系统才能同时处理多个任务
windows系统自然支持多核或者多cpu的硬件,因此我认为windows是多任务系统
使命的召唤-全能IT艺术家 ...
引用:原帖由 promot 于
11:52 发表
windowsxp是多用户多任务操作系统么? 首先可以肯定是多任务的。如果按照程序进程的角度来看,一个进程就代表一个任务,那么WINDOWS系统肯定是允许多个进程存在的。多任务并不代表进程并行,实际上也是不可能的。有的进程在等待状态,有的再执行状态,但是任务并没有完成。所以共存。正如楼上所说,操作系统中很清楚的描述过分时操作系统总是分时占用CPU时间处理来处理进程。不过我个人认为XP系统为单用户系统,因为毕竟XP系统不允许多个用户登录,而WINDOWS SERVER是允许的
一剑舞动惊四方,IT本是我所长 (R)丁胖胖
引用:原帖由 z00w00 于
22:53 发表
首先可以肯定是多任务的。如果按照程序进程的角度来看,一个进程就代表一个任务,那么WINDOWS系统肯定是允许多个进程存在的。多任务并不代表进程并行,实际上也是不可能的。有的进程在等待状态,有的再执行状态,但是任务并没 ... 使用远程桌面是可以多用户登录的,在XP上创建两个账户,然后另外使用两台PC分别用XP上的两个账户远程到XP
使命的召唤-全能IT艺术家 ...
引用:原帖由 宇宙浪子457 于
23:19 发表
使用远程桌面是可以多用户登录的,在XP上创建两个账户,然后另外使用两台PC分别用XP上的两个账户远程到XP 你实验过吗?我记得的在XP下是不可以的,远程登录A用户,可以将B用户踢下去的。这个在WINDOWS SERVER中没有这个问题
一剑舞动惊四方,IT本是我所长 (R)丁胖胖
初级工程师
用户不可以同时登录使用,只能其中一个进行,应该是单用户,XP是分时操作系统,
上面的都说过,按照程序进程的角度来看,一个进程就代表一个任务,那么WINDOWS系统肯定是允许多个进程存在的 为多任务
very&&good !
助理工程师
引用:原帖由 yf19863 于
09:56 发表
其实是可以的,可以建立多个用户帐户。这样的就是多用户……至于多任务嘛,你想来回的切换用户吗?亲。。。 如果可以的话,那还真是多任务;P1 ;P1 ;P1 不过这个可不如linux下的终端操作了……;P1 ;P1 ;P1 ... 那windows其实还不是真正的多用户多任务了?
助理工程师
引用:原帖由 z00w00 于
08:45 发表
你实验过吗?我记得的在XP下是不可以的,远程登录A用户,可以将B用户踢下去的。这个在WINDOWS SERVER中没有这个问题 严重同意,所以我也是一直认为xp是单用户多任务的操作系统,谢谢各位的回答。
助理工程师
引用:原帖由 z00w00 于
08:45 发表
你实验过吗?我记得的在XP下是不可以的,远程登录A用户,可以将B用户踢下去的。这个在WINDOWS SERVER中没有这个问题 版主正解
使命的召唤-全能IT艺术家 ...
引用:原帖由 promot 于
09:50 发表
那windows其实还不是真正的多用户多任务了? 对于桌面型(实际上微软官方并没有将windows称为桌面型操作系统,或者叫工作站操作系统)操作系统是不需要多用户的。
一剑舞动惊四方,IT本是我所长 (R)丁胖胖1149人阅读
操作系统的思考(11)
在当前的许多系统上,CPU包含多个核心,也就是说它可以同时运行多个进程。而且,每个核心都具有“多任务”的能力,也就是说它可以从一个进程快速切换到另一个进程,创造出同时运行许多进程的幻象。
操作系统中,实现多任务的这部分叫做“内核”。在坚果或者种子中,内核是最内层的部分,由外壳所包围。在操作系统各种,内核是软件的最底层,由一些其它层包围,包括称为“Shell”的界面。计算机科学家喜欢引喻。
究其本质,内核的工作就是处理中断。“中断”是一个事件,它会停止通常的指令周期,并且使执行流跳到称为“中断处理器”的特殊代码区域内。
当一个设备向CPU发送信号时,会发生硬件中断。例如,网络设备可能在数据包到达时会产生中断,或者磁盘驱动器会在数据传送完成时产生中断。多数系统也带有以固定周期产生中断的计时器。
软件中断由运行中的程序所产生。例如,如果一条指令由于某种原因没有完成,可能就会触发中断,便于这种情况可被操作系统处理。一些浮点数的错误,例如除零错误,会由中断处理。
当程序需要访问硬件设备时,会进行“系统调用”,它就像函数调用,除了并非跳到函数的起始位置,而是执行一条特殊的指令来触发中断,使执行流跳到内核中。内核读取系统调用的参数,执行所请求的操作,之后使被中断进程恢复运行。
中断的处理需要硬件和软件的配合。当中断发生时,CPU上可能正在运行多条指令,寄存器中也储存着数据。
通常硬件负责将CPU设为一致状态。例如,每条指令应该执行完毕,或者完全没有执行,不应该出现执行到一半的指令。而且,硬件也负责保存程序计数器(PC),便于内核了解从哪里恢复执行。
之后,中断处理器通常负责保存寄存器的上下文。为了完成工作,内核需要执行指令,这会修改数据寄存器和位寄存器。所以这个“硬件状态”需要在修改之前保存,并在被中断的进程恢复运行后复原。
下面是这一系列事件的大致过程:
当中断发生时,硬件将程序计数器保存到一个特殊的寄存器中,并且跳到合适的中断处理器。
中断处理器将程序计数器和位寄存器,以及任何打算使用的数据寄存器的内容储存到内存中。
中断处理器运行处理中断所需的代码。
之后它复原所保存寄存器的内容。最后,复原被中断进程的程序计数器,这会跳回到被中断的进程。
如果这一机制正常工作,被中断进程通常没有办法知道这是一个中断,除非它检测到了指令间的小变化。
中断处理器非常快,因为它们不需要保存整个硬件状态。它们只需要保存打算使用的寄存器。
但是当中断发生时,内核并不总会恢复被中断的进程。它可以选择切换到其它进程,这种机制叫做“上下文切换”。
通常,内核并不知道一个进程会用到哪个寄存器,所以需要全部保存。而且,当它切换到新的进程时,它可能需要清除储存在内存管理单元(MMU)中的数据。以及在上下文切换之后,它可能要花费一些时间,为新的进程将数据加载到缓存中。 出于这些因素,上下文切换相对较慢,大约是几千个周期或几毫秒。
在多任务的系统中,每个进程都允许运行一小段时间,叫做“时间片”或“quantum”。在上下文切换的过程中,内核会设置一些硬件计数器,它们会在时间片的末尾产生中断。当中断发生时,内核可以切换到另一个进程,或者允许被中断的进程继续执行。操作系统中做决策的这一部分叫做“调度器”。
当进程被创建时,操作系统会为进程分配包含进程信息的数据结构,称为“进程控制块”(PCB)。在其它方面,PCB跟踪进程的状态,这包括:
运行(Running),如果进程正在运行于某个核心上。
就绪(Ready),如果进程可以但没有运行,通常由于就绪进程数量大于内核的数量。
阻塞(Blocked),如果进程由于正在等待未来的事件,例如网络通信或磁盘读取,而不能运行。
终止(Done):如果进程运行完毕,但是带有没有读取的退出状态信息。
下面是一些可导致进程状态转换的事件:
一个进程在运行中的程序执行类似于fork的系统调用时诞生。在系统调用的末尾,新的进程通常就绪。之后调度器可能恢复原有的进程(“父进程”),或者启动新的进程(“子进程”)。
当一个进程由调度器启动或恢复时,它的状态从就绪变为运行。
当一个进程被中断,并且调度器没有选择使它恢复,它的状态从运行变成就绪。
如果一个进程执行不能立即完成的系统调用,例如磁盘请求,它会变为阻塞,并且调度器会选择另一个进程。
当类似于磁盘请求的操作完成时,会产生中断。中断处理器弄清楚哪个进程正在等待请求,并将它的状态从阻塞变为就绪。
当一个进程调用exit时,中断处理器在PCB中储存退出代码,并将进程的状态变为终止。
就像我们在2.3节中看到的那样,一台计算机上可能运行着成百上千条进程,但是通常大多数进程都是阻塞的。大多数情况下,只有一小部分进程是就绪或者运行的。当中断发生时,调度器会决定那个进程应启动或恢复。
在工作站或笔记本上,调度器的首要目标就是最小化响应时间,也就是说,计算机应该快速响应用户的操作。响应时间在服务器上也很重要,但是调度器同时也可能尝试最大化吞吐量,它是单位时间内所完成的请求。
调度器通常不需要关于进程所做事情的大量信息,所以它基于一些启发来做决策:
进程可能被不同的资源限制。执行大量计算的进程是计算密集的,也就是说它的运行时间取决于得到了多少CPU时间。从网络或磁盘读取数据的进程是IO密集的,也就是说如果数据输入和输出更快的话,它就会更快,但是在更多CPU时间下它不会运行得更快。最后,与用户交互的程序,在大多数时间里可能都是阻塞的,用于等待用户的动作。操作系统有时可以将进程基于它们过去的行为分类,并做出相应的调度。例如,当一个交互型进程不再被阻塞,应该马上运行,因为用户可能正在等待回应。另一方面,已经运行了很长时间的CPU密集的进程可能就不是时间敏感的。
如果一个进程可能会运行较短的时间,之后发出了阻塞的请求,它可能应该立即运行,出于两个原因:(1)如果请求需要一些时间来完成,我们应该尽快启动它,(2)长时间运行的进程应该等待短时间的进程,而不是反过来。作为类比,假设你在做苹果馅饼。面包皮需要5分钟来准备,但是之后需要半个小时的冷却。而馅料需要20分钟来准备。如果你首先准备面包皮,你可以在其冷却时准备馅料,并且可以在35分钟之内做完。如果你先准备馅料,就会花费55分钟。
大多数调度器使用一些基于优先级的调度形式,其中每个进程都有可以调上或调下的优先级。当调度器运行时,它会选择最高优先级的就绪进程。
下面是决定进程优先级的一些因素:
具有较高优先级的进程通常运行较快。
如果一个进程在时间片结束之前发出请求并被阻塞,就可能是IO密集型程序或交互型程序,优先级应该升高。
如果一个进程在整个时间片中都运行,就可能是长时间运行的计算密集型程序,优先级应该降低。
如果一个任务长时间被阻塞,之后变为就绪,它应该提升为最高优先级,便于响应所等待的东西。
如果进程A在等待进程B的过程中被阻塞,例如,如果它们由管道连接,进程B的优先级应升高。
系统调用nice允许进程降低(但不能升高)自己的优先级,并允许程序员向调度器传递显式的信息。
对于运行普通工作负载的多数系统,调度算法对性能并没有显著的影响。简单的调度策略就足够好了。
但是,对于与真实世界交互的程序,调度非常重要。例如,从传感器和控制马达读取数据的程序,可能需要以最小的频率完成重复的任务,并且以最大的响应时间对外界事件做出反应。这些需求通常表述为必须在“截止期限”之前完成的“任务”。
调度满足截止期限的任务叫做“实时调度”。对于一些应用,类似于Linux的通用操作系统可以被修改来处理实时调度。这些修改可能包括:
为控制任务的优先级提供更丰富的API。
修改调度器来确保最高优先级的进程在固定时间内运行。
重新组织中断处理器来保证最大完成时间。
修改锁和其它同步机制(下一章会讲到),允许高优先级的任务预先占用低优先级的任务。
选择保证最大完成时间的动态内存分配实现。
对于更苛刻的应用,尤其是实时响应是生死攸关的领域,“实时操作系统”提供了专用能力,通常比通用操作系统拥有更简单的设计。503 Service Temporarily Unavailable
503 Service Temporarily Unavailable什么是一个单用户多任务的操作系统_百度知道
什么是一个单用户多任务的操作系统
什么是一个单用户多任务的操作系统
我有更好的答案
如果一个用户在同一时间只能运行一个应用程序。个人计算机操作系统是单用户操作系统,单用户多任务就简单明了了,只允许一个用户使用,但可以同时运行多个作业(程序)。3、根据在同一时间使用计算机用户的多少,操作系统可分为单用户操作系统和多用户操作系统。2、相对于单用户单任务来说,则称为多用户操作系统。另外,则对应的操作系统称为单任务操作系统。单用户操作系统是指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源1、单用户单任务操作系统是指一台计算机同时只能有一个用户在使用,该用户一次只能提交一个作业,一个用户独自享用系统的全部硬件和软件资源,如果用户在同一时间可以运行多个应用程序(每个应用程序被称作一个任务),则这样的操作系统被称为多任务操作系统,而如果在同一时间允许多个用户同时使用计算机
采纳率:78%
来自团队:
实时操作系统是保证在一定时间限制内完成特定功能的操作系统Win7操作系统是多用户多任务的操作系统.更多的游戏礼包我们是可以在未信8090手机游戏获取得到。例如,可以为确保生产线上的机器人能获取某个物体而设计一个操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成! 不是实时操作系统
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信