第一篇:20秒进入Windows XP操作系统
一、影响启动速度的硬件因素
笔者通过实践,发现影响电脑启动速度的主要配件是主板和硬盘,而与CPU关系不大。也就是说在其他条件相同的情况下,价格昂贵的奔腾4电脑与廉价的赛扬4的启动速度是一样的。
主板是各种电脑配件的“基地”,在开机时要做的工作很多,比如自检、搜索各种端口、各种外接设备。因此减少自检时间、减少外接设备、提高效率才能提高启动速度。如果电脑连接了扫描仪、USB硬盘等外设,就可能降低系统的启动速度。建议大家在需要用到这些外设时才连接上,USB设备可以在启动后连接。
网卡若设置不当,会明显减缓系统启动速度。如果你的电脑用不着网卡,那就直接将PCI网卡拔掉,集成网卡可以通过BIOS屏蔽掉,以免影响启动速度。很多主板对集成网卡的检测远快于独立网卡,这也是一些电脑启动后“假死”,过了一分多钟才能正常上网的原因之一。
决定主板性能的主要因素是主板芯片组,决定启动速度的主要因素是主板芯片组的磁盘性能及驱动程序性能。目前主板芯片组的主要品牌有Intel、SiS、VIA、ATi、nVIDIA五个厂商,磁盘性能最好的是Intel与SiS。Intel是IT巨头,IT界无人不晓,它占据了主板芯片组60%以上的市场份额。而SiS知名度较低,主板芯片组的市场份额不足10%,这可能与宣传不够有关,然而在AMD平台,它的磁盘性能却是最好的,价格也是最便宜的。
为了减少开机自检时间,某些主板厂商会做一些特殊设计,最大能使BIOS自检时间缩短至5秒。我们可以按自己的需要选择不同的主板厂商,而不是一味地听从经销商的推荐。
除了开机自检外,电脑启动的时间主要用在从硬盘读取系统文件。硬盘的工作是通过移动磁头读写高速旋转的盘片上的数据。那么盘片转速越高,单位时间内磁头读到的数据就会越多,对系统启动非常有利。另外,寻道时间快、缓存大的硬盘也能明显提升启动时间。资金充裕的购机者或DIY们可以考虑西数的“猛禽”系列硬盘,资金紧张或普通用户可选择经常获性能奖的日立大缓存硬盘。
电脑是“软硬兼施”的高科技产品,配件设置与系统优化也是启动提速不可缺少的武器。
二、配件的设置与优化
1.主板的BIOS优化设置
关闭多余的IDE通道、USB设备等硬件,可用“None”屏蔽掉。用“IDE HDD AUTO DETECTION”自动检测硬盘。不进行内存检测,把各项cache打开,进入“Advanced CMOS Setup”,将“Quick Boot”设为“Enable”,可不检测1MB以上的内存。
“IDE 0 Master/Slave PIO/DMA Mode,IDE 1 Master/Slave PIO/DMA Mode”硬盘顺序(模式)全部设为“Auto”。
进入“Advanced BIOS Features”选项,将光标移到“First Boot Device”选项,选“HDD-0”直接从硬盘启动,这样启动就快上好几秒。将光标移到“Quick Power On Self Test”(快速开机自检)设为“Enabled”。对于“Boot UP Floppy Seek”(开机自检软驱)设为“Disabled”。对于内存品质好的内存条建议在“SDRAM CAS Latency”选项中设置为“2”。
小提示:对于一项效果相同的设置,在不同的主板BIOS中其英文名称可能不一样。
2。网卡设置
在进入操作系统时,系统会进行网卡IP地址的搜索。如果网卡的IP地址设置为自动获取,则系统会在网络中搜索DHCP服务器以获得IP地址,无形中就会延长启动时间。若不是必要的情况,最好将网卡的IP地址进行指定(尤其是局域网中的客户。
3.开启硬盘的DMA传输方式
在桌面右击“我的电脑→属性→硬件→设备管理器→IDE ATA/ATAPI控制器→找到硬盘所在的IDE通道→属性→高级设置”,打开硬盘DMA的传送方式以加快数据读写速度。Win98与WinME的设置基本相同,只需在DMA选项前打钩。
4.给BIOS ROM瘦身
主板BIOS ROM中有一些文件是我们用不上的,可以用CBROM、AwardFlash等BIOS编辑工具去除。注意:这是有一定危险的操作,菜鸟还是不动为好。
三、Windows系统优化
1.去除多余的自启动程序
这是见效很明显的方法。点击“开始”→“运行”,在出现的对话框中输入“msconfig”,然后点击“确定”,就会调出“系统配置实用程序”(只限于Win98和WinXP系统,Win2000用户需要拷贝MSCONFIG.EXE到系统文件夹下使用或使用后文讲述的注册表编辑方法)。
点击其中的“启动”标签,将不需要自动启动的程序前面的“√”去掉就可以了。一般只需留下ctfmon(输入法图标)、systemtray(音量图标)以及杀毒程序。笔者的电脑只留下“ctfmon”这一项,如此可将启动时间缩短10秒左右。
2.优化组件的系统属性(Win98/WinME)
右击“我的电脑”,选择“属性→性能→文件系统”,选择“软盘”,去掉“每次启动电脑时搜索新的软盘驱动器”;选择“硬盘”,将“主要用途”改为“网络服务器”,“预读式优化”调至全速;选择“CD-ROM”,缓存调至最大,选“四倍或更高速”。
3.修改IDE通道控制(WinXP)
右击我的电脑→属性→硬件→设备管理器→展开“IDE ATA/ATAP控制器”,双击“次要IDE通道”选项,在弹出的对话框中选择“高级设置”选项卡,在“设备0”与“设备1”中的“设备类型”中,将原来的“自动检测”改为“无”(图6),“确定”后退出。“主要IDE通道”的修改方法也相同。重启后,滚动条滚动的时间会明显减少。
4.使用BootVis软件提升启动速度
BootVis(下载地址:)是微软公司专为WinXP开发的启动加速软件,使用比较安全,能明显提高启动速度。因篇幅关系,这里就不介绍具体使用方法了,有兴趣的朋友可查看其帮助文件。
5.去除华丽臃肿的外观
去掉“墙纸”、“屏幕保护”,删除多余的桌面图标。如果是WinXP,还可右击“我的电脑”,选择“属性→高级”,在“性能”项目单击“设置”,选中“调整为最佳性能”。
主流配置的电脑在经过以上设置与优化后,一般情况下WinXP的开机启动时间就可以控制在20秒左右了。
第二篇:快马加鞭20秒进入winXP操作系统
快马加鞭20秒进入winXP操作系统(1)
电脑中CPU的处理速度在摩尔定律这根魔棒的指挥下突飞猛进,然而我们发现电脑的启动速度却未有进步,从按开机按钮到WinXP任务栏右边的图标全部显示出来,一般要40秒以上。这与电视机一按开关就能听到声音、看到图像相比,真是相形见绌。
一、影响启动速度的硬件因素
笔者通过实践,发现影响电脑启动速度的主要配件是主板和硬盘,而与CPU关系不大。也就是说在其他条件相同的情况下,价格昂贵的奔腾4电脑与廉价的赛扬4的启动速度是一样的。
主板是各种电脑配件的“基地”,在开机时要做的工作很多,比如自检、搜索各种端口、各种外接设备。因此减少自检时间、减少外接设备、提高效率才能提高启动速度。如果电脑连接了扫描仪、USB硬盘等外设,就可能降低系统的启动速度。建议大家在需要用到这些外设时才连接上,USB设备可以在启动后连接。
网卡若设置不当,会明显减缓系统启动速度。如果你的电脑用不着网卡,那就直接将PCI网卡拔掉,集成网卡可以通过BIOS屏蔽掉,以免影响启动速度。很多主板对集成网卡的检测远快于独立网卡,这也是一些电脑启动后“假死”,过了一分多钟才能正常上网的原因之一。
决定主板性能的主要因素是主板芯片组,决定启动速度的主要因素是主板芯片组的磁盘性能及驱动程序性能。目前主板芯片组的主要品牌有Intel、SiS、VIA、ATi、nVIDIA五个厂商,磁盘性能最好的是Intel与SiS。Intel是IT巨头,IT界无人不晓,它占据了主板芯片组60%以上的市场份额。而SiS知名度较低,主板芯片组的市场份额不足10%,这可能与宣传不够有关,然而在AMD平台,它的磁盘性能却是最好的,价格也是最便宜的。
为了减少开机自检时间,某些主板厂商会做一些特殊设计,最大能使BIOS自检时间缩短至5秒。我们可以按自己的需要选择不同的主板厂商,而不是一味地听从经销商的推荐。
除了开机自检外,电脑启动的时间主要用在从硬盘读取系统文件。硬盘的工作是通过移动磁头读写高速旋转的盘片上的数据(图1)。那么盘片转速越高,单位时间内磁头读到的数据就会越多,对系统启动非常有利。另外,寻道时间快、缓存大的硬盘也能明显提升启动时间。资金充裕的购机者或DIY们可以考虑西数的“猛禽”系列硬盘,资金紧张或普通用户可选择经常获性能奖的日立大缓存硬盘。
二、配件的设置与优化
1.主板的BIOS优化设置
关闭多余的IDE通道、USB设备等硬件,可用“None”屏蔽掉。用“IDEHDDAUTODETECTION”自动检测硬盘。不进行内存检测,把各项cache打开,进入“AdvancedCMOSSetup”,将“QuickBoot”设为“Enable”,可不检测1MB以上的内存。
“IDE0Master/SlavePIO/DMAMode,IDE1Master/SlavePIO/DMAMode”硬盘顺序(模式)全部设为“Auto”。
进入“AdvancedBIOSFeatures”选项,将光标移到“FirstBootDevice”选项,选“HDD-0”直接从硬盘启动,这样启动就快上好几秒。将光标移到“QuickPowerOnSelfTest”(快速开机自检)设为“Enabled”。对于“BootUPFloppySeek”(开机自检软驱)设为“Disabled”。对于内存品质好的内存条建议在“SDRAMCASLatency”选项中设置为“2”。
小提示:对于一项效果相同的设置,在不同的主板BIOS中其英文名称可能不一样。
2.网卡设置
在进入操作系统时,系统会进行网卡IP地址的搜索。如果网卡的IP地址设置为自动获取,则系统会在网络中搜索DHCP服务器以获得IP地址,无形中就会延长启动时间。若不是必要的情况,最好将网卡的IP地址进行指定(尤其是局域网中的客户机,图2)。
3.开启硬盘的DMA传输方式
在桌面右击“我的电脑→属性→硬件→设备管理器→IDEATA/ATAPI控制器→找到硬盘所在的IDE通道→属性→高级设置”,打开硬盘DMA的传送方式以加快数据读写速度(图3)。Win98与WinME的设置基本相同,只需在DMA选项前打钩。
4.给BIOSROM瘦身
主板BIOSROM中有一些文件是我们用不上的,可以用CBROM、AwardFlash等BIOS编辑工具去除。注意:这是有一定危险的操作,菜鸟还是不动为好。
三、Windows系统优化
1.去除多余的自启动程序
这是见效很明显的方法。点击“开始”→“运行”,在出现的对话框中输入“msconfig”,然后点击“确定”,就会调出“系统配置实用程序”(只限于Win98和WinXP系统,Win2000用户需要拷贝MSCONFIG.EXE到系统文件夹下使用或使用后文讲述的注册表编辑方法)。
点击其中的“启动”标签,将不需要自动启动的程序前面的“√”去掉就可以了。一般只需留下ctfmon(输入法图标)、systemtray(音量图标)以及杀毒程序。电脑网络学院(http://www.teniu.cc)提醒大家笔者的电脑只留下“ctfmon”这一项(图4),如此可将启动时间缩短10秒左右。
2.优化组件的系统属性(Win98/WinME)
右击“我的电脑”,选择“属性→性能→文件系统”,选择“软盘”,去掉“每次启动电脑时搜索新的软盘驱动器”;选择“硬盘”,将“主要用途”改为“网络服务器”,“预读式优化”调至全速(图5);选择“CD-ROM”,缓存调至最大,选“四倍或更高速”。
3.修改IDE通道控制(WinXP)
右击我的电脑→属性→硬件→设备管理器→展开“IDEATA/ATAP控制器”,双击“次要IDE通道”选项,在弹出的对话框中选择“高级设置”选项卡,在“设备0”与“设备1”中的“设备类型”中,将原来的“自动检测”改为“无”(图6),“确定”后退出。“主要IDE通道”的修改方法也相同。重启后,滚动条滚动的时间会明显减少。
4.使用BootVis软件提升启动速度
BootVis是微软公司专为WinXP开发的启动加速软件,使用比较安全,能明显提高启动速度。因篇幅关系,这里就不介绍具体使用方法了,有兴趣的朋友可查看其帮助文件。
5.去除华丽臃肿的外观
去掉“墙纸”、“屏幕保护”,删除多余的桌面图标。如果是WinXP,还可右击“我的电脑”,选择“属性→高级”,在“性能”项目单击“设置”,选中“调整为最佳性能”(图7)。
主流配置的电脑在经过以上设置与优化后,一般情况下WindowsXP的开机启动时间就可以控制在20秒左右了。
第三篇:20秒进入Windows XP操作系统
鞭 20秒进入Windows XP操作系统
电脑中CPU的处理速度在摩尔定律这根魔棒的指挥下突飞猛进,然而我们发现电脑的启动速度却未有进步,从按开机按钮到WinXP任务栏右边的图标全部显示出来,一般要40秒以上。这与电视机一按开关就能听到声音、看到图像相比,真是相形见绌。
一、影响启动速度的硬件因素
笔者通过实践,发现影响电脑启动速度的主要配件是主板和硬盘,而与CPU关系不大。也就是说在其他条件相同的情况下,价格昂贵的奔腾4电脑与廉价的赛扬4的启动速度是一样的。
主板是各种电脑配件的“基地”,在开机时要做的工作很多,比如自检、搜索各种端口、各种外接设备。因此减少自检时间、减少外接设备、提高效率才能提高启动速度。如果电脑连接了扫描仪、USB硬盘等外设,就可能降低系统的启动速度。建议大家在需要用到这些外设时才连接上,USB设备可以在启动后连接。
网卡若设置不当,会明显减缓系统启动速度。如果你的电脑用不着网卡,那就直接将PCI网卡拔掉,集成网卡可以通过BIOS屏蔽掉,以免影响启动速度。很多主板对集成网卡的检测远快于独立网卡,这也是一些电脑启动后“假死”,过了一分多钟才能正常上网的原因之一。
决定主板性能的主要因素是主板芯片组,决定启动速度的主要因素是主板芯片组的磁盘性能及驱动程序性能。目前主板芯片组的主要品牌有Intel、SiS、VIA、ATi、nVIDIA五个厂商,磁盘性能最好的是Intel与SiS。Intel是IT巨头,IT界无人不晓,它占据了主板芯片组60%以上的市场份额。而SiS知名度较低,主板芯片组的市场份额不足10%,这可能与宣传不够有关,然而在AMD平台,它的磁盘性能却是最好的,价格也是最便宜的。
为了减少开机自检时间,某些主板厂商会做一些特殊设计,最大能使BIOS自检时间缩短至5秒。我们可以按自己的需要选择不同的主板厂商,而不是一味地听从经销商的推荐。
除了开机自检外,电脑启动的时间主要用在从硬盘读取系统文件。硬盘的工作是通过移动磁头读写高速旋转的盘片上的数据(图1)。那么盘片转速越高,单位时间内磁头读到的数据就会越多,对系统启动非常有利。另外,寻道时间快、缓存大的硬盘也能明显提升启动时间。资金充裕的购机者或DIY们可以考虑西数的“猛禽”系列硬盘,资金紧张或普通用户可选择经常获性能奖的日立大缓存硬盘。
硬盘
电脑是“软硬兼施”的高科技产品,配件设置与系统优化也是启动提速不可缺少的武器。
二、配件的设置与优化
1.主板的BIOS优化设置
关闭多余的IDE通道、USB设备等硬件,可用“None”屏蔽掉。用“IDE HDD AUTO DETECTION”自动检测硬盘。不进行内存检测,把各项cache打开,进入“Advanced CMOS Setup”,将“Quick Boot”设为“Enable”,可不检测1MB以上的内存。
“IDE 0 Master/Slave PIO/DMA Mode,IDE 1 Master/Slave PIO/DMA Mode”硬盘顺序(模式)全部设为“Auto”。
进入“Advanced BIOS Features”选项,将光标移到“First Boot Device”选项,选“HDD-0”直接从硬盘启动,这样启动就快上好几秒。将光标移到“Quick Power On Self Test”(快速开机自检)设为“Enabled”。对于“Boot UP Floppy Seek”(开机自检软驱)设为“Disabled”。对于内存品质好的内存条建议在“SDRAM CAS Latency”选项中设置为“2”。
小提示:对于一项效果相同的设置,在不同的主板BIOS中其英文名称可能不一样。
2。网卡设置
在进入操作系统时,系统会进行网卡IP地址的搜索。如果网卡的IP地址设置为自动获取,则系统会在网络中搜索DHCP服务器以获得IP地址,无形中就会延长启动时间。若不是必要的情况,最好将网卡的IP地址进行指定(尤其是局域网中的客户机,图2)。
协议
3.开启硬盘的DMA传输方式
在桌面右击“我的电脑→属性→硬件→设备管理器→IDE ATA/ATAPI控制器→找到硬盘所在的IDE通道→属性→高级设置”,打开硬盘DMA的传送方式以加快数据读写速度(图3)。Win98与WinME的设置基本相同,只需在DMA选项前打钩。
通道
4.给BIOS ROM瘦身
主板BIOS ROM中有一些文件是我们用不上的,可以用CBROM、AwardFlash等BIOS编辑工具去除。注意:这是有一定危险的操作,菜鸟还是不动为好。
三、Windows系统优化
1.去除多余的自启动程序
这是见效很明显的方法。点击“开始”→“运行”,在出现的对话框中输入“msconfig”,然后点击“确定”,就会调出“系统配置实用程序”(只限于Win98和WinXP系统,Win2000用户需要拷贝MSCONFIG.EXE到系统文件夹下使用或使用后文讲述的注册表编辑方法)。
点击其中的“启动”标签,将不需要自动启动的程序前面的“√”去掉就可以了。一般只需留下ctfmon(输入法图标)、systemtray(音量图标)以及杀毒程序。笔者的电脑只留下“ctfmon”这一项,如此可将启动时间缩短10秒左右。
自启动程序
2.优化组件的系统属性(Win98/WinME)
右击“我的电脑”,选择“属性→性能→文件系统”,选择“软盘”,去掉“每次启动电脑时搜索新的软盘驱动器”;选择“硬盘”,将“主要用途”改为“网络服务器”,“预读式优化”调至全速;选择“CD-ROM”,缓存调至最大,选“四倍或更高速”。
文件系统
3.修改IDE通道控制(WinXP)
右击我的电脑→属性→硬件→设备管理器→展开“IDE ATA/ATAP控制器”,双击“次要IDE通道”选项,在弹出的对话框中选择“高级设置”选项卡,在“设备0”与“设备1”中的“设备类型”中,将原来的“自动检测”改为“无”,“确定”后退出。“主要IDE通道”的修改方法也相同。重启后,滚动条滚动的时间会明显减少。
修改IDE通道控制
4.使用BootVis软件提升启动速度
BootVis(下载地址:)是微软公司专为WinXP开发的启动加速软件,使用比较安全,能明显提高启动速度。因篇幅关系,这里就不介绍具体使用方法了,有兴趣的朋友可查看其帮助文件。
5.去除华丽臃肿的外观
去掉“墙纸”、“屏幕保护”,删除多余的桌面图标。如果是WinXP,还可右击“我的电脑”,选择“属性→高级”,在“性能”项目单击“设置”,选中“调整为最佳性能”。
性能选项
主流配置的电脑在经过以上设置与优化后,一般情况下WinXP的开机启动时间就可以控制在20秒左右了。
第四篇:操作系统比较
常见操作系统比较一、三种操作系统简介
(一)Windows操作系统简介
Windows是Microsoft公司在1985年11月发布的第一代窗口式多任务系统,它使PC机开始进入了所谓的图形用户界面时代。在图形用户界面中,每一种应用软件(即由Windows支持的软件)都用一个图标(Icon)表示,用户只需把鼠标移到某图标上,连续两次按下鼠标器的拾取键即可进入该软件,这种界面方式为用户提供了很大的方便,把计算机的使用提高到了一个新的阶段。
Windows1.X版是一个具有多窗口及多任务功能的版本,但由于当时的硬件平台为PC/XT,速度很慢,所以Windows1.X版本并未十分流行。1987年底Microsoft公司又推出了MS-Windows2.X 版,它具有窗口重叠功能,窗口大小也可以调整,并可把扩展内存和扩充内存作为磁盘高速缓存,从而提高了整台计算机的性能,此外它还提供了众多的应用程序:文本编辑Write、记事本Notepad、计算器Calculator、日历Calendar……等。随后在88年、89年又先后推出了MS-Windows/286-V2.1和MS-Windows/386 V2.1这两个版本。1990年,Microsoft公司推出了Windows3.0,它的功能进一步加强,具有强大的内存管理,且提供了数量相当多的Windows应用软件,因此成为386、486微机新的操作系统标准。随后,Windows发表3.1版,而且推出了相应的中文版。3.1版较之3.0版增加了一些新的功能,受到了用户欢迎,是当时最流行的Windows版本。
1995年,Microsoft公司推出了Windows95。在此之前的Windows都是由DOS引导的,也就是说它们还不是一个完全独立的系统,而Windows95是一个完全独立的系统,并在很多方面作了进一步的改进,还集成了网络功能和即插即用(Plug and Play)功能,是一个全新的32位操作系统。
1998年,Microsoft公司推出了Windows95的改进版Windows98,Windows98的一个最大特点就是把微软的Internet浏览器技术整合到了Windows里面,使得访问Internet资源就像访问本地硬盘一样方便,从而更好地满足了人们越来越多的访问Internet资源的需要。Windows98是目前实际使用的主流操作系统。
在90年代初期Microsoft推出了Windows NT(NT是New Technology即新技术的缩写)来争夺Novell Netware的网络操作系统市场。相继有Windows NT 3.0,3.5,4.0等版本上市,逐渐蚕食了中小网络操作系统的大半江山。WindowsNT是真正的32位操作系统,与普通的Windows系统不同,它主要面向商业用户,有服务器版和工作站版之分。2000年,Microsoft公司推出了Windows 2000,它包括四个版本:Data center Server是功能最强大的服务器版本,只随服务器捆绑销售,不零售;Advanced Server和Server版是一般服务器使用;Professional版是工作站版本的NT和Windows98共同的升级版本。目前还有一个主要面向家庭和个人娱乐,侧重于多媒体和网络的Windows Me存在。
2001年10月25日,Microsoft发布了功能及其强大的Windows XP,该系统采用Windows 2000/NT内核,运行非常可靠、稳定,用户界面焕然一新,使用起来得心应手,这次微软终于可以和苹果的Macintosh软件一争高下了,优化了与多媒体应用有关的功能,内建了极其严格的安全机制,每个用户都可以拥有高度保密的个人特别区域,尤其是增加了具有防盗版作用的激活功能。
(二)Unix操作系统简介
Unix系统是1969年在贝尔实验室诞生,最初是在中小型计算机上运用。最早移植到80286微机上的Unix系统,称为Xenix。Xenix系统的特点是短小精干,系统开销小,运行速度快。
UNIX为用户提供了一个分时的系统以控制计算机的活动和资源,并且提供一个交互,灵活的操作界。UNIX被设计成为能够同时运行多进程,支持用户之间共享数据。同时,UNIX支持模块化结构,当你安装UNIX操作系统时,你只需要安装你工作需要的部分,例如:UNIX支持许多编程开发工具,但是如果你并不从事开发工作,你只需要安装最少的编译器。用户界面同样支持模块化原则,互不相关的命令能够通过管道相连接用于执行非常复杂的操作。UNIX 有很多种,许多公司都有自己的版本,如 AT&T、Sun、HP等。最初的Unix是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。B语言在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并与1971年共同发明了C语言。
1973年汤普逊和里奇用C语言重写了Unix。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以汤普逊和里奇此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。
(三)linux操作系统简介
简单地说,Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基于 Intel x86系列 CPU的计算机上。这个系统是由世界各地的成千上万的程序员 设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix兼容产品。Linux的出现,最早开始于一位名叫 Linus Torvalds 的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替 Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于 386、486或奔腾处理器的个人计算机上,并且具有 Unix操作系统的全部功能,因而开始了 Linux雏形的设计。Linux以它的高效性和灵活性著称。它能够在 PC计算机上实现全部的 Unix特性,具有多任务、多用户的能力。Linux是在 GNU公共许可权限下免费获得的,是一个符合 POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的 Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的 X-Windows图形用户界面,如同我们使用 Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。Linux是当今电脑界一个耀眼的名字,它是目前全球最大的一个自由免费软件,其本身是一个功能可与Unix和Windows相媲美的操作系统,具有完备的网络功能,它的用法与UNIX非常相似,因此许多用户不再购买昂贵的UNIX,转而投入Linux等免费系统的怀抱。
二、各操作系统特点
(一)Windows操作系统特点
从某种意义上说,Windows用户界面和开发环境都是面向对象的。用户采用“选择对象-操作对象”这种方式进行工作。比如要打开一个文档,我们首先用鼠标或键盘选择该文档,然后从右键菜单中选择“打开”操作,打开该文档。这种操作方式模拟了现实世界的行为,易于理解、学习和使用。
1.用户界面统一、友好、漂亮:
Windows应用程序大多符合IBM公司提出的CUA(Common User Acess)标准,所有的程序拥有相同的或相似的基本外观,包括窗口、菜单、工具条等。用户只要掌握其中一个,就不难学会其他软件,从而降低了用户培训学习的费用。
2.丰富的设备无关的图形操作:
Windows的图形设备接口(GDI)提供了丰富的图形操作函数,可以绘制出诸如线、圆、框等的几何图形,并支持各种输出设备。设备无关意味着在针式打印机上和高分辨率的显示器上都能显示出相同效果的图形。
3.多任务:
Windows是一个多任务的操作环境,它允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。每个程序在屏幕上占据一块矩形区域,这个区域称为窗口,窗口是可以重叠的。用户可以移动这些窗口,或在不同的应用程序之间进行切换,并可以在程序之间进行手工和自动的数据交换和通信。
(二)Unix操作系统特点
早期UNIX的主要特色是结构简炼、便于移植和功能相对强大,经过30来年的发展和进化,形成了一些极为重要并稳定的特色,其中主要包括:
1.技术成熟,可靠性高
经过30来年开放式道路的发展,UNIX的一些基本技术已变得十分成熟,有的已成为各类操作系统的常用技术。实践表明,UNIX是能达到大型主机(mainframe)可靠性要求的少数操作系统之一。目前许多UNIX大型主机和服务器在国外的大型企业中每天24小时,每年365天不间断地运行。例如,不少大企业或政府部门,即所谓肩负关键使命的场合/部门将其整个企业/部门信息系统建立并运行在以UNIX为主服务器的Client/Server结构上。但到目前为止,世界上还没有一家大型企业将其重要的信息系统完全建立在NT上。
2.极强的可伸缩性
UNIX系统是世界上唯一能在笔记本电脑、PC、工作站,直至巨型机上运行的操作系统,而且能在所有主要CPU芯片搭建的体系结构上运行(包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片)。至今为止,世界上没有第二个操作系统能达到这一点。此外,由于UNIX系统能很好地支持SMP、MPP和Cluster等技术,使其可伸缩性又有了很大的增强。目前,商品化UNIX系统能支持的SMP,CPU数已达到几百甚至更多个,MPP系统中的节点甚至已超过1024个UNIX支持的异种平台Cluster技术也已投入使用。UNIX的伸缩性远远超过了NT操作系统目前所能达到的水平
3.网络功能强
网络功能是UNIX系统的一又一重要特色,作为Internet网技术和异种机连接重要手段的TCP/IP协议就是在UNIX上开发和发展起来的。TCP/IP是所有UNIX系统不可分割的组成部分。因此,UNIX服务器在Internet服务器中占80%以上,占绝对优势。此外,UNIX还支持所有常用的网络通信协议,包括NFS、DCE、IPX/SPX、SLIP、PPP等,使得UNIX系统能方便地与已有的主机系统,以及各种广域网和局域网相连接,这也是UNIX具有出色的互操
作性(Interoperability)的根本原因。
4.强大的数据库支持能力
由于UNIX具有强大的支持数据库的能力和良好的开发环境,因此多年来,所有主要数据库厂商,包括Oracle、Informix、Sybase、Progress等,都把UNIX作为主要的数据库开发和运行平台,并创造出一个又一个性价比的新记录。UNIX服务器正在成为大型企业数据中心替代大型主机的主要平台。
5.开发功能强
UNIX系统从一开始就为软件开发人员提供了丰富的开发工具。成为工程工作站的首选和主要的操作系统和开发环境。可以说,工程工作站的出现和成长与UNIX是分不开的。至今为止,UNIX工作站仍是软件开发厂商和工程研究设计部门的主要工作平台。有重大意义的软件新技术的出现几乎都在UNIX上,如TCP/IP、WWW、OODBMS等。
6.开放性好
开放性是UNIX最重要的本质特性。开放系统概念的形成与UNIX是密不可分的。UNIX是开放系统的先驱和代表。由于开放系统深入人心,几乎所厂商都宣称自己的产品是开放系统,确实每一种系统都能满足某种开放的特性,如可移植性、可兼容性、可伸缩性、互操作性等。但所有这些系统与开放系统的本质特征—不受某些厂商的垄断和控制相去甚远,只有UNIX完全符合这一条件。
7.标准化
过去,Unix界被分析家和用户批判,因为没有为所有Unix操作系统提供统一的标准。其实,到目前为止,国际标准化组织(ISO)、工业团体恰恰是以UNIX基础制订了一系列标准化,如ISO/IEC的POSIX标准、IEEE POSIX标准、X/Open组织的XPG3/4工业标准以及后来的Spec 1170(因为它包含了1170个应用编程接口,后来改名为UNIX’95)标准。不少人对标准及标准化组织的作用及职权产生了误解。事实上,当标准化组织企图驾驭互相竞争的力量,和企图为用户规定他们的要求时是注定要失败的。比方说,标准只能用于给出道路的规则,而不应用于制造汽车。如果厂家被强迫完全遵从单一的标准,而不允许他们产品有特色,则用户将受害,Unix将变成象任何单一厂家的产品一样,没有任何特色。
(三)Linux操作系统特点
Linux作为自由软件有两个特点:一是它免费提供源码,二是爱好者可以按照自己的需要自由修改、复制和发布程序的源码,并公布在Internet上。这就吸引了世界各地的操作系统高手为Linux编写各种各样的驱动程序和应用软件,使得Linux成为一种不仅只是一个内核,而且包括系统管理工具、完整的开发环境和开发工具、应用软件在内,用户很容易获得的操作系统。
Linux是一个UNIX系统变种,因此也就具有了Unix系统的一系列优良特性,Unix上的应用可以很方便地移植到Linux平台上,这使得Unix用户很容易掌握Linux。
三、三种操作系统比较
(一)Linux操作系统和Windows操作系统比较
1.可完全免费得到
Linux操作系统可以从互联网上免费下载使用,只要您有快速的网络连接就行;而且,Linux上跑的绝大多数应用程序也是免费可得的。用了Linux就再也不用背”使用盗版软件”的黑锅了。
2.可以运行在386以上及各种RISC体系结构机器上
Linux最早诞生于微机环境,一系列版本都充分利用了X86CPU的任务切换能力,使X86CPU的效能发挥得淋淋尽致,而这一点连Windows都没有做到。此外,它可以很好地运行在由各种主流RISC芯片(ALPHA、MIPS、PowerPC、UltraSPARC、HP-PA等)搭建的机器上。
3.Linux是UNIX的完整实现
从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如WindowsNT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux的用户能大大地从Unix团体贡献中获利。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很多方面得到支持和帮助。因此,Linux作为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中建立的牢固的地位。UNIX上的绝大多数命令都可以在Linux里找到并有所加强。UNIX的可靠性、稳定性以及强大的网络功能也在Linux身上一一体现。
4.真正的多任务多用户
只有很少的操作系统能提供真正的多任务能力,尽管许多操作系统声明支持多任务,但并不完全准确,如Windows。而Linux则充分利用了X86CPU的任务切换机制,实现了真正多任务、多用户环境,允许多个用户同时执行不同的程序,并且可以给紧急任务以较高的优先级。
5.完全符合POSIX标准
POSIX是基于UNIX的第一个操作系统簇国际标准,Linux遵循这一标准这使UNIX下许多应用程序可以很容易地移植到Linux下,相反也是这样。
6.具有图形用户界面
Linux的图形用户界面是Xwindow系统。Xwindow可以做MSWindows下的所有事情,而且更有趣、更丰富,用户甚至可以在几种不同风格的窗口之间来回切换。
7.具有强大的网络功能
实际上,Linux就是依靠互联网才迅速发展了起来,Linux具有强大的网络功能也是自然而然的事情。它可以轻松地与TCP/IP、LANManager、Windows for Workgroups、Novell Netware或Windows NT网络集成在一起,还可以通过以太网或调制解调器连接到Internet上。Linux不仅能够作为网络工作站使用,更可以胜任各类服务器,如X应用服务器、文件服务器、打印服务器、邮件服务器、新闻服务器等等。
8.是完整的UNIX开发平台
Linux支持一系列的UNIX开发工上,几乎所有的主流程序设计语言都已移植到Linux上并可免费得到,如C、C++、Fortran77、ADA、PASCAL、Modual2和
3、Tcl/TkScheme、SmallTalk/X等。总而言之,Unix就是可供各种用户选择的对象。一个操作系统已经使分布式计算成为现实。一个操作系统正在使新形式的交互娱乐成为现实并正确领导通向新的工程和商业应用的路。这就是Unix所体现的精神。但Unix还不止于此。主要地,Unix给用户选择最佳应用、最佳开发环境、最佳网络功能和最佳硬件的自由,以满足用户的业务要求。Unix还给用户选择何时升级系统的自由,甚至当用户改变主意时,用户可以以最少的痛苦来安装一个新系统,只要业务需要。Unix专门献身于使用户保持选择的权力。
(二)UNIX操作系统WINDOWS操作系统比较
unix操作系统是主要是用于服务器类行,一些功能大多是以命令来实现的,大型企业大多
用这个做服务器,安全全性很好.WINDOWS一般是用于家庭,现在对于图形界面是最好的选择.
UNIX系统的安全性和权限分配上要比WINDOWS好的多,但是WINDOWS更适合家庭及普通办公人员使用,有些要求安全性较高的场所,向一些服务器,重要地点机房,还是要用unix的。
windows的优点是用户多,一般软件产商做个人桌面软件时都会有windows版本
linux的优点是可定制强,你安装系统可以选择不同版本内核、桌面(GNOME、KDE 都很漂亮,很好用)、和软件包管理软件等等。而且都是免费的,而且现在的基于linux的系统(ubuntu、fedora)安装软件都比较方便,它的添加删除程序里只要你选择了你要安装的软件包,就可以自己下载自己安装(官方的源里都有上万个软件包,而且免费)。unix一般用于服务器,但是很少用于桌面,(三)Linux操作系统与Unix操作系统的比较
某些PC机的Unix和Linux在实现方面相类似。几乎所有的商业Unix版本都基本支持同样的软件、程序设计环境和网络特性。然而,Linux和Unix的商业版本依然存在许多差别。Linux支持的硬件范围和商业Unix不一样。一般来说,商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大。突出的是,Linux至少和商用Unix一样稳定。对许多用户来说,最重要的因素是价格。Linux是免费软件,用户可以从Internet网上下载。如果上网不方便,可以很便宜地通过邮购得到Linux的磁盘或CD-ROM。当然也可以直接从朋友那里得到。商业Unix的价值不应被贬低。除了软件本身的价格外,用户还需支付文档、售后支持和质保费。对于较大的机构,这些都很重要,但是PC机用户也许从中得不到什么好处。许多商业公司和大学等单位已经发现,在实验室用廉价的PC机运行Linux比用工作站运行商业Unix还好。Linux可以在PC机上提供工作站的功能,而PC机的价格是工作站的几分之一。也有一些针对PC机的便宜的Unix,其中最有名的是386BSD。在许多方面,386BSD软件包和Linux兼容,但Linux更适合用户的需求。最显著的是,Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献。相比之下,386BSD是由封闭的团队开发的。正是这样,这两种产品存在着严重的概念上和设计上的差别:Linux的目标是从头开始开发一个完整的Unix系统;386BSD的目标则是对现有的BSD做些修改,以适合80386系统。
第五篇:操作系统实验报告
许昌学院
《操作系统》实验报告书
学号:姓名:闫金科班级:成绩:
5006140057
14物联网工程 2016年02月实验一 Linux的安装与配置
一、实验目的
1.熟悉Linux系统的基本概念,比如Linux发行版、宏内核、微内核等。2.掌握Linux系统的安装和配置过程,初步掌握Linux系统的启动和退出方法。3.熟悉Linux系统的文件系统结构,了解Linux常用文件夹的作用。
二、实验内容
1.从网络上下载VMware软件和两个不同Linux发行版镜像文件。2.安装VMware虚拟机软件。
3.在VMware中利用第一个镜像文件完成第一个Linux的安装,期间完成网络信息、用户信息、文件系统和硬盘分区等配置。
4.在VMware中利用第二个镜像文件完成第二个Linux的安装,并通过LILO或者GRUB解决两个操作系统选择启动的问题。
5.启动Linux系统,打开文件浏览器查看Linux系统的文件结构,并列举出Linux常用目录的作用。
三、实验过程及结果
1、启动VMware,点击新建Linux虚拟机,如图所示:
2、点击下一步,选择经典型,点击下一步在选择客户机页面选择Linux,版本选择Red Hat Enterprise Linux 5,如图所示:
3、点击下一步创建虚拟机名称以及所要安装的位置,如图所示:
4、点击下一步,磁盘容量填一个合适大小,此处选择默认值大小10GB,如图所示:
5、点击完成,点击编辑虚拟机设置,选择硬件选项中的CD-ROM(IDE...)选项,在右侧连接中选择“使用ISO镜像(I)”选项,点击“浏览”,找到Linux的镜像文件,如图所示:
6点击确定按钮后,点击启动虚拟机按钮,来到Linux的安装界面,如图所示:
7、到此页面之后,等待自动检测安装,如图所示:
8、等到出现如图所示页面后点击“skip”按钮,跳过检测,直接进入安装设置界面,如图所示:
9、安装设计界面如图所示:
10、点击Next按钮进入设置语言界面,设置语言为“简体中文”,如图所示:
11、点击Nest按钮进入系统键盘设置按钮,设置系统键盘为“美国英语式”,如图所示:
12、点击下一步按钮,弹出“安装号码”对话框,选择跳过输入安装号码,如图所示:
13、按照提示,一直点击下一步按钮,如图所示:
14、到设置最后一步,点击下一步按钮进入开始安装Red Hat Enterprise Linux Sever界面,如图所示:
15、安装完成后,进入欢迎界面,按照提示点击前进按钮知道进入Linux桌面,如图所示:
16、安装成功的Linux系统桌面如图所示,桌面包含五个图标,分别为:计算机、jk’s Home、回收站、RHEL/5.3 i386DVD。
四、实验总结
通过安装虚拟机等操作让我认识到Linux这系统一些基本特点,本次试验学会了安装虚拟机并且使用虚拟机安装操作系统,掌握了红帽Linux系统的安装和配置过程,以及对镜像ISO文件的使用,有别于我们机器上使用的系统,通过虚拟机这个软件还可以在已有系统的基础上使用其他操作系统。安装过程中一定要注意选择版本的时候要选择Red Hat Enterprise Linux 5版本,否则安装不能成功。自己动手成功的安装了Linux系统,自己对Linux的学习产生更大的兴趣。
实验二 Linux操作系统的运行模式
一、实验目的
1.熟悉Linux系统终端工作环境的使用,了解Linux命令的格式,使用学会利用常用的Linux命令来完成系统的管理和维护。
2.了解X-Windows的特点,熟悉Linux图形用户接口的使用,掌握GNOME桌面环境的基本操作。
3.了解和掌握在Linux环境下安装软件包的方法,如QQ for Linux等用软件的安装方法。
二、实验内容
1.启动Linux系统打开虚拟终端界面,使用Linux的在线帮助指令man或help获得ls、uname、date、cal、mkdir、cp等Linux命令的帮助手册,了解这些命令的具体使用方法。同时,也可以通过执行“命令名 –help”来显示该命令的帮助信息,如“ls –help”,试用这些命令。
2.通过uname命令的执行,查看并给出相关系统信息:操作系统的名称、系统域名、系统CPU名称等。
3.在主目录下创建一个名为myetc的子目录,将/etc目录下与网络相关的文件和子目录拷贝到该目录,并将这些文件的执行权限设置为可执行。
4.在主目录/home下创建目录program、music 和temp,然后在program下建立目录java和C,列出完成该过程的所有命令。
5.在图形界面环境中,查看GNOME桌面的面板和桌面,设置GNOME,包括屏幕保护程序、更改背景和指定关联程序等。6.实现对光盘的加载和访问,然后卸载。
三、实验过程及结果
1、打开终端,输入 【ls –help】来查看【ls】指令的使用方法,同理查看uname、date、cal、mkdir、cp的使用方法。
2、在终端中输入【uname –a】显示操作系统名系统cpu名和系统域名
3、重启系统,用【root】用户名进入系统,以获得权限。在终端中输入【mkdir myetc】,在主目录下创建【myrtc】的目录,【ls】查看是否创建。输入【cd..】返回至【/】文件,输入【cp –r etc root/myetc】讲etc中内容复制到myetc中,进入myetc文件【ls】查看。输入
【chmod u+x etc】赋予文件可执行的权限,输入【ll】查看。
4、在home下,输入【mkdir {program,music,temp}】,可在home下创立这三个目录,输入【ls】查看。在program下输入【mkdir{java,C}】,可创立java和C两个目录,【ls】查看。
5、在桌面上方选择【系统】-【首选项】,即可设置屏幕保护程序和更改背景和指定关联程序
5、在桌面上可见看到有CD光盘,双击浏览,右键【弹出】即卸载。
四、实验总结和体会
Linux的指令系统是学习Linux操作系统很重要的一部分,指令系统相当于在Windows操作系统下的doc,可以省去图形化界面。通过这次的实验让我了解了Linux的强大功能,了解到Linux有许多方便快捷的设置基本配置的方法,这使我更喜欢上Linux的使用。在使用指令的过程中,有时候对文件的操作需要一定的权限,这时需要在登陆时用户名使用【root】,而不是我们在安装时使用的用户名,这样就获得了管理员权限,可以对一些系统文件进行操作。
实验三 Linux应用软件与系统管理
一、实验目的
1.了解OpenOffice.Org集成办公软件,掌握利用OpenOffice.Org的套件来完成文档和图片的处理。
2.了解Linux网络管理的知识,熟悉Linux网络配置的方法,掌握在Linux环境下配置Web服务器和ftp服务的方法。
二、实验内容
1.配置Linux系统的网络环境,安装FTP和Web服务器,并配置相关的属性,利用FTP实现WINDOWS和Linux之间的数据交换。
2.利用FTP程序上传自己的照片到FTP服务器,利用OpenOffice的文字处理工具OpenOffice Writer制作一份表格形式的个人简历。个人简历中至少包含学号、姓名、性别、专业、照片和学习经历等内容,并保存为网页格式(html格式)。3.将个人简历网页设置为WEB服务器的首页,然后在客户端利用浏览器访问WEB服务器,查看效果。
4.通过读取proc文件系统,获取系统各种信息(如主机名、系统启动时间、运行时间、版本号、所有进程信息、CPU使用率等),并以比较容易的方式显示。
三、实验过程及结果
1.配置网络环境:在(服务.cmd).里面进行以下操作:在服务里选择3按回车
完成后,可在本地连接看到VMware已连接上网络
在虚拟机设置中设置以太网网络连接方式为
网关地址填虚拟机的网管,IP地址设为虚拟机的一个子网:
四、总结:
在linux系统下,make是我们经常用到的编译命令,所以关于make代码和他的操作指令一定要记清楚。所以,熟练掌握了make和makefile工具之后,源码安装软件就变的像windows下安装软件一样简单。
实验四 进程控制与管理
一、实验目的
1.掌握GCC编译器的用法,学会利用GCC编辑器来编辑C语言程序,学会利用GDB调试器来调试C语言程序。
2.理解进程和程序的区别和联系,3.掌握在Linux环境下观察进程运行情况和CPU工作情况的命令。4.了解fork()系统调用,掌握利用fork()创建进程的方法。
5.了解Linux系统其他与进程相关的系统调用,如exec、wait和exit等。6.了解Linux常用的进程通信机制。
二、实验内容
1.利用Linux的进程管理命令ps、top来监视和跟踪进程,体会进程和程序的关系。2.利用Linux的文字编辑器编写文件复制的C语言程序,并用gcc编译该程序,然后运行该程序。
3.编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。
4.修改上述程序,每一个进程循环显示一句话。子进程显示'daughter „'及'son „„',父进程显示 'parent „„',观察结果,分析原因。5.用fork()创建一个进程,再调用exec()用新的程序替换该子进程的内容。
三、实验过程及结果
1、利用Linux的进程管理命令ps、top来监视和跟踪进程,体会进程和程序的关系。<1>从用户身份切换到ROOT身份
<2>输入命令 ps 查看进程
<2>输入命令 top 跟踪进程
2、利用Linux的文字编辑器编写一个计算机100个自然数和的C语言程序,并用gcc编译该程序,然后运行该程序。
<1>创建一个.C文件 并进入进行编辑
<2>用GCC 进行编译,再查看文件,发现产生执行文件 a.out
<3>执行这个可执行文件得到结果5050
1、编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。
<1>穿件一个.C文件 并进行编写程序代码
<2>反复执行2次该程序
<3>可以看出两次执行的结果 a b c 出现的顺序不同,原因是,3个进程的输出次序是随机的,并不会按规定的顺序出现,所以会出现上述结果。
4、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter „'及'son „„',父进程显示 'parent „„',观察结果,分析原因。<1>重新修改代码
<3>执行这段程序
<4>原分析:
因和之前一样,可以看出执行的结果 3个单词出现的顺序不同,原因是,3个进程的输出次序是随机的,并不会按规定的顺序出现,所以会出现上述结果。
5、用fork()创建一个进程,再调用exec()用新的程序替换该子进程的内容。<1>
编写代码
<2> 执行的结果
结果表明 execl 替代了son的内容
四、实验总结和体会
这个实验考察的是进程之间存在很多可能性以及对编辑器的使用。本次实验学习了在linux环境下用gcc编译器运行c语言程序,在linux环境下编写程序用到了vi编辑器,知道了该编辑器也需要各种命令来操作。编写C语言程序时用到了fork()函数,再调用execl()用新的程序替换该子进程的内容。
实验五 进程调度模拟程序的设计与实现
一、实验目的
1.了解进程调度的概念,掌握常用进程调度算法的原理。2.掌握Linux程序设计编辑、编译和调试的技巧。
二、实验内容
1.编写程序实现进程调度调度算法先来先服务、优先级高优先和时间片轮转调度算法。(编程语言不限)
2.输入数据,输出运行结果。
三、实验过程及结果
1先来先服务
#i nclude
struct { int id;
float ArriveTime;float RequestTime;float StartTime;float EndTime;float RunTime;float DQRunTime;int Status;}arrayTask[4];GetTask(){ int i;float a;
for(i=0;i<4;i++){arrayTask[i].id=i+1;printf(“input the number”);
printf(“input the the ArriveTime of arrayTask[%d]:”,i);scanf(“%f”,&a);
arrayTask[i].ArriveTime=a;
printf(“input the RequestTime of arrayTask[%d]:”,i);scanf(“%f”,&a);
arrayTask[i].RequestTime=a;arrayTask[i].StartTime=0;arrayTask[i].EndTime=0;arrayTask[i].RunTime=0;arrayTask[i].Status=0;
} }
int fcfs()
{
int i,j,w=0;
for(i=0;i<4;i++)
{
if(arrayTask[i].Status==0)
{
t=arrayTask[i].ArriveTime;
w=1;
}
if(w==1)
break;
}
for(i=0;i<4;i++)
{
if(arrayTask[i].ArriveTime t=arrayTask[i].ArriveTime; } for(i=0;i<4;i++) { if(arrayTask[i].ArriveTime==t) return i; } } int sjf(){ int i,x=0,a=0,b=0;float g; for(i=0;i<4;i++){ if(arrayTask[i].Status==1){g=arrayTask[i].EndTime;x=1;} } if(x==0){ t=arrayTask[0].ArriveTime; for(i=0;i<4;i++){ if(arrayTask[i].ArriveTime t=arrayTask[i].ArriveTime;a=i;} } return a;} else { for(i=0;i<4;i++){ if(arrayTask[i].EndTime>g)g=arrayTask[i].EndTime;} for(i=0;i<4;i++){ if(arrayTask[i].Status==0&& arrayTask[i].ArriveTime<=g){ t=arrayTask[i].RequestTime;a=i;b=1;} /*判断有没有进程在前个进程完成前到达*/ } if(b!=0)/*有进程到达则按SJF*/ { for(i=0;i<4;i++){ if(arrayTask[i].Status==0&&arrayTask[i].ArriveTime<=g&&arrayTask[i].RequestTime return a;} else{ /*否则按FCFS*/ for(i=0;i<4;i++) {if(arrayTask[i].Status==0)t=arrayTask[i].ArriveTime;} for(i=0;i<4;i++){ if(arrayTask[i].Status==0&&arrayTask[i].ArriveTime return a;} } } new(int s)/*定义执行进程后相关数据的修改*/ { int i,g=0;for(i=0;i<4;i++){ if(arrayTask[i].Status==0)continue;else { g=1;break;} } if(g==0)/*当处理的是第一个未执行的进程时执行*/ { arrayTask[s].StartTime=arrayTask[s].ArriveTime; arrayTask[s].EndTime=arrayTask[s].RequestTime+arrayTask[s].ArriveTime;arrayTask[s].RunTime=arrayTask[s].RequestTime;arrayTask[s].Status=1;g=2;} if(g==1)/*当处理的不是第一个未执行的进程时执行*/ { arrayTask[s].Status=1;for(i=0;i<4;i++){ if(arrayTask[i].Status==1)d=arrayTask[i].EndTime;} for(i=0;i<4;i++)/*查找最后执行的进程的完成时间*/ { if(arrayTask[i].EndTime>d&&arrayTask[i].Status==1)d=arrayTask[i].EndTime;} if(arrayTask[s].ArriveTime arrayTask[s].StartTime=arrayTask[s].ArriveTime; arrayTask[s].EndTime=arrayTask[s].StartTime+arrayTask[s].RequestTime;arrayTask[s].RunTime=arrayTask[s].EndTime-arrayTask[s].ArriveTime;} arrayTask[s].DQRunTime=arrayTask[s].RunTime/arrayTask[s].RequestTime;} Printresult(int j)/*定义打印函数*/ { printf(“%dt”,arrayTask[j].id); printf(“%5.2ft”,arrayTask[j].ArriveTime);printf(“%5.2ft”,arrayTask[j].RequestTime);printf(“%5.2ft”,arrayTask[j].StartTime);printf(“%5.2ft”,arrayTask[j].EndTime);printf(“%5.2ft”,arrayTask[j].RunTime);printf(“%5.2fn”,arrayTask[j].DQRunTime);} main(){ int i,b,k,a,c=0;int d[4];clrscr(); printf(“t F.FCFS n”);printf(“t S.SFJ n”);printf(“t Q.EXIT n”);for(i=0;;i++){ if(c)break; printf(“please input the number a:n”);scanf(“%d”,&a);switch(a){ case Q: c=1;break; case F:printf(“please input the different-ArriveTime of arrayTasksn”);GetTask(); printf(“*****************************the result of fcfsn”);printf(“NumbertArrivetServertStarttFinishtTurnovetTake power turnover timen”); for(b=0;b<4;b++)/*调用两个函数改变结构体数的值*/ { k=fcfs();d[b]=k;new(k);} for(b=0;b<4;b++) Printresult(d[b]);/*调用打印函数打出结果*/ continue; case S: printf(“please input the different-RequestTime of array Tasksn”);GetTask(); printf(“******************************the result of sjfn”);printf(“NumbertArrivetRequesttStarttEndtRuntDQRun timen”);for(b=0;b<4;b++){ k=sjf();d[b]=k;new(k);} for(b=0;b<4;b++)Printresult(d[b]);continue; default:printf(“the number Error.please input another number!n”);} } } 四、实验总结和体会 通过做本实验,让我对进程或作业先来先服务、高优先权、按时间片轮转调度算法以及进程调度的概念和算法,有了更深入的认识!理解进程的状态及变化,动态显示每个进程的当前状态及进程的调度情况。进程调度是处理机管理的核心内容。优先级高优先是根据作业的优先级,总是选择优先级最高者进入队列。轮转调度算法是调度程序每次把CPU分配给就绪队列首进程/线程使用规定的时间间隔,就绪队列中都路保留巡行一个时间片。