操作系统范文
时间:2023-04-11 20:55:10
导语:如何才能写好一篇操作系统,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
2月底,微软对外宣布准备推出简化版Windows Server,预计两个月内就可能上市。据悉,该操作系统给用户的体验将与上网本的操作系统类似(不过这是服务器版),面向那些对功能要求简单的用户。尽管微软没有对此提供更多信息,但可以肯定的是,微软一定是感受到了市场对这种简化版操作系统的需求。
事实上,给操作系统瘦身的呼声存在已久。其中最突出的原因有两个:
第一, 代码少更容易管理也更安全。例如,Vista的开发成本估计超过了60亿美元,有近万名开发人员用时5年才完成。如此庞大的队伍开发出来的代码如何管理是一个很大的挑战。
第二, 小的操作系统可以支持的设备种类更多,包括上网本、智能手机以及像iPod Touch这样的设备。而现在微软的Windows Mobile与桌面Windows是两套不同的代码,iPhone的操作系统有Mac操作系统的一些模块同时也有另外厂家开发的。这给操作系统的开发以及第三方应用程序的开发增添很多工作。同时,这还意味着消费者要维护多种操作系统。
为了响应用户的需求,包括微软、苹果以及各种Linux商早就已经开始对操作系统进行瘦身了。
减肥
微软消费者市场总经理James DeBragga表示,与Vista相比,Windows 7会降低对内存的需求,具体办法包括减少开机时需要启动服务的数量、改进桌面窗口管理器(Desktop Windows Manager)在内存上的消耗以及降低其他功能对内存的需求等。“最理想的情况是,Windows 7能支持所有设备,包括小的、标准的以及台式机。”
苹果尽管没有明确地说其Mac OS X将使用更少的资源,但是,它们希望iPhone和电脑以及可能会有的上网本都运行同样的操作系统,自然必须降低对资源的需求。
Linux的供应商也在对他们的Linux进行瘦身。例如,最新的Ubuntu就已经去掉了MySQL、CUPS (普通Unix打印服务)、e-mail和LDAP功能,大小也从以前的700MB减到了200MB。Ubuntu、Novell还提供“JeOS(just enough,刚好够用)”版本的Linux,其中只有支持应用必需的API和功能组件。
不过,并不是每个人都认可传统操作系统将越来越小,有人认为,操作系统裁剪的都是作用不大或者过时的功能,而新出现的功能又会让操作系统膨胀。
扩大势力范围
除了物理计算机和虚拟机需要更小的操作系统外,主要的操作系统供应商还面临一个新的减小操作系统的压力,即支持新的设备类型,包括上网本、智能手机。上网本是个很好的例子:与普通的笔记本电脑相比,上网本的硬件资源受到了限制,导致对设备配置要求较高的Vista根本无法在上网本上运行,所以到目前为止,微软只能让上网本安装Windows XP。
由于有很多最新的移动设备可以在那些低功耗的处理器和简化的操作系统上运行。因此,最近有很多人在讨论是否可以在上网本上安装智能手机上使用的处理器,如ARM的CPU加上Linux的嵌入式版本,如果这样电池将可以使用几天而不是现在的几个小时。
戴尔已经在向这个方面努力,它的Latitude笔记本电脑引入了一种新的技术“BlackTop”,如果用户只是想收发邮件、上网或者看看文档,就不用启动Windows,转而启动一个Linux版本的操作系统来完成这些工作。
智能手机(如iPhone和黑莓手机)提供了很多以前只有在计算机上才有的功能,导致对类似于计算机的操作系统的需求增加。比如通过蓝牙或者USB与手机通信的RedFly,其重量只有1.4磅,有一个8英寸的屏幕和8.3英寸的键盘,使用Windows Mobile操作系统,其最典型的工作场景就是打开浏览器,在其中执行一个Web 2.0的应用。
让位浏览器?
由于有不少设备完全基于浏览器而不再是操作系统运行其程序,这让不少人相信,操作系统的瘦身幅度应该更大一些,把更多功能交给浏览器。
Strategy Analytics公司负责移动业务的分析师Philippe Winthrop就持这一观点。他认为,云计算是让应用逐渐脱离大而全的操作系统,转而依靠浏览器来执行的最大动力。例如,Palm最新手持设备操作系统webOS的开发工具包(SDK),全部基于HTML、CSS、JavaScript,完全在浏览器中运行,而对操作系统没有什么要求。
移动业务咨询顾问Tomi Rauste也同意这一观点。Tomi Rauste认为,各种Web技术大大降低了应用整合的难度,“使用Web技术来定制用户界面要比传统的技术简单得多,因为无需考虑不同操作系统的问题。而实际上,对于很多普通用户来说,一个设备只要有一个浏览器、网络邮件收发程序、文字处理器和一个日历就够了。”
不过,微软并不同意浏览器会取代大部分操作系统功能的说法。微软目前有多种Windows的嵌入式操作系统版本,包括Windows CE和嵌入式 Windows XP,硬件设计者可以根据设备来选择所需要的组件。
DeBragga说:“尽管普通用户50%的时间离不开浏览器,但是我们还不能说浏览器适合处理所有计算机能处理的工作。”他举了文档编辑和视频编辑的例子。他说,这个工作不需要浏览器,但是需要功能很强大的操作系统。
DeBragga认为,尽管操作系统变得越来越小,同时,越来越多的使用者使用浏览器,但是大操作系统仍然有很多显著的优势是那些被裁剪后的操作系统无法比的。比如,iPhone上运行的功能相当完善的OS X,它是iPhone众多强大功能的基础。
篇2
【关键词】Linux操作系统 网络操作系统 内核
一、Linux的产生
Linux是一种计算机操作系统,通常被称为类Unix系统,这是因为Linux和Unix有着很深的渊源。
在计算机非常昂贵的年代,只有在大学或大型企业中才能够接触到计算机,人们非常希望多个用户能同时连接到一台计算机并同时使用它。于是,计算机科学家开始研究分时系统。分时系统是将CPU的运行时间分为很小的时间片,多个用户任务可以通过交替占有时间片的方式实现快速交互使用CPU。由于时间片是很短的一段时间,以至于每个用户任务、每个用户好像在独占CPU,独占整个计算机系统。在研究人员的不懈努力下,1969年,AT&T公司贝尔实验室开发出了Unix系统。
1986年,芬兰赫尔辛基大学的Andrew Tanenbaum教授为了给学生讲授《计算机操作系统》课程,开发出了Minix系统,这是Unix的一个变体。1991年,Andrew Tanenbaum教授的学生Linus Torvalds,由于对课堂上使用的Minix系统不太满意,于是开始在386 PC机上试着改进Minix系统。
1991年8月,Linus Torvalds在comp.os.minix新闻组贴上了以下这段话:“你好,所有使用minix的人,我正在为386(486)AT做一个免费的操作系统,只是为了爱好,……”
Linus最初为自己的这套系统取名为freax,他将源代码放在了芬兰的一个FTP站点上供大家下载。该站点的管理员认为这个系统是Linus的Minix系统,因此建立了一个名为Linux的文件夹来存放它。于是,Linus的“爱好”就成了今天微软的头号对手,功能强大且价格低廉的Linux操作系统。
1993年底94年初,Linux 1.0终于诞生了!
Linux1.0已经是一个功能完备的操作系统,而且内核写得紧凑高效,可以充分发挥硬件的性能,在4M内存的80386机器上也表现得非常好,至今人们还在津津乐道于此。
Linux的 和 是一只名字叫做 的 ,Linux的是Linus Torvalds所有的。这是由于在 ,一个名字叫做William R. Della Croce的律师开始向各个Linux商发信,声明他拥有Linux 的所有权,并且要求各个商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给Linus Torvalds。
二、Linux的开发模式
Linus于1991年10月5日了Linux的第一个版本Linux 0.0.2,并在网络上公布了Linux核心程序的源代码,同时决定以GPL(大众所有版权,又称GUN通用公共许可证)的方式来发行传播,也就是说这个软件允许任何人以任何形式进行修改和传播。
随着网络的日益盛行,越来越多的技术高超的程序员加入到Linux的开发与完善中来。在这个过程中,无数的富有个性和开创性的程序员在没有计较任何酬劳的前提下,完全自发的加入到开发行列中来。一旦一个程序员完成了其中的部分程序,他便会立即将这个程序发表,并免费将它发给任何一个需要的人,而其他的一些程序员研究它后将会对它修正和改良,然后将它发表。这个过程周而复始,因此Linux的改进速度是最快的,同时它的稳定性也是非常高的。
所以,Linux并非仅由Linus一人开发,而是由全世界几百个程序员共同开发的,当然Linus为内核定了调子。这种集市型的开发模式促成了Linux系统的繁荣。可以说,Linux完全是一个热情、自由、开放的网络产物。
三、Linux的发展
Linux具有良好的兼容性和可移植性。大约在1.3版本之后,Linux开始向其他硬件平台上移植,包括号称最快的CPU——Digital Alpha。所以不要总把Linux与低档硬件平系到一块,Linux只是将硬件的性能充分发挥出来而已。Linux必将从低端应用横扫到高端应用!
为了使Linux变的容易使用,Linux也有了许多版本,版实际上就是一整套完整的程序组合。现在已经有许多不同的Linux发行版和各自的版本号,为了不产生混淆,我们先解释一些常提到的术语。当我们提到的Linux时,一般是指“Real Linux”,即内核,是所有UNIX操作系统的“心脏”。但光有linux并不能成为一个可用的操作系统,还需要许多软件包,编译器、程序库文件、Xwindow系统等等。因为组合方式不同,面向用户对象不同,所以就有了许多不同的Linux发行版。
越来越多的公司在Linux上开发商业软件或把其他Unix平台的软件移植到Linux上来。如今很多IT业界的大腕IBM、Intel、Oracle、Infomix、Sysbase、Corel、Netscape、CA、Novell等都宣布支持 Linux。商家的加盟弥补了纯自由软件的不足和发展障碍,Linux迅速普及到广大计算机爱好者,并且进入商业应用,成为打破某些公司垄断文化圈的希望所在。
Linux是爱好者们通过Internet协同开发出来的,当然它的网络功能十分强大。比如你可以通过ftp、nfs等来安装Linux,用它来做网关等等。随着Linux的发展,衍生出来的应用恐怕出乎Linus本人最初的预料。如有人用它来做路由器,有人来做嵌入式系统,有人来做实时性系统……。常有新手问Linux能做什么?其实它不象那些中看不中用的操作系统,不在于你用它能干什么,而在于你想干什么。
Linux是一个在PC机上运行的Unix系统。Linux系统具有最新 Unix的全部功能,包括真正的多任务、虚拟存储、共享库函数、即时负载、优越的存储管理和TCP/IP、UUCP网络工具等。Linux系统及其发展均符合Posix标准,其内核支持Ethernet、PPP、SLIP、NFS、AX.25、IPX/SPX(Novell)、NCP(Novell)等。系统应用包括tellnet、rlogin、ftp、Mail、gopher、talk、term、news(tin、trn、nn)等全套UNIX工具包。X图形库,包括xterm、fvwm、xxgdb、mosaic、xv、gs、xman等全部X-Win应用工具。商业软件有Motif、WordPerfect。中文工具已有Cxterm、celvis、cemasc、cless、hztty、cytalk、ctalk、cmail等,可以处理GB、BIG5、HZ文件。此外还有DOS模拟软件,可以运行DOS/Win下的软件。
在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。和其他的商用Unix系统以及 相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。直到今天,Linux已经成为一个功能完善的主流网络操作系统。
篇3
提到快速启动系统,大多数消费者首先会想到华硕Express Gate Cloud、联想Quick Start等知名厂商上网本/笔记本特有的预装系统,而在厂商未提供独有快速启动系统时,不少用户也尝试为产品安装谷歌Android系统以获得便利的网络应用体验,不过鉴于硬件驱动等原因,Android系统移植到X86平台后始终存在兼容问题。今天,Splashtop OS依靠更好的兼容性和更人性化的UI界面迅速吸引了市场大量关注目光。
上网本/笔记本用户直接登录Splashtop公司(前身为DeviceVM)官方网站或国内大型下载网站,即可获得2MB容量大小的Splashtop OS系统安装程序。进入预装Windows系统的上网本/笔记本桌面,双击Splashtop OS系统安装程序后,它会自动检测当前上网本/笔记本硬件配置,并通过网络下载完整的系统文件(如图1)。笔者手中EeePC 1015PW所需安装文件超过了300MB,颇有些意外。在整个下载和安装过程中,用户只需按提示点击NEXT即可。在设置步骤里,Splashtop OS会提示用户选择是否导入浏览器书签及WiFi设置,默认勾选即可,对于使用Firefox浏览器的用户,则需要单独选择默认浏览器导入项(如图2)。
按提示重启系统后会看到屏幕上出现Windows 7和Splashtop OS两个可选项,通过上下键选择进入Splashtop OS系统。从开机到完整启动结束,不到8秒的启动速度让笔者感到满意。Splashtop OS系统界面十分简洁,主体便是一个浏览器,而醒目的微软Bing搜索引擎标志显示出Splashtop OS与微软的亲密合作(微软对搜索引擎市场野心不小~)。Gmail、Dropbox、Yoono Web等功能快捷键图标依次排列在搜索框下(如图3),较大的图标点选起来相当便捷,也包含了大多数主流网络应用。
进入Splashtop OS主页后,可以在屏幕右下角见到无线网络、音量、配置面板等图标,点击启动配置面板窗口后,可以对网络、时间日期、屏幕等参数进行设置,值得一提的是用户在Splashtop OS提供的环境设置选项中,可对上网本/笔记本电源模式进行设置,可见考虑十分周到。未来,如能加入一些便捷的文本处理、影音播放软件就更好了,不过据悉,最新的2.0版Splashtop OS已经加入了对触控操作的支持,意味着Splashtop OS系统未来很可能向一体机领域推广。
篇4
【关键词】多XP系统;system commander
一、引言
目前我校的实验室电脑系统安装现状如下:由于我校是文科类院校,各系部没有建立自己的实验室,学校把所有的实验室综合起来管理,大部分的实验室作为公共的实验室供各系部同时使用,各系部所用的教学软件都基于windows xp的平台。这样每个系部都有自己特定的教学软件要安装使用。目前学校机房的系统安装现状如下:
1.所有的专业课使用同一套系统
2.所有的软件安装在同一个XP下
3.教学考试与培训考试也在同一个XP下
而上述系统模式在学校教学中造成的影响如下:
1.软件冲突(这个是经常发生的事:比如有些课程要使用SQL server2000而其他一些课程要使用SQL server2005,亦或是有些软件要使用Oracle数据库的时候,就产生了冲突。又或者是工商系要使用金碟K3而会计系要使用用友U8,而且某些大型软件的不同版本之间也造成软件冲突而导致软件一些模块不能正常使用等等。以往的解决办法只能通过教学部调课,从管理的层面进行解决。)
2.上基础课的老师觉得计算机启动非常的慢并且系统响应速度太慢 (因为用友、金碟等大型的财务软件要使用很多的进程,大量的占用了系统资源。)
3.当我们的实验室要进行一些商务类型的培训及考试又或者是进行国家计算机考试时(因为这些考试和培训会对操作系统的安装另有要求),则又需要重新安装新系统,重新克隆机房,费时费力。
所以基于上述情况,我们设想如果能在一块硬盘中同时安装有几个相互独立的XP系统,那就能够满足不同类型的需要了。
二、原理
首先我们先来了解XP的启动方式:
电脑开机自检(BIOS)――加载硬盘主引导记录(MBR)――搜索并激活系统引导文件――加载启动配置文件(boot.ini)――加载系统核心文件(winkernel)――完成启动
大家可以看到 :在这个启动过程中,加载硬盘主引导记录(MBR)便是一个关键的地方,因为当我们为计算机安装系统时,所有的操作系统都会在MBR上产生一个记录,而这个MBR的记录则来自电脑硬盘的活动分区。
所以独立多XP系统的的核心设想就在于:在同一块硬盘上划分多个主分区,在每一个主分区上都安装一套XP系统,然后利用一个MBR的管理工具给MBR进行管理,根据需要激活XP系统所在的主分区,从而达到每一套XP都相互独立并且可以进行正常的引导。通过这样的方式,我们就可以在同一个硬盘上制作出多套的XP操作系统,每个XP系统之间互不影响,其中一个操作系统的损坏并不会影响其他的操作系统,当使用其中一套系统的同时还可以利用活动分区的特藏其他XP系统所在的安装分区。而且每个系统都可以利用冰点或者还原精灵之类型软件进行保护。这样的多操作系统具有很好的隔离性,相互独立维护,也能够很好的解决本文开始提到的教学过程中遇到的问题。
三、实现
(一)安装准备
以下为安装系统要准备的一些工具软件
启动光盘(或者U盘)
分区工具(PQ, Diskgen等)
Ghost工具
冰点还原精灵
MBR 管理工具
(system commander或者Boot manager等)
(二)系统分区
现在以实验室80G的硬盘作为示例进行分区:利用启动光盘引导系统,运行系统分区工具Diskgen
1.先划分3个主分区,1个扩展分区。计划在3个分区内安装3个独立的XP系统,第一个用于基础教学(安装公共类的基本教学软件如Office2003、Dreamweaver、Ps等等),第二个用于专业课(系部专业的教学软件),第三个作为考试系统(只安装干净的WinXP,其他软件在需要的时候再进行加装)。
2.然后在扩展分区上再划分3个逻辑分区,可以利用传统的启动菜单模式在第一个逻辑分区再安装一个XP系统作为扩展(在这个系统下也可以安装之前XP系统里有冲突的软件)。其他两个分区可以用来作软件备份和教学中临时数据的存放等等。图示:
3.应用分区动作并激活第一个活动分区,然后重启电脑准备安装多XP系统。
(三)系统安装
(1)先用引导盘重启系统,打开克隆开具Ghost,选择把镜像恢复到分区。(如果之前实验室做有克隆镜像的话可以直接使用,这样就更快捷方便)这里可以看到有3个主分区和3个逻辑分区,图示:
(2)选择镜像文件,把镜像恢复到3个主分区和第1个逻辑分区(重复动作4遍,每次恢复时要选择不同的分区),之后可以重启电脑。
(3)因为之前划分主分区的时候激活了第1个分区,所以重启后选择第一个分区进入系统。然后安装MBR管理工具system commander,当安装完成时就会提示重启。
(4)system commander相关设置:system commander作为MBR的管理工具当电脑启动后会自动加载活动分区上的每个XP系统并给出图形引导介面。图示:
这里我们可以看到有5个可引导的系统,通过设置按钮我们可以为每个独立XP系统改名、删除A盘和光驱引导、并且在设置选项里可以设置在一定时间内如没选择系统、电脑会进入默认XP、当你使用当前XP系统时隐藏其他活动分区、以及设置不同的用户和不同的权限等等(比如特定的专业学生只能进入特定的系统这里不详加描述)。
设置好后的引导介面如下图:
(5)进入每个独立的XP系统后,如果需要保护系统的,可以在每个系统里都装上冰点或者还原精灵。
(6)如果想在第3个主分区的XP系统内扩展一个XP系统,则可以修改第3个XP系统的启动配置文件boot.ini,在操作系统列表这一行可以加上
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=”Microsoft Windows XP Professional”/fastdetect
后面引号中的部分中的的内容更改为自己需要的文字即可。比如改成“WinXP for 用友”等等。如此便可以在第3个独立XP上再扩展一个XP系统来备用。
(7)最后可以进入系统属性查看磁盘管理的状态。图示:
四、结束语
独立多XP操作系统经过新学期的运行,达到了预期的效果,很好的解决了本文开篇中提到的教学中所碰到的问题。在日常的维护中也比较方便,举例来说:当要更新系统补丁和病毒库时,只需要下载升级其中的一个XP系统内的文件就可以了,其他的系统通过修改升级路径也可以得到快速的升级;教学过程当中如果发现有的系统崩了,哪也很好处理――直接启动Ghost利用分区对拷就可以快速的恢复,当然也可以通过镜像恢复,即使不恢复,学生也可以利用其他的XP系统进行教学实验。可见这样的系统好处还是很多的。不过由于MBR长度的限制,普通的分区软件只能对一块硬盘划分成3个主分区和1个扩展分区。如果想在一块硬盘上安装更多的独立系统,势比要寻找到更强的分区工具,能够突破MBR的限制,划分更多的主分区,通过这样的安装方式便可以安装到足够多的独立系统,毕竟system commander可以支持引导的系统超过32个以上。
篇5
“江山代有才人出.各领数百年”,智能手机操作系统的天下自然也是如此。这是群雄逐鹿的战国时代.前几年无疑是Windows MoblIe与Symbian的天下.虽有Palm OS,BIackBerry等割据一方,但不足以动摇两强的霸主地位。尔后iPhone OS异军突起.不仅从诸强手中掠走了不少市场份额,还加速了两大帝国的瓦解。至于Linux.尽管资格甚老但早已名存实亡.直到一位名为“Android”的后生接任.方才让人看到了希望。
开源的魅力
Android同许多开源系统一样,基于灵活且性能强大的开源Linux内核.并针对移动设备做了优化修改,整个系统分为三层:Linux KerneI操作系统底层、中间件(Android Runtime)以及应用程序框架(ADpIication Framework)。底层以Linux内核为基础.只提供硬件访问、网络和一些基本功能;中间件则提供了应用程序的运行环境.而最上层是谷歌提供的一些基本的应用程序界面和窗口设计,并拥有较完善的通讯和如网络浏览等基本应用.这些内容也可由各终端制造商和应用软件开发商自行开发.从而获得差异化的诉求.如中国移动的Ophone就是对Android进行定制后的效果。
Andriod基于宽松的APL(ApachePubIIc LIcense)开源协议,该协议允许开发者使用APL开源代码.但不要求必须把自己的代码也开放出来。这对于商业应用至关重要.因为不同的制造商会希望自己的手机能够与竞争对手差异化,如果像GPL(GNu Gene raIPublIc LIcense)那样统统开源的话.这种差异化就很难实现了。另一方面.APL在专利权方面还有一些特殊考虑.AP呵以对专利进行申明.但不能用侵犯专利对方,可以保证开发者之间很好的融洽性。
谷歌使用了一套很好的技巧来避免整个Andr01d陷入Linux KerneI的GPL协议范畴。一般以Linux为内核的操作系统中,系统驱动程序往往挂载在内核下.为此硬件厂商不得不公开驱动程序的源代码,这对制造商而言相当于泄露了硬件的参数机密.自然不愿接受。AndreId巧妙的将这部分功能移到了Linu×内核上层的Userspace区.并在Linu×内核上开了一个“小窗”.允许通过这个小窗实现对硬件的调用.这样一来.只有这个小窗需要遵循GPL的开放源代码协议.而制造商和第三方开发者可以遵循宽松的APL开源协议。
Android核心解析
平心而论.Androld的三层结构并非独创.也不会因为这种结构而显得先进.其底层的Linux KerneI在许多操作系统中都有应用,如摩托罗拉就有A1600等系列产品。除了开源、平等.自由外,Android最令人兴奋和核心的内容来自中间件,主要包括两部分内容虚拟机(Dalvik virtual Machine)和函数库。同时,这部分也定义了AndroId可以使用时下最热门的Java语言进行开发。
虚拟机
Android使用的虚拟机并非Java的JVM.而是Dalyik executabIe指令集.简称dex。Androld提供了个工具软件dx.可以把Java bytecode翻译成dex.这样DaIvik就知道怎么执行它了。同时.它与系统和硬件捆绑很紧.并针对手机使用进行了不少优化,如减低内存占用率、支持多任务并行、通过底层的Linux内核来帮忙处理,这比Java为实现跨平台运行设计的JVM执行效率高得多。由于每个应用程序都在自己的虚拟机中运行,因此整个系统的安全性和稳定性非常高.即便程序崩溃也不会殃及系统和其它正在运行的应用程序。Os下的safari浏览器使用的正是它。谷歌在Android中已经集成了使用该引擎的Chrome Lite浏览器.当然开发者也可以开发另外的浏览器.直接调用WebKit引擎即可。WebKit的优点是效率高,版式精美且支持HTML 5等W3C标准。Surface Flinger是Android系统中重要的图形显示库.用于汇集各个应用程序的图形显示输出.然后输送至屏幕上。
此外.还加入了对OpenGL 3D加速的支持.iPhone上华丽的3D游戏就是用的OpenGL以及硬件加速渲染;SQL№也是一大亮点.在Android系统中担当内容提供数据库.能对大型应用程序和需要持久访问的数据访问构建有序和良好的数据访问特性。
对于应用程序层.尽管Google宣称所有应用程序都是平等的.可以自由替换.但依然提供了诸多便利的互联网应用供开发者调用.如谷歌地图图片浏览.GmaiI等在线服务组件和完善的电话与网络功能,终端制造商很容易进行二次开发.软件开发商也能方便地调用这些内置组件.从而提高开发效率。
Android系统大约每半年升级一次.至今每代系统都以食物命名。比如1.5版叫做cuptake(纸杯蛋糕).1.6版命名为Donut{甜甜圈).2.0是Eclair(法式奶油夹心甜点).后续的为Flan(水果馅饼)。原计划今年年底的2.0版已经提前至10月底.在界面效果和内部性能上都有所提升.MOTO Droid和索尼爱立信XPERlA x10已率先措载该系统。
云的力量
良好的架构和友好的开发环境是制造商和开发者所欢迎的.而Android拿什么来吸引用户的眼球呢?很显然.既不是类似iPhone OS的华丽操作和界面,也不能是Symbian和windows Mobite的老成。Androld的目标是移动互联网.希望用户能够体验到由谷歌带来的云计算和云服务。
关于什么是云.需要了解的读者可参阅本刊之前的报道。对And roid用户而言,每部Andreid手机都和谷歌服务器一样是云中的一个水分子。能够让Android手机加入云的是其集成的基于WebKlt引擎的浏览器、谷歌日历、Gmail.谷歌地图.SMS messenger And reld Market以及更多的在线应用体系。
如今只需一个谷歌账号就可以管理全部应用。比如.通过基于WebKlt引 擎的浏览器可以访问谷歌的搜索引擎和在线办公套件,在线存储文档数据.同步谷歌日历与Gmail邮件.获取在线视频.通过基站和GPs数据获得位置信息与卫星地图实时交通数据,进行网络社交活动等。利用移动电话数字网络作为主要的Jnternet服务提供商,云可以发展成为Android手机提供显示服务数据的主要工具.毫无疑问.这些独特的云计算应用程序将进一步发展,未来基于Androld系统的手机借助云计算或将变得无所不能,并将为用户带来更多元、更便宜、更快捷、更“云”的体验。
Android的对手们
Android出生在一个智能手机操作系统的“乱世”.前有微软windowsMobila、诺基亚Symbian、RiM的黑莓.并且都是老牌.成熟且拥有绝对市场份额和丰富第三方应用软件的系统:新兴的有如日中天的苹果iPhone OS以及Palm破釜沉舟之作Web OS.可能还有一些正在酝酿中的后起之秀.如英特尔Mobllnd Androld是否做好了迎接这些“敌人”的准备呢?
wlndows Moblle是一个强大的帝国,这不仅是因为其背后的微软根深叶茂.其与windows系统的完美融合,对诸多初次使用智能手机的用户是不错的选择。不过.windows MobIle结构比较臃肿执行效率不高的毛病始终不见明显改善,最近新出的Windows MobiIe 6.5看起来也是换汤不换药.无论在系统架构和基于移动互联网的应用上(And roid提供谷歌强势的Gmail、谷歌地图YouTubeBlogger、Picsa等多种网络应用)都与Andrid存在差距.相传明年公布的Windows MobiIe 7会有全新的改变,但微软向来以硬件杀手著称.实际效果未必看好。
对于Symbian,S60已经很难有大的跨越式发展。诺基亚推出的S60第五版操作系统并没有获得用户的广泛认可.触摸体验不理想、软件兼容性问题让用户困扰不已。事实上.诺基亚已经在尝试开发另一种以Linux为基础的maemo系统.其首款机型诺基亚N900已经.但相比Androod的厂商支持度和关注程度.meamo显然还很弱小.围绕Ovi商店进行的网络应用也很难与谷歌匹敌。
在商务应用领域,BiackBerry(黑莓)是Androld的有力竞争对手。Push maiI是BIackBerry的杀手锏.至今还没有哪家公司创造出可以与之相媲美的产品。不过单一的产品或模式都容易被复制.谷歌的Gmail就很有潜力.Androld依靠谷歌的核心力量.并拥有绝对的开发优势.与Push mail一较高下的产品迟早会出现。
Web OS和lPhone OS也是Android的劲敌。其中.Web OS拥有足够新颖的操作,优秀的多任务运行以及人性化的信息提示,但其能否重现辉煌关键在于Web Os如何对外授权,这是关乎各手机厂商利益的大问题,毕竟Android是免费的.将来诺基亚的开源系统也会是免费的。Palm的企业规模与谷歌、诺基亚相比小得多.不收取授权费而只是卖终端的话,日子不一定会好过.靠个人力量也很难把市场做大。IPhone OS是个异类.其依靠的是超前的技术和理念,苹果这几年的迅速发展也正是基于此。全线出击的苹果是否可以一直保持技术永远超前呢?这是个很难回答的问题。
篇6
2000年操作系统课程的改革已经在国内高校逐步开展,部分高校开始采用国际一流的操作系统教材。与国际一流大学操作系统课程相比较,当时国内操作系统课程存在的突出的问题是,在操作系统课程教学中偏重原理,对实践内容缺乏关注。造成这种状况的原因是多方面的:缺乏合适的操作系统实践教材和参考资料是一个方面,另一方面是当时普遍缺乏对主流操作系统代码进行深入研究的条件。
纵观历史,操作系统本身是一个理论与实践结合极为紧密的学科。操作系统不仅要管理计算机系统的所有资源,而且还要为用户提供良好的应用接口和编程环境。为了实现这个目标,设计人员几乎使用了所有的软件设计原理和技术。如果你研究和设计过操作系统,那么无论是多么困难、多么复杂的软件应用系统,你也会感到游刃有余。要想成为一个出色的软件工程师,就应该拥有研发操作系统的经历。由于意识到操作系统实践的重要性,我们一直在寻找一些能够适合本科教学使用的操作系统实践案例。我们在组织学生进行操作系统实习的过程中,使用和尝试过多个操作系统,比如Little OS, RoadRunner,eCos, OSKit, Nacho等。这些操作系统各有特点,不过都不是真实的主流操作系统案例。
值得注意的是,真实的操作系统案例与教学的需要之间是存在矛盾的。从教学角度看,教师当然希望要有基于真实操作系统的实习,但是真实的操作系统,系统规模大、复杂,显然不便于教学。所以,要想在操作系统课程教学的过程中采用真实的操作系统作为案例,必须解决两个问题:
得到该操作系统的源代码;
从便于教学出发,在该操作系统大量的源代码中进行取舍,选取真正代表该操作系统技术精华的源代码部分。
采用Linux作为操作系统课程教学的一个真实案例,当然是一个不错的选择。但是如果考虑到多数用户的使用实际,当代使用最广泛、最普及的计算机操作系统是Windows 操作系统。如果不能在操作系统的教学过程中把Windows作为一个真实的案例,不能介绍Windows的内部实现,无论如何也是一个缺憾。
2000年8月,在由微软亚洲研究院主办的首届高等院校计算机系系主任座谈会上,很多系主任提出希望能有一本讲解Windows操作系统原理的教材。2000年10月,在第六届全国操作系统课程教学研讨会上,许多主讲操作系统课程的教师也提出希望更多地了解Windows内核原理,以供教学需要。正是在这样的大环境下,写作一本结合当代Windows操作系统教科书的构想产生了。思想的火花在微软中国研究院(微软亚洲研究院的前身)的支持下,很快燃成了一支火炬。
我很荣幸地加入了Windows操作系统教材写作小组,这个小组的成员还包括:清华大学计算机系的史美林、向勇、清华大学电子工程系的马洪兵、北京航空航天大学计算机系的王雷、浙江大学计算机系的郑扣根、上海交通大学计算机系的尤晋元和陈英。他们都是所在高校操作系统课程的主讲教师,曾写作、编辑和翻译出版过多本有关操作系统原理的教科书,而且当时都在主持有关操作系统的科研工作。毫无疑问,这个写作小组的阵容是相当豪华的。
详细的写作提纲出来后,困难也接踵而至。要剖析Windows操作系统原理,不能不了解Windows 操作系统的内部结构,也不能不去阅读Windows操作系统的源代码。但是,当时国内外已出版的计算机书籍和资料,包括微软出版社出版的书籍中,没有一本书能够提供这方面的参考资料。怎么办?问题很快通过微软中国研究院高校关系部反映到微软公司总部。经过微软中国研究院的努力,在Windows开发组工程师Dave Probert的大力支持下,微软公司总部作出决定,授权写作组的老师们阅读Windows 操作系统的源代码,并提供有关Windows 操作系统的参考资料。这一消息让我们感到非常高兴。可是好事多磨,由于中美法律上的差异,美国微软公司不能在中国本土向老师们提供阅读Windows操作系统源代码的条件。正当我们为之苦恼的时候,接着发生的事情超出了我们的意料:微软公司决定,邀请全体写作组成员到微软公司总部阅读Windows 操作系统的源代码,并由主持Windows 2000操作系统设计的高级技术人员,向中国写作组专门讲解Windows操作系统的内部体系结构。据微软中国研究院介绍,这是微软公司第一次在亚洲地区开放Windows 操作系统的源代码。他们给予我们的支持让我们吃惊,也让我们非常感激。
2000年4月,西雅图风光秀丽,景色宜人。微软公司总部就坐落在西雅图的雷德蒙镇上。公司总部的办公楼,一半被浓密的森林包围着,另一半则是波光粼粼的湖泊。
写作组在西雅图的工作是紧张而高效的。我们每天一半的时间用来阅读Windows操作系统的源代码,另一半时间听取Windows 2000设计师Dave Probert组织的讲课,晚上时间则用来讨论问题或者整理技术资料。为了能够更深入地了解内部技术细节,上海交通大学的尤晋元老师在出行前就组织研究生专门列出有关Windows的内部技术问题,以便充分利用这次宝贵机会和微软总部的技术人员进行探讨。由于工作安排上的原因,整个写作组的八名成员,有四位未能去西雅图访问。但是他们也随时和赴美访问的老师保持着热线联系。史美林老师当时正在欧洲访问,也不断通过电话和电子邮件关心写作小组工作的进展情况。给写作组讲课的Dave Probert,曾经是美国Unix技术公司的主要研发人员,从事Unix操作系统的设计和开发长达二十年,对Unix系统有着极其深刻的认识。目前,他是Windows内核开发组骨干成员。微软公司拥有一大批像Dave Probert这样经验丰富的操作系统研究和设计人员,他们中有许多曾经从事过Unix操作系统、DEC VAX 机操作系统、Sun工作站操作系统。
毫无疑问,我们在微软公司总部的有关工作,对我们团队以后取得的成绩起到了关键的作用。我们先后与Dave Probert 合著了《Windows 操作系统原理》、《Windows 内核实验教程》。真诚的合作精神一直贯穿在我们的团队之中,每个人都为编写出优秀教材这一目标而努力。在形式上我们是一个地理位置分散的团队,但是无论每个成员在地球的哪个地方,我们始终保持着彼此之间的及时沟通和友谊。到目前,《Windows 操作系统原理》已经再版发行,我们也得到了许多老师肯定的反馈,这让我们非常开心。
在详细、深入地了解了Windows内核之后,我们的团队针对中国高校的教学实际安排设计了一系列难度不同的操作系统实验,真正将Windows操作系统引入到实际的教学环境中。通过“教育部微软精品课程”的网站,教师们分享了相关的课件以及案例。为持续推广该项目,微软亚洲研究院在2008年组织了亚太区的操作系统研讨会。在该次研讨会上,我们的团队得以和亚太地区的操作系统教师交流经验,分享教学案例。
篇7
平台之间应用扩展的互不兼容,足以成为消费者在进行平台更换时最大的麻烦与障碍。
自DOS时代开始,微软火箭升空式的崛起所形成对桌面操作系统的垄断,造就了一个名为Windows的系统平台帝国。尽管我等生活在这个帝国下的“子民”对漏洞百出、臭虫满地、效率低下的Windows之抱怨一天也未停歇,也为日渐臃肿的系统文件夹头痛不已,但对于Windows的依赖却让我们没有做出其他选择的勇气:高效安全易用的Mac OS X在支持性上的欠缺,以及Linux在易用性上的不足,部令其不能成为撼动Windows帝国根基的力量――大家看到的这些抱怨WindOWS的文字,也是在这个操作系统下一字字的敲击出来的。
说是对Windows有审美疲劳也好,还是因为从Windows XP到WindOWS Vista的进化很不成功也罢,正当我们所有人都把目光放在2009年10月底将要正式的Windows 7――承载微软希望的最新一代操作系统――身上的时候,苹果突然在8月25日宣布:三天后的8月28日,全新的Mac OS X Snow Leopard(雪豹)将问世,这一升级版的操作系统将会是之前取得巨大成功的Mac OS X Leopard(豹)的延续。8月28日,比起业界普遍预测的9月初早了没几天,但却足以让信心满满的微软极为不爽,这无异于摆了一道。其实让微软不爽的又何止苹果和SnOW Leopard,此前微软在搜索引擎市场上的劲敌Google爆出开发操作系统的消息,让多年以来“受够了”Windows的用户们奔走相告,颇让微软有点“世态炎凉,人心不古”的感觉。而这种发自桌面市场的不爽早已在手持市场上蔓延多时:Windows Mobile好不容易干掉了Palm,将Linux打得半死,却又面对换了“马甲”的Web OS和Android,再加上还有气势汹汹的Mac OS,和Svmbian本已达成默契的角力之势的如意算盘还没敲上几天就变得零零散散。虽然Windows Mobile6.5如箭在弦,WindOWS Mobile 7也蓄势待发,但微软却不得不面对未来两者左右手互搏的麻烦境地。
说到Symbian自然就会想到诺基亚,而想到诺基亚,自然不能不提8月24日这天提前曝光的“诺基亚上网本”――Booklet3G。诺基亚要出笔记本电脑已经不是秘密了,特别是有着N800,N810这一系列基于Maemo操作系统的Internet Tablet产品之后,换换造型来个“新瓶旧酒”顺理成章。但等到Booklet 3G一亮相,大家部被“冒”了,Maemo 5不见了踪影,取而代之的是Atom+Windows的上网本“国际标准”。尽管12小时续航+Ovi服务的接入让我们尝到了些许诺记风味,但是这款标准的“诺基亚牌上网本”还是有些让人意料之中也意料之外。其实诺基亚也是一家近来深感不爽的巨头,一直顺风顺水的Svmbian近来受到前所未有的挑战,虽然目前还是智能手机市场当仁不让的第一位,但这一操作系统放在移动互联的今天已经开始水土不服,这个基于上世纪90年代Epoc系统的Svmbian到现在已经拥有2000万行代码,接近于WindOWS XP的代码量,比起后起之秀们,Svmbian可能从没想到臃肿二字会和自己扯上关系,从而在与Mac OS和Android的移动互联竞争中开始落于下风。于是,诺基亚弃Symbian,转Linux(Maemo 5)的言论甚嚣尘上。虽然这位大佬对此矢口否认但从N900用Maemo 5而不用S60 V5的举动,已能让我们猜出一个大概,更何况还有诺基亚与英特尔Moblin Linux平台之前的联姻,都让我们对手持操作系统未来可能发生的变故充满了想象。
常言都说“竞争对消费者来说是件好事”,但现在这种从桌面延伸到手持的操作系统之争却让人感觉怎一个乱字了得?最要命的是,平台之间应用扩展的互不兼容,足以成为消费者在进行平台更换时最大的麻烦与障碍――仅是一个Symbian V8到V9的证书升级,就让多少消费者烦恼不已。不得不说,当下以及未来一段时间,我们将不得不面临一个操作系统过饱和的时代,虽说现在还谈不上“神仙打架,百姓遭殃”这般严重,但我们只希望在这个操作系统更替动荡的时段里,需要消费者做的事越少越好,我们只需尽享不同平台的优异体验就好了。
篇8
关键词:五防;防误装置;操作票;电脑钥匙
1 前言
针对我局目前对“安全传输发射工作”的重视,我们必须确保机器“三满”运行,而对于变电站的工作人员来说,就更要有高度的责任感和工作责任心,也必须要保证不间断安全、可靠的供电。针对这一特点我台采用了微机五防和机械五防相结合的五防操作系统来确保电力设备的安全运行。
2 五防的含义
首先我们先了解一下电力系统“五防”指的是什么:
1、具有防止误分、合断路器;
2、防止带负荷分、合隔离开关;
3、防止带电挂(合)接地线(接地开关);
4、防止带接地线(接地开关)合断路器(隔离开关);
5、防止误入带电间隔等防误功能
针对五防系统的要求我们的系统必须要具备以上几个基本功能,同时最好能通过声音告警的方式来提醒操作人,操作是否正确。电力系统“五防操作票系统”是发电厂和变电站使用的倒闸操作票的智能处理系统,它根据电力系统对倒闸操作的“五防”要求和现场设备的状态,按照规则进行判断,开出完全实用的包括一、二次设备操作项目的倒闸操作票。
再让我们来了解下微机型防误装置基本分类
微机型防误装置的基本分类见表1.
同时还要具备以下几个基本条件:
1、正确模拟、生成、传递和执行操作票。
2、准确采集、处理和传递信息,不允许出现误码。
3、符合防误程序的正常操作应顺利开锁且无空程序,误操作应闭锁并有光、声音或语音报警。声音或语音报警在距音响源50cm处应不小于45dB,光报警应明显可见。
4、具有电磁兼容性。
3 五防操作系统的使用介绍
下面介绍启动本系统和结束运行
一、启动
双击桌面上的“操作票专家系统”快捷菜单或选择开始菜单中的“操作票专家系统”,便可启动本系统。由于系统配置不同,该系统也能在开机后直接启动。
使用了总图,那么系统首先显示的是总图,单击总图上某站的接线部分则进入该站,如下图所示:
上图可分为三个区域,顶部为信息区,该区用来随时显示诸如操作票传票及回传情况、通讯情况等提示性信息,当无其它信息显示时将显示由用户自己确定的一行信息(一般为一次接线图名称)。
图的中部为一次设备接线图,它反映了设备的当前状态,当系统直接与监控系统相连时能够瞬时反映设备状态的变化情况,此时系统可以作为现场设备状态的监视屏使用。将鼠标移动到接线图上的某个设备上,系统会立即提示出鼠标所指向的设备的名称。一般来讲在某一时刻只能显示一个站的一次接线图(严格说来只能显示一幅图),但系统中各个站的数据是可以随时刷新的,也就是说,系统在显示某个站的接线图时可以同时接收其它站的操作票回传或设备状态。
图的底部为状态行,它用来显示站名、登录人、目前进行的操作、当前任务号、以及当前任务的操作项数等信息。
运行该系统后系统首先进入的是“未登录”状态,要使用本系统的开票等功能则必须用合法的用户身份登录。
3.1 用户登录
将鼠标指向计算机屏幕的右上角,此时该区域显示出珠海优特公司的图标,单击该图标,出现系统登录和退出运行菜单:
单击菜单中的“用户登录”后便可出现用户登录窗口:
在用户登录窗口中选择或直接输入用户名,在密码输入框内输入用户密码,在系统确认用户的合法身份后便可登录到系统,成功登录到系统后系统将显示出系统菜单和工具条:
在登录过程中系统将自动记录登录人姓名及登录时间,登录成功后系统状态行中“操作人”
栏将显示登录人姓名,状态行中的“操作”栏将显示“未选择”,此时登录人便可选择进行开票、操作票检索和系统维护等工作。
3.2 用户退出
登录人在完成所进行的操作后应及时退出,以防止他人对系统造成破坏,如果其它用户需要使用本系统登录用户也应该首先退出。单击工具条上的按钮或选择菜单“退出”登录用户便可退出。用户退出并不是结束系统的运行,登录用户退出后系统仍然在继续运行,此时系统可视为现场设备状态的反馈屏。
将鼠标指向计算机屏幕的右上角,此时该区域显示出珠海优特公司的图标,单击该图标,出现系统登录和退出运行菜单,选择菜单中的“结束运行”即可。
3.3 开票功能
1、开操作票及操作票执行过程
在第一次利用该系统开票之前应确保设备状态与现场状态一致,利用系统的图形开票功能开出一张操作票或者调用系统中的一张预存票或典型票并进行五防判断,打印出操作票或(并)将操作票传送到电脑钥匙,持操作票或(及)电脑钥匙到现场操作,操作完毕后通过电脑钥匙回传来改变系统中记忆的设备状态。
2、图形开票 单击系统工具条上的“图形开票”按钮或选择“操作票”菜单中的“图形开票”,系统将进入图形开票状态并立刻禁止工具条上进入其它状态的按钮和系统菜单,此时系统状态行中的操作栏显示“图形开票”。如果在系统选项中设置了“图形开票时选择运行方式”的话,系统会首先出现运行方式和任务名输入窗口。
1)加入一次设备操作
将鼠标指向某一设备,如果该设备符合操作条件,该设备周围会出现一个边框并将操作内容提示出来,如果该设备的操作条件不满足,则该设备的周围不会有边框出现,也不会出现操作提示。单击该设备,如果该设备符合操作条件则该项操作会追加到操作票中,此时,接线图上的设备状态显示成操作后的状态,如果被单击的设备操作条件不满足,则会出现下面的窗口来说明设备不可操作的原因,单击窗口中的“详细资料>>” 按钮,则可以看到操作该设备所应满足的条件
2)结束图形开票
再次单击工具条中的图形开票按扭便可完成本次图形开票工作,如果在本次开票过程中开出操作票项数不为零,则系统会显示出如下窗口:
用户可以通过该窗口中选择相应的操作。
3)传送操作票
当本系统为微机防误闭锁装置时,传送操作票是指通过通讯适配器将操作票传送到电脑钥匙,传输成功后便可拿电脑钥匙到现场操作。
计算机通过通讯适配器向电脑钥匙传送操作的过程可分为两步,第一步是将操作票传送到通讯适配器,第二步是通讯适配器将操作票传送到电脑钥匙,在第一步完成之后第二步开始之前可以通过选择系统菜单“通讯”中的“通讯适配器复位”取消向电脑钥匙传票操作。
同时该系统也可在模拟屏上先对要进行的操作进行预演,在进行预演的过程中同样如果操作违背了“五防”要求系统也会在模拟屏上进行提醒,这样做可以让对操作不熟悉的人员进行模拟的先培训,再将操作的步骤传送到电脑钥匙上,通过电脑钥匙再去设备前进行操作。这样也起到了“双保险”的作用,如果再去设备前进行操作时发生“误入带电间隔”电脑钥匙也会进行“语音提示”。
4 小结
在这里我向大家介绍了我台“五防操作系统”的基本组成,和操作票系统的简单使用,同时我们也在不断的完善该系统,同时该系统的设备状态是从综合自动化保护装置中取样得来的,这也就要求我们必须对综合自动化保护装置即设备的实时运行状态要做到心中有数,虽然该系统可靠性很高,但我们在平时的工作中也不能掉以轻心,同时也要加强业务知识的学习。
参考文献
[1]变电站值班与运行管理 王晴 著
篇9
关键词:操作系统;实验项目;实验平台
中图分类号:G642.4 文献标识码:B
文章编号:1672-5913 (2007) 22-0021-04
1引言
操作系统课程是一门内容丰富,包含许多概念、方法、算法的课程,解决好理论与实践相结合的问题是提高操作系统教学质量的关键。例如,如果在讲解同步机制前先指导学生设计并发运行的多线程程序,当他们直接观察到由于缺乏同步机制导致程序结果出错的情景,就会激发出对解决方案的学习热情。国内外许多大学针对操作系统课的实践环节提出了丰富的多层次的实验方案,下面分别从实验内容、实验环境、考核方法与标准等方面进行分析介绍。
2实验内容
对于操作系统课程实验,实验平台在很大程度上决定了实验的内容和难度以及效果,所以我们下面主要按照实验平台或实现层次划分项目的类型。
1.1教学用操作系统
这类实验又可以分为基于模拟器的和直接运行于裸机上的实际OS源代码。基于模拟器的有伯克利的OPS、Toy、Nachos、MPX、OPS、上海交大开发的MOS操作系统等。直接运行于裸机上有MINIX、XINU等。基于模拟器的系统是面向实验设计的,会设置一些便于的调试与项目管理的特征。例如,OPS系统允许学生周期地查看系统的状态信息,包括设备表、PCB池、事件队列等。学生也有机会修改模拟参数[1]。OPS的项目产生器能自动生成模板文件,包含过程头和所需的数据结构声明,只由学生完成过程体。
作为一个教学用操作系统,Nachos的目标不是展示一个成功的操作系统,而是提供一个便于扩展的框架。例如它的文件系统实现了所有必要的数据结构,只是在很多方面做了一定的限制,可将实验项目内容设置为消除某些限制。
MINIX是一个虽小但完整的教学用操作系统,可运行于实际的机器硬件上。与基于模拟器上的系统比,它可以给学生更切实的感受。包含有3000行注释的12000行源代码使整个系统较为容易阅读和理解,MINIX“小”到学生可以理解它的主体部分,“大”到足够让学生体会到一处小小的修改会影响到表面上看起来不相关的函数里。学生项目可以是修改调度器或增加新的文件系统等。但是从教学的角度看,上万行的代码仍过于庞大,并且MINIX的“完整”也限制它的扩展余地。所以近年来出现了面向“简单、真实、容易理解的”的雏型操作系统,例如瑞士ETHZ大学的Topsy、美国马里兰大学的GeekOS,以及北京大学的PTOS等。
除了用于操作系统课的教学,近年来随着嵌入式系统的兴起,教学类操作系统正由于规模小而受到越来越多的关注。
1.2通用操作系统内核
由于Linux操作系统是开放源码的,所以这类实验通常以Linux作为目标平台。此类实验较早的提倡者是Gary Nutt[2],他提出的一些实验项目内容被许多学校沿用、发展,在美国有10多所大学采用修改Linux内核的实验[3]。分析Linux源代码能锻炼学生分析大型软件代码的能力,对高质量代码分析、理解的过程也同时是一个学习好的编程风格和设计思想的过程。所以虽然它们是操作系统类的实验,但从某种程度上也是软件工程类的实验。
基于Linux的修改内核实验通常包含如下几类内容:
Linux内核编译与配置方法
在分析阅读源代码基础上修改调度算法
实现新的同步原语
增加系统调用
增加可动态加载模块
驱动程序设计
1.3仿真实验
这类项目通常采取仿真实现操作系统中的一些典型技术,如进程调度算法,但实现中涉及的资源和数据结构都是虚拟的,实现程序并不需要对实际资源进行真正的访问。国内大多数高校都设置这类的实验[2]。这类实验不需特定的支撑平台,教师避免了安装和配置支撑平台软件的工作,学生避免了花在熟悉实验平台方面的时间,通常调试也更容易一些。而且教师可选择更广范围的OS概念来分配项目。学生可以在任意计算机上使用任意程序设计语言来编程实现。
这类实验最大的缺点是通常只要求实现一个孤立的模块,无法体现操作系统系统各模块之间复杂的联系,只关注于某一个功能的实现,实际上相当于简化了问题。设想一个实现进程调度算法的模块,如果只是实现一个单独的调度策略,而不是像一个实际的系统中那样会综合运用多个策略;如果简化系统的状态为只是运行与就绪;如果不考虑响应信号会影响状态转换;如果系统调度的时机只是运行完与时钟中断;如果不考虑实现定时唤醒机制;如果不考虑核心数据的保护等等;这样的一个实现与实际系统中的复杂性不可同日而语,对辅助学习操作系统理论的效果很有限。
所以,为了能够真切体会操作系统作为一个大型系统软件的复杂性,仿真实验项目内容的选择与设计很重要。我们认为操作系统内核中的底层功能模块不适合做这类实验的题目,因为考虑到实现的效率,通常很难将它们孤立地设计。反之,高层功能模块因为本来就设计为系统可灵活配置与扩展的部分,与其他部分处于较松散的连接方式。这样既能体会操作系统针对某一功能的设计思想,又避免纠缠于硬件相关的细节。例如,用户空间的文件管理器就是这样的项目[4],实验内容的实现通过系统调用使用内核中文件物理组织和设备管理模块,项目的内容聚焦在文件和目录的管理方面。
1.4系统程序设计
系统程序设计是指编写与操作系统紧密相关的程序,这些称为系统软件的模块可看成是操作系统的部分。为了编制这些系统程序,需要详细考察操作系统内核提供的相关资源和服务,所以此类编程实践能促使学生对系统调用和相关数据结构的深入理解。为强调系统程序设计与操作系统教学的紧密联系,美国斯坦福和加州伯克利大学没有设置单独的操作系统课,而是操作系统和系统程序设计课。UNIX类操作系统的命令解释器的实现就是这类项目。在理论课程中只介绍命令解释器所处的层次与功能,正好可以在实验中讲解它的实现方法,使学生进一步领会fork、exec、wait等系统调用设计上的精妙之处。
用户空间的线程库的实现也是这种实验项目。在理论课程中通常只介绍用户级线程与内核级线程的不同,而对用户级线程怎样在内核不察觉的情形下进行切换,学生往往感到困惑。通过这个实验既可以帮助学生进一步理解线程的概念,内容本身也可以归类为对内核调度机制的仿真。怎样既不失去仿真的“真”,又能够控制实现的难度,通过提供支持库实现对CPU寄存器的处理是一个比较好的方案[6]。这样学生在实现线程库时就可以不用汇编语言,在没有简化问题的前提下,只采用高级语言就能完成项目。
1.5系统体验
这类实验是在指定的操作系统下进行,侧重于系统的管理及应用程序设计。与仿真实验一样,项目内容局限在用户空间,侧重点在于操作系统的使用。这类项目的内容通常有shell命令、shell程序、进程通信、线程与同步等内容。这类项目的设计目标主要是开发特定操作系统之上的高级应用程序,这些应用程序会充分利用操作系统的各种支持,是运行效率高的应用程序。生产者消费者问题、读者写者问题等就是这类的项目。在教学中,指明这类典型问题与实际应用问题直接的联系,才能使学生明了这些实验的现实意义,是提高学生兴趣的关键。
3课程设置以及辅助教学环境建设
近年来,许多大学加大了操作系统相关课程的教学力度,例如北京大学14周的“操作系统实习”课在2005年以前为选修课,2005年开始为本科生必修课。2007年起美国加州圣地亚哥大学新设置了“操作系统结构与实现”课,与“操作系统原理”和“操作系统实习”一起构成了系列课程。
现在,开放源码的操作系统不仅仅是争得了一席之地,而且成了商业产品的有力竞争者。所以操作系统的实验对象也更多地转向了此类能提供高质量产品级源码的系统。此类系统由于功能的完整,导致系统庞大不适合在虚拟机上运行,所以许多大学都设置了专用的操作系统实验室。但是由于修改操作系统内核的实验有可能导致系统崩溃,为了避免系统崩溃,指导教师会专门指导编译内核时相关设置的方法,但是这种预防的方法是无法保证一定不会发生系统崩溃,而且由于修改内核需要超级用户的权限,这可能引起其他安全问题。例如机器上的所有文件的所有权和完整性都可能受到威胁。这意味着相应的实验用计算机由于不稳定与公开性无法共享使用。当系统无意中受到破坏时,应当有快速修复的方法。一个超级用户可能有意无意地以大量发送数据包的方式影响网络通信,造成拒绝服务攻击。所以有必要研究相应的管理方法。
一个比较全面的解决方案是这样的[7]:
设置专人管理专用的操作系统实验室,他同时是操作系统课的助教。
实验用机通过一个服务器才能访问网络,服务器上设防火墙。服务器在WPI网上,实验用机在内网里。
实验用机的快速恢复系统脚本程序制成可启动CD。恢复方式应有多种选项。
每一个实验组指定一台计算机,他们有root 权限。每个机器设三类账户:教师账户,本组账户和客人账户。
为防止有人用软盘启动其他组的计算机,设置BIOS使机器的启动顺序为硬盘、CD-ROM,并用密码保护BIOS设置。
每个学生在服务器上设置一个账户,用于备份项目代码以及在实验室以外访问实验机。
为避免通过网络窃取密码,只允许安全的方式(SSH、slogin、scp)连接服务器。
每个学生都能在其他实验用机上启动所属机器的X会话。这样组中多人可同时工作。
因为相当部分的操作系统实验项目难度大,所以师生之间、学生之间的讨论、交流信息非常重要。许多课程建设了网络互动教学环境以适应这种需要,通常以学习交流论坛(BBS论坛)和新闻组的方式。
4评分方法与标准
学生独自完成较大的项目有困难,应当组织3~4人团队共同完成。这样既可以布置工作量大、难度大的项目,又可以锻炼学生的团队协作能力。团队中,理论强与动手能力强的同学可以相互间学习交流,互取所长。这种“团队协作”方式最主要的缺点是不容易保证评价的公正性,如果教师想鉴别出“搭车”的学生,只能通过平时的交流和设置答辩环节。有的学校采用类似民主评议的方式,让学生相互评估对项目完成的贡献大小。
这种当面评价的方式也许不适合国人爱照顾面子的习惯,所以有的大学不把自评的内容放在报告中,而是直接以邮件的形式发给教师。为实现评价的公正性和便于助教操作,应给出具体的评分标准。例如,可参考表1制作实验评估表。
5结论
实验对理解操作系统课的内容很重要,有丰富的各种层次的实验项目与环境供教师依据学生的水平进行选择。如果选择做有可能使系统崩溃的实验,应当有专门的实验室并且采取可靠的管理措施。加强实验过程中与学生的交流和对实验报告的量化评价能够督促学生重视实验,获得好的实验效果。
参考文献
[1] William Stallings. 操作系统―精髓与设计原理(第五版)[M]. 北京:电子工业出版社,2006.
[2] G. Nutt. Kernel Projects for Linux. Addison-Wesley, 2001.
[3] Charles L. Anderson,Minh Nguyen.A SURVEY OF CONTEMP-
ORARY INSTRUCTIONAL OPERATING SYSTEMS FOR USE IN UNDERGRADUATE COURSES.Journal of Computing Sciences in Colleges, Volume 21, Issue 1, Pages: 183 C 190,October 2005.
[4] Gary Nutt. 操作系统现代观点(原书第2版・实验更新版)[M]. 北京:机械工业出版社,2004.
[5] David Hovemeyer. GeekOS: An Instructional Operating System for Real Hardware[EB]. /docs/.
[6] Tom Bennet. A thread implementation project supporting an operating systems course,Journal of Computing Sciences in Colleges Volume 22 ,Issue 5May 2007.
[7] Mark Claypool, David Finkel, Craig Wills. An open source laboratory for operating systems projects. ACM SIGCSE Bulletin archive Volume 33 , Issue 3, September 2001.
作者简介
刘晓燕(1963-),女,博士,副研究员,主要研究方向: Linux 操作系统的研究和分析,知识工程,
张岩(1965-),男,在职博士生,副教授。主要研究方向:生物信息学、信息集成。
通信地址:哈尔滨市南岗区西大直街92号哈尔滨工业大学318信箱150001
篇10
关键词:操作系统;实践教学;实验设计
中图分类号:G642 文献标识码:B
文章编号:1672-5913 (2007) 20-0008-03
1引言
操作系统是计算机科学与技术专业的一门重要基础课程,其教学目的使学生通过学习各种资源管理的原理和机制,建立起关于操作系统如何工作的理论知识基础。但操作系统同时也是学生们认为比较难学的专业课程之一。其原因有二:一是操作系统课程讲述的是计算机资源管理的原理和机制,其中包含了许多抽象的概念和算法;二是操作系统作为最底层的核心软件,深藏于“用户界面”之下,学生们难以找到学习内容的参照对象。因此,操作系统实践教学作为教学辅助环节十分重要,它的作用在于通过动手做实验,帮助学生解决从抽象理论到具体对象的认识问题,培养学生应用知识解决问题的能力。
与程序设计、编译原理和数据库等软件课程的实践教学相比,操作系统课程的实践教学有其特殊的地方。前者可以通过实现一个小型的应用程序或简化的编译器、数据库来完成实践教学,而后者不能这样做。因为操作系统不仅与硬件平台密切相关,而且内部结构非常复杂,即使让学生实现一个最简单的操作系统也是不现实的。近年来,我们以开源的Linux操作系统和WMware虚拟机作为实践平台,针对不同的教学对象和教学要求,精心设计了多种方式的实验项目,在操作系统实践教学上做了一些有益的探索。本文首先分析操作系统实践教学的目标,然后说明如何具体设计实验项目。
2实践教学目标
我们认为,操作系统实践教学作为辅助教学环节,有两个主要目标。
(1) 帮助学生理解操作系统的基本概念、原理和机制
操作系统包含了许多抽象的基本概念如进程、线程和虚存,也包含了复杂的资源管理算法和机制,如进程调度和页式存储管理。这些知识对于本科学生而言是比较难以理解的,因为他们平时使用的是操作系统的用户界面,很少也很难窥视到操作系统的内部。操作系统的实践教学应该让学生了解一个真实操作系统的内部实现,从而帮助学生更好地理解操作系统的基本概念、原理和机制。
我们采用开源的Linux操作系统作为实践教学的教材,指导学生阅读和分析Linux的部分源码,将学生带入一个真实而复杂的操作系统内部世界。在阅读和分析源码的过程中,学生能够了解抽象的进程和线程所对应的具体数据结构,了解进程调度算法的实现过程,并应用所学的操作系统原理知识分析和讨论Linux的调度策略。另外,我们要求学生在做每项实验前自学Linux操作系统的相关知识,使学生清楚地看到操作系统的原理知识是如何体现在一个实际系统中的。
(2) 培养学生应用操作系统知识的能力
操作系统是计算机系统的核心软件,从事计算机行业的专业人员都需要操作系统的原理知识,但他们担任的角色不同,面临的问题就不同,因而所具备的操作系统知识的应用能力也不同。系统管理员需要根据操作系统知识和用户的需求,合理地配置系统资源,需要及时了解系统运行状态,调整资源管理策略,使系统性能达到最佳;系统程序员需要详细了解操作系统的内核结构、资源管理机制和功能模块接口,为操作系统添加新功能或编写设备驱动程序;应用程序员则需要正确理解操作系统的功能和资源管理策略,编写出高效率且安全的应用软件。操作系统的实践教学必须考虑到上述不同能力培养的特点,以满足学生未来任职需要。
我们以开源的Linux操作系统和WMware虚拟机作为实践平台,精心设计实验项目,从多个方面培养学生应用操作系统知识的能力。例如,学习使用Linux的proc文件系统,对内核运行状态、资源管理状态和进程运行状态进行动态查询;学习Linux的系统调用机制和内核模块动态加载机制,掌握为操作系统添加新功能的方法和过程;编写进程通信应用程序,掌握各种进程通信、同步互斥机制的特点和使用方法。
3实验项目设计
我们在上述的实践教学目标的指导下,设计了多个实验项目,内容涵盖了操作系统的主要知识点,包括用户界面、进程通信、proc文件系统、系统调用机制、进程调度、内核同步互斥机制、驱动程序接口等。考虑到学生的知识和经验背景,实验项目的安排从简到难,从依靠指导到自主设计。除必做的实验项目外,还设计了选做的实验项目,为有能力的同学提供更多的学习空间。下面分别介绍我们设计的九个实验项目。其中,前三个实验项目是为应用程序员和系统管理员设计的,使学生掌握如何使用操作系统的命令界面、进程机制和系统性能管理工具;第4个实验安排学生阅读和分析源码,理解操作系统原理在实际系统中的实现过程;后五个实验项目是为系统程序员设计的,让学生体验操作系统内核编程的全过程。
(1)Linux命令界面及shell编程
该项实验的目的是学习使用操作系统的命令用户界面。实验内容是:了解和使用Linux的常用命令,包括如何使用联机帮助手册和管道线命令;学习使用命令程序语言shell进行简单的编程,从而理解命令解释程序的工作过程。由于学生平时使用的是windows的图形用户界面,面对Linux的命令界面感到很陌生。所以,我们先给学生一个shell例子程序,让学生按照说明步骤上机运行该程序,然后要求学生参照此程序实现一个应用管道线的shell程序。
(2) 进程间通信
该项实验的目的是加强学生对进程概念的理解,使学生掌握不同的进程通信和同步互斥机制的特点和使用方法。实验内容是:设计应用程序实现父、子进程之间的数据交换,可采用各种方法实现父子进程之间的通信(共享区、文件、消息传递、管道文件)和同步互斥控制(信号量、信号)。
(3) 使用proc文件系统
该项实验的目的是学习如何使用Linux的proc文件系统,对内核运行状态、资源管理状态和进程运行状态进行动态查询。实验内容有:先通过课堂讲授让学生了解proc文件系统的设计思想、工作原理和组织结构,然后要求学生利用proc文件系统中的数据来说明操作系统或进程的某些特性。例如,利用/proc/stat中的数据显示CPU的使用情况――系统利用率和用户利用率;利用/proc/intr中的数据显示内存容量对缺页异常次数的影响。
(4) 分析进程调度算法和策略
该项实验的目的是帮助学生深入理解进程调度过程,培养学生分析和研究问题的能力。实验内容是:阅读和理解Linux的进程调度函数schedule()、进程数据结构task_struct等内核源码,分析和研究Linux的进程调度算法和策略,写出研究论文。要求学生在论文中讨论以下问题:进程调度队列是如何组织的;如何实现三种调度类型(SCHED_FIFO, SCHED_RR, SCHED_OHTER);进程的优先级是如何定义和动态变化的;如何决定时间片的大小以及它与优先级的关系;对实时进程和多CPU的支持;评价Linux的调度策略并提出改进意见。
(5)Linux内核编译
该项实验的目的是学习如何生成新内核,为后面进行操作系统内核编程的实验做准备。实验内容有:学习如何下载和解压源码,了解Linux内核源码的组织结构,学习配置、编译、安装和启动Linux新内核的全部过程。
(6) 添加系统调用
该项实验的目的是让学生理解操作系统的重要机制――系统调用机制的工作过程,学习如何添加系统调用。实验内容是:阅读源码文件,分析系统调用表等内核数据结构;实现新的系统调用函数,添加新的系统调用,编译和生成新内核;编写应用程序,验证新系统调用的功能。
(7) 加载内核模块
该项实验的目的是学习动态增加内核功能的方法。内核模块动态加载/卸载是操作系统的另一重要机制,它使得用户不仅能动态裁剪内核功能,还能通过自己编写内核模块或使用第三方软件来动态增加内核功能。实验内容有:首先通过课堂讲授让学生了解Linux模块机制的工作原理、模块的编程和编译方法,然后要求学生采用内核模块编程方法,为proc文件系统添加一个新文件。在该项实验中,学生不仅要学习内核模块的编程、编译、加载和卸载全过程,还需要查找资料和阅读源码,搞清楚proc文件系统中关于创建文件、读/写文件和删除文件的函数接口,以此锻炼学生的自主动手的能力。
(8) 实现同步事件原语
该项实验的目的是学习如何实现同步互斥机制。实验内容是,实现一组同步事件原语:能够使多个进程阻塞在某个特定的事件上,直到另一个进程产生该事件,从而唤醒所有在此事件上阻塞的进程。这是一项综合的复杂实验。实验者需要分析清楚同步事件原语的语义以及进程同步过程中的所有细节问题,正确设计同步事件的数据结构和系统调用原型,分析Linux源码中关于进程等待队列和内核信号量的相关函数,并利用这些函数实现同步事件原语的系统调用。然后,采用内核模块方法将新的系统调用添加到Linux内核中,并通过应用程序验证其正确性。
(9) 实现虚拟管道设备
该项实验的目的是学习如何编写驱动程序。实验内容是:使用内存区(例如2048字节)实现一个虚拟的字符管道设备:允许多个进程向管道写入数据,也允许多个进程从管道读出数据,保证数据的写入顺序与读出顺序是一致的。这也是一项综合的复杂实验,实验者需要分析研究读/写管道设备过程中的同步互斥问题,利用内核信号量函数和进程阻塞/唤醒函数解决同步互斥问题;分析研究Linux的字符设备驱动程序接口,学习如何编写和注册驱动程序的接口函数以及如何建立Linux设备文件。然后,采用内核模块方法将新功能添加到Linux内核中,并通过应用程序验证其正确性。
4结束语
操作系统实践教学应该为学生提供一个实验环境,使学生能够触摸真实的操作系统内核,从而更好地理解操作系统的基本概念、原理和机制;使学生能够亲身体验操作系统功能的设计和实现过程,培养学生应用操作系统知识的能力。我们在操作系统实践教学中做了一些有益的工作,教学效果也不错,但还存在一些问题有待于进一步研究和探索。例如,如何与课堂教学互补,进一步激发学生学习操作系统的兴趣;如何通过构建实验平台将操作系统中更多的内核机制(中断机制、内存管理机制等)呈现给学生;如何设计更为实用的、学生自主性更强的实验项目,等等。
参考文献
[1] 罗宇. 操作系统课程设计[M]. 北京:机械工业出版社,2004.
[2] 陈莉君. 深入理解Linux内核[M]. 北京:中国电力出版社,2004.
[3] 李善平. 边学边干―Linux内核指导[M]. 浙江大学出版社,2002.
作者简介