若在windows的Eclipse工程中直接启动mapreduc程序,需要先把hadoop集群的配置目录下的xml都拷贝到src目录下,让程序自动读取集群的地址后去进行分布式运行(您也可以自己写java代码去设置job的configuration属性)。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的灵武网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
若不拷贝,工程中bin目录没有完整的xml配置文件,则windows执行的mapreduce程序全部通过本机的jvm执行,作业名也是带有“local"字眼的作业,如 job_local2062122004_0001。 这不是真正的分布式运行mapreduce程序。
估计得研究org.apache.hadoop.conf.Configuration的源码,反正xml配置文件会影响执行mapreduce使用的文件系统是本机的windows文件系统还是远程的hdfs系统; 还有影响执行mapreduce的mapper和reducer的是本机的jvm还是集群里面机器的jvm
二、 本文的结论
第一点就是: windows上执行mapreduce,必须打jar包到所有slave节点才能正确分布式运行mapreduce程序。(我有个需求是要windows上触发一个mapreduce分布式运行)
第二点就是: Linux上,只需拷贝jar文件到集群master上,执行命令hadoop jarPackage.jar MainClassName即可分布式运行mapreduce程序。
第三点就是: 推荐使用附一,实现了自动打jar包并上传,分布式执行的mapreduce程序。
附一、 推荐使用此方法:实现了自动打jar包并上传,分布式执行的mapreduce程序:
请先参考博文五篇:
Hadoop作业提交分析(一)~~(五)
引用博文的附件中EJob.java到你的工程中,然后main中添加如下方法和代码。
public static File createPack() throws IOException {
File jarFile = EJob.createTempJar("bin");
ClassLoader classLoader = EJob.getClassLoader();
Thread.currentThread().setContextClassLoader(classLoader);
return jarFile;
}
在作业启动代码中使用打包:
Job job = Job.getInstance(conf, "testAnaAction");
添加:
String jarPath = createPack().getPath();
job.setJar(jarPath);
即可实现直接run as java application 在windows跑分布式的mapreduce程序,不用手工上传jar文件。
附二、得出结论的测试过程
(未有空看书,只能通过愚笨的测试方法得出结论了)
一. 直接通过windows上Eclipse右击main程序的java文件,然后"run as application"或选择hadoop插件"run on hadoop"来触发执行MapReduce程序的测试。
1,如果不打jar包到进集群任意linux机器上,它报错如下:
[work] 2012-06-25 15:42:47,360 - org.apache.hadoop.mapreduce.Job -10244 [main] INFO org.apache.hadoop.mapreduce.Job - map 0% reduce 0%
[work] 2012-06-25 15:42:52,223 - org.apache.hadoop.mapreduce.Job -15107 [main] INFO org.apache.hadoop.mapreduce.Job - Task Id : attempt_1403517983686_0056_m_000000_0, Status : FAILED
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class bookCount.BookCount$BookCountMapper not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720)
at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:721)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:162)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
Caused by: java.lang.ClassNotFoundException: Class bookCount.BookCount$BookCountMapper not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1626)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1718)
... 8 more
# Error:后重复三次
2012-06-25 15:44:53,234 - org.apache.hadoop.mapreduce.Job -37813 [main] INFO org.apache.hadoop.mapreduce.Job - map 100% reduce 100%
现象就是:报错,无进度,无运行结果。
2,拷贝jar包到“只是”集群master的$HADOOP_HOME/share/hadoop/mapreduce/目录上,直接通过windows的eclipse "run as application"和通过hadoop插件"run on hadoop"来触发执行,它报错同上。
现象就是:报错,无进度,无运行结果。
3,拷贝jar包到集群某些slave的$HADOOP_HOME/share/hadoop/mapreduce/目录上,直接通过windows的eclipse "run as application"和通过hadoop插件"run on hadoop"来触发执行
和报错:
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class bookCount.BookCount$BookCountMapper not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720)
at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
和报错:
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class bookCount.BookCount$BookCountReducer not found
现象就是:有报错,但仍然有进度,有运行结果。
4,拷贝jar包到集群所有slave的$HADOOP_HOME/share/hadoop/mapreduce/目录上,直接通过windows的eclipse "run as application"和通过hadoop插件"run on hadoop"来触发执行:
现象就是:无报错,有进度,有运行结果。
第一点结论就是: windows上执行mapreduce,必须打jar包到所有slave节点才能正确分布式运行mapreduce程序。
二 在Linux上的通过以下命令触发MapReduce程序的测试。
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/bookCount.jar bookCount.BookCount
1,只拷贝到master,在master上执行。
现象就是:无报错,有进度,有运行结果。
2,拷贝随便一个slave节点,在slave上执行。
现象就是:无报错,有进度,有运行结果。
但某些节点上运行会报错如下,且运行结果。:
14/06/25 16:44:02 INFO mapreduce.JobSubmitter: Cleaning up the staging area /tmp/hadoop-yarn/staging/hduser/.staging/job_1403517983686_0071
Exception in thread "main" java.lang.NoSuchFieldError: DEFAULT_MAPREDUCE_APPLICATION_CLASSPATH
at org.apache.hadoop.mapreduce.v2.util.MRApps.setMRFrameworkClasspath(MRApps.java:157)
at org.apache.hadoop.mapreduce.v2.util.MRApps.setClasspath(MRApps.java:198)
at org.apache.hadoop.mapred.YARNRunner.createApplicationSubmissionContext(YARNRunner.java:443)
at org.apache.hadoop.mapred.YARNRunner.submitJob(YARNRunner.java:283)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:415)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1265)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286)
at com.etrans.anaSpeed.AnaActionMr.run(AnaActionMr.java:207)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at com.etrans.anaSpeed.AnaActionMr.main(AnaActionMr.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
第二点结论就是: Linux上,只需拷贝jar文件到集群master上,执行命令hadoop jarPackage.jar MainClassName即可分布式运行mapreduce程序。
1、需要注意DFS(分布式文件系统)根目录的放置。当用户访问WEB网页时,他们只知道要访问某个网站,而不知道网站后面可能还有其他服务器的存在。用户要访问的WEB服务器其实就是DFS根目录所在的主机。网络管理员要实现分布式文件系统,必须要先将网络中一台服务器内的共享文件夹设置为DFS根目录。这个DFS根目录主要用来存储分布式文件系统的映射关系。网络管理员要为该根目录取一个简约的名字,其他用户就可以通过这个名字访问这个分布式文件系统根目录下的文件。可见DFS根目录的安全性直接跟WEB服务器的安全相关。而且其也跟WEB应用服务的稳定性息息相关。因为如果这个目录出现了问题,映射关系遭受到破坏,则用户将无法正常访问文件资源。为了提高这个根目录的安全性,笔者建议是要把这个根目录部署在微软的NTFS文件系统上,并对此配置一定的安全措施。由于NTFS文件系统要比FAT32文件系统安全的多。无论是加密技术或者数据还原上,NTFS文件系统都有比较突出的表现。故笔者觉得,使用NTFS文件系统当作分布式文件系统的根目录,则其安全性与稳定性会更有保障一点。
2、部署多台主机服务器。如果DFS在微软的域环境中,则必须是域的成员才能够存储DFS根目录。换句话说,要成为DFS服务器,则必须加入到微软的域中。这台存储DFS根目录的服务器被称为主机服务器。域DFS可以通过创建另一个新的DFS根目录目标的方式,将DFS根目录复制到其他的服务器内。如上图中,DFS根目录的目标有两个,分别映射到两台服务器的共享文件夹。即DFS根目录中的内容被同时存储到这两台服务器种,以实现服务器负载均衡以及提供比较高的容错性能。从理论上来说,主机服务器越多,其容错性能越好,用户访问服务器的性能也越好。这些主机服务器的设置数据可以通过活动目录自动同步。为此当一台存储DFS根目录的主机服务器发生故障时,用户还是可以从其他的主机服务器读取到根目录内的设置数据。所以可以说主机服务器它具备了DFS映射关系的容错功能。简单的说,主机服务器之间的数据会自动发生同步,从而保证各台服务器之间数据的一致性。但是这就会发生一个问题。如果服务器比较多的时候,那么这个数据同步就可能会占用比较多的网络带宽。而且架立服务器也需要不少的投入。为此笔者觉得,主机服务器也并不是越多越好。网络管理员需要根据预计访问的用户、对于容错性的要求等等角度,去考虑主机服务器的数量。对于普通企业来说,这主机服务器2台到3台也就够了。多了也是种浪费。
3、要选择合适的分布式文件系统类型。Windows服务器(以2003服务器操作系统为例)其主要支持两种分布式文件系统类型。这两种类型分别为域DFS与独立的DFS。这两种分布式文件系统各有各的特点。网络管理员需要了解这两种分布式文件系统的特点,并根据企业自身的需求选择合适的实现方式。这里笔者要强调的是,无论是哪种分布式文件系统类型,他们都支持容错功能。无论是域DFS还是独立的DFS,一个DFS链接的目标可以同时映射到多台服务器的共享文件夹,这些共享文件夹中存储着相同的文件。当有一台服务器发生故障时,用户还是可以从其他的计算机获取文件。也就是说,无论哪种实现方式都可以提供DF链接容错功能。这也是这两种分布式文件系统类型的唯一共同之处。另外需要注意的是主机服务器之间文件的复制问题。在域DFS中,主机服务器之间的DS根目录复制,还有DFS链接的多个目标之间文件的复制,都可以通过文件复制服务来实现自动复制。但是如果是独立的DFS,则DFS链接的多个目标之间文件的复制,需要网络管理员手工操作。这个差异让独立DFS只限于在小规模范围内使用。除了这个差异外,独立DFS还不具有DFS映射关系的同步功能与DFS根目录的容错功能。故当采用独立的DFS系统类型时,网络管理员需要花费比较多的时间去实现这个数据同步功能。故笔者建议对于独立的分布式文件系统要慎用。另外是否采用独立DFS,还有出于兼容性的考虑。这方面的内容笔者会在下一点进行说明。
4、要注意早期操作系统对分布式文件系统的支持。一般来说只有安装了DFS客户端软件的客户端计算机,才可以访问DFS内的文件。另外也只有某些特定的计算机操作系统才具备存储DFS根目录的功能。通常情况下,Windows2000(包含2000操作系统)以及以后的系统默认情况下都已经安装了DFS客户端,故这些操作系统对DFS文件系统的支持是没有文件的。需要注意的是早期的操作系统对其的支持。如Windows95操作系统,虽然其可以支持DFS分布式文件系统,但是另外下载并安装DS客户端软件。而Windows98操作系统默认情况下已经安装了DFS客户端,可是这个客户端只能够支持独立的DFS分布式文件系统类型。如果要访问域DFS分布式文件类型,则必须对这个DFS客户端软件进行升级。所以如果企业网络中存在着比较老的计算机操作系统,那么是网络管理员部署分布式文件系统的一大障碍。
另外最后需要强调的一点就是安全问题。从上面的描述中大家可以看出,分布式文件系统是在各个服务器的共享文件夹上实现的。为了分布式文件系统的安全性,最好能够把共享文件夹设置在NTFS文件系统下,并利用NTFS文件系统的权限与共享权限来提高这些共享文件的安全。不能因为采用了DFS文件系统而给数据安全带来了负面影响。否则的话,DFS的容错性与服务器性能负载均衡也无从谈起。
当然不是。
计算机网络是分布式系统的物理基础,因为计算机之间的通信是经由通信链路的消息交换完成的。它和常规网络一样具有模块性、并行性、自治性和通信性等特点。
分布式系统和计算机网络的区别在于前者具有多机合作和健壮性。多机合作表现在自动的任务分配和协调,而健壮性表现在,当系统中有一个甚至几个计算机或通路发生故障时,其余部分可自动重构成为一个新的系统,该系统仍可以工作,甚至可以继续其失效部分的全部工作。当故障排除后,系统自动恢复到重构前的状态。这种自动恢复功能就体现了系统的健壮性。研制分布式系统的根本出发点和目的就是因为它具有多机合作和健壮性。正是由于多机合作,系统才具有响应时间短、吞吐量大、以及可用性好和可靠性高等特点。
分布式操作系统强调相互的合作,而win7任何一个任务它自己就可以完成。另外一点简单来说就是,分布式操作系统可以管理多个CPU,而WIN7只能有一个CPU
Windows系统
首先我们来看一下Windows.
Windows系统是目前最流行的PC操作系统,占有80%以上的桌面OS市场份额。
从Windows 1.0 到现在的Windows 10。
Windows经历了非常大的发展。
Windows的目标是个人的计算机操作系统,同时是基于X86/AMD64的CPU体系架构的操作系统。
优点
软件丰富
对游戏与显卡的支持比较好
生态成熟,易用性好
界面定制性强,是UI做的最好的OS
对普通的用户友好
对显卡的性能能充分的利用
C,D,E盘的概念更加易于普通用户理解与数据隔离
缺点
软件兼容性差,很多文档的格式是二进制的,所以软件升级后会导致识别。兼容性很差
不开源,安全性较差
病毒最多,木马最多
在移动端的支持较差
存在象360, QQ这样的私有软件可能窃 听个人的隐私
架构差,从第一代Windows到现在,OS内核发生了巨大的变化,API换了好几批
总结
Windows系统的使用门槛相对较低,UI界面漂亮,更加适合于普通的用户使用。
给Windows7窗口切换动画加上慢动作
非常惊艳的一个特效,把你的Windows 7动画给放慢动作,犹如照片轮放一样,Aero的玻璃特效,展现的.淋漓尽致。实现方法是修改注册表键值,然后可以使用Shift 键减缓窗口动画(如最小化、最大化和关闭等).
实现步骤如下:
1、单击开始按钮,在搜索里面输入regedit,回车
2、或者,直接Win键+R键打开运行窗口,输入regedit 回车确定
3、打开注册表编辑器后,找到HKEY_CURRENT_USER\Software\microsoft\Windows\DWM
4、在右侧面板中,右击空白区域,在菜单中选择"新建 DWord (32位-值) "
5、键名称设为"AnimationsShiftKey"
6、双击"AnimationsShiftKey"将其值设为1
7、关闭注册表编辑器
8、注销Windows 7,重新登陆(重新启动Windows 7也可以)
当然,做这一切的前提是你必须在使用Windows Aero,否则谈不上什么效果了。修改后,在CTRL+WinKey+Tab以及按住Shift时看Windows Flip3D很酷,快试试看吧!
Win7系统 必须开启的十大服务
1.杀毒软件服务
2.DNS Client
解释:DNS 客户端服务(dnscache)缓存域名系统(DNS)名称并注册该计算机的完整计算机名称。如果该服务被停止,将继续解 析 DNS 名称。然而,将不缓存 DNS 名称的查询结果,且不注册计算机名称。如果你停止了此服务,你的电脑将不能解释DNS信息,不能用域名登录网站。
3.Network Connections
解释:管理“网络和拨号连接文件夹中对象,在其中您可以查看局域网和远程连接。
如果你停止了此服务,不能配置网路,不能创建网络链接,不能上网了。
4. Plug and Play
解释:使计算机在极少或没有用户输入的情况下能识别并适应硬件的更改。终止或禁用此服务会造成系统不稳定。
5. Print Spooler
解释:将文件加载到 内存 供稍后打印.没有了它你别想珍藏别人的卡片,这个是打印服务。
6. Remote Procedure Call (RPC)
解释:RPCSS 服务是 COM 和 DCOM 服务器的服务控制管理器。它执行 COM 和 DCOM 服务器的对象激活请求、对象导出程序 解析和分布式垃圾收集。如果此服务被停用或禁用,则使用 COM 或 DCOM 的程序将无法正常工作。强烈建议您让 RPCSS 服务运行。这个很紧要 (也就是十分重要的意思),禁止他,你的系统启动不了。
7. Workstation
解释:使用 SMB 协议创建并维护客户端网络与远程服务器之间的连接。如果此服务已停止,这些连接将无法使用。如果此服务已禁用,任何明确依赖它的服务将无法启动。顾名思义,禁止它,你的电脑将在内网消失,更不要想用medie玩微软的网路资源。
8. Network Location Awareness (NLA)
解释:收集和存储网络的配置信息,并在此信息被修改时向程序发出通知。如果停止此服务,则配置信息可能不可用;如果禁用此服务,则显式依赖此服务的所有服务都将无法启动。
这个是无线网络链接,但禁止它会问题多多。
9. DHCP Client
解释:为此计算机注册并更新 IP 地址。如果此服务停止,计算机将不能接收动态 IP 地址和 DNS 更新。如果此服务被禁用,所有明确依赖它的服务都将不能启动。
禁止DHCP服务,你只有手动设置IP。
10. Cryptographic Services
解释:提供四种管理服务: 目录数据库服务,用于确认 Windows 文件的签名和允许安装新程序;受保护的根服务,用于从该计算机中添加与删 除受信任根证书颁发机构的证书;自动根证书更新服务,用于从 Windows Update 中检索根证书和启用 SSL 等方案;密钥服务,用于协助注 册此计算机以获取证书。如果此服务已停止,这些管理服务将无法正常运行。如果此服务已禁用,任何明确依赖它的服务将无法启动。
禁止这个加密服务会导致计算机安全指数下降,不能自动更新,不能使用ssl。
目前操作系统种类繁多,很难用单一标准统一分类。
根据操作系统的使用环境和对作业处理方式来考虑,可分为批处理系统(MVX、DOS/VSE)、分时系统(WINDOWS、UNIX、XENIX、Mac OS)、实时系统(iEMX、VRTX、RTOS,RT Linux);
根据所支持的用户数目,可分为单用户(MSDOS、 OS/2)、多用户系统(UNIX、MVS、Windows);
根据硬件结构,可分为网络操作系统(Netware、Windows NT、 OS/2 warp)、分布式系统(Amoeba)、多媒体系统(Amiga)等。
操作系统的五大类型是:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。
CP/M
CP/M其实就是第一个微机操作系统,享有指挥主机、内存、磁鼓、磁带、磁盘、打印机等硬设备的特权。通过控制总线上的程序和数据,操作系统有条不紊地执行着人们的指令……
主设计人:Gary Kildall博士
出现年月:1974年 详细内容
MS-DOS
DOS系统是1981年由微软公司为IBM个人电脑开发的,即MS-DOS。它是一个单用户单任务的操作系统。在1985年到1995年间DOS占据操作系统的统治地位。
主设计人:Tim Paterson
出现年月:1981年
特点
文件管理方便外设支持良好
小巧灵活
应用程序众多
Windows
Windows是一个为个人电脑和服务器用户设计的操作系统。它的第一个版本由微软公司发行于1985年,并最终获得了世界个人电脑操作系统软件的垄断地位。所有最近的Windows都是完全独立的操作系统。
主设计:微软
出现年月:1985年
特点
界面图形化
多用户、多任务
网络支持良好
出色的多媒体功能
硬件支持良好
众多的应用程序
Unix
Unix是一种分时计算机操作系统,1969在ATTBell实验室诞生。从此以后其优越性不可阻挡的占领网络。大部分重要网络环节都是Unix构造。
主设计:ATTBell实验室
出现年月:1969年
特点
网络和系统管理
高安全性
通信
可连接性
Internet
数据安全性
可管理性
系统管理器
Ignite/UX
进程资源管理器
Linux
简单的说,Linux是Unix克隆的操作系统,在源代码上兼容绝大部分Unix标准,是一个支持多用户、多进程、多线程、实时性较好的且稳定的操作系统。
主设计人:Linus Torvalds
出现年月:1991年
特
点 完全免费
完全兼容POSIX 1.0标准
多用户、多任务
良好的界面
丰富的网络功能
可靠的安全、稳定性能
多进程、多线程、实时性好
支持多种平台
FreeBSD
FreeBSD是由许多人参与开发和维护的一种先进的BSD UNIX操作系统。突出的特点FreeBSD提供先进的联网、负载能力,卓越的安全和兼容性。
主设计:加州伯克利学校
出现年月:1993年
特
点 多任务功能
多用户系统
强大的网络功能
Unix兼容性强
高效的虚拟存储器管理
方便的开发功能
Mac OS
Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面。现行的最新的系统版本是Mac OS X 10.3.x版。
主设计人:比尔·阿特金森、杰夫·拉斯金和安迪·赫茨菲尔德
出现年月:1984年
特
点 多平台兼容模式
为安全和服务做准备
占用更少的内存
多种开发工具
Palm OS
Palm OS是一种32位的嵌入式操作系统,用于掌上电脑。Palm OS与同步软件HotSync结合可以使掌上电脑与PC机上的信息实现同步,把台式机的功能扩展到了手掌上。
主设计:3Com公司的Palm Computing部
出现年月:1996年
特
点 小巧
功能丰富
多功能
集成化
Windows操作系统的主要特点有:界面图形化、多用户、多任务、网络支持良好、出色的多媒体功能、硬件支持良好、众多的应用程序等。
1、界面图形化,Windows用户界面和开发环境都是面向对象的。用户采用“选择对象-操作对象”这种方式进行工作。比如要打开一个文档,我们首先用鼠标或键盘选择该文档,然后从右键菜单中选择“打开”操作,打开该文档。这种操作方式模拟了现实世界的行为,易于理解、学习和使用。
2、多任务,Windows是一个多任务的操作环境,它允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。每个程序在屏幕上占据一块矩形区域,这个区域称为窗口,窗口是可以重叠的。用户可以移动这些窗口,或在不同的应用程序之间进行切换,并可以在程序之间进行手工和自动的数据交换和通信。虽然同一时刻计算机可以运行多个应用程序,但仅有一个是处于活动状态的,其标题栏呈现高亮颜色。一个活动的程序是指当前能够接收用户键盘输入的程序。
3、设备无关性。设备无关性使你在购买新设备时,不必考虑某个特定的应用软件是否支持该设备,只要Windows支持就够了。
4、出色的多媒体功能,在Windows中你可以完成DOS操作系统所有命令的功能,而且更加容易和方便。此外,使用WindOws还可以完成许多DOS操作系统实现不了的功能。
5、突破DOS64KB内存限制,Windows实现了对内存的自动化管理,使得大程序也能够自如地运行。