基于QT的数码相框设计本科毕业设计.doc

上传人:仙人指路1688 文档编号:4022410 上传时间:2023-04-01 格式:DOC 页数:64 大小:1.97MB
返回 下载 相关 举报
基于QT的数码相框设计本科毕业设计.doc_第1页
第1页 / 共64页
基于QT的数码相框设计本科毕业设计.doc_第2页
第2页 / 共64页
基于QT的数码相框设计本科毕业设计.doc_第3页
第3页 / 共64页
基于QT的数码相框设计本科毕业设计.doc_第4页
第4页 / 共64页
基于QT的数码相框设计本科毕业设计.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《基于QT的数码相框设计本科毕业设计.doc》由会员分享,可在线阅读,更多相关《基于QT的数码相框设计本科毕业设计.doc(64页珍藏版)》请在三一办公上搜索。

1、上海电力学院本科毕业设计(论文) 题目: 基于QT的数码相框设计 上海电力学院本科毕业设计(论文) 题目: 基于QT的数码相框设计 院系: 计算机与信息工程学院 专业年级: 2007电子科学与技术 学生姓名: 学 号: 指导老师: 2011年 月 日毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作

2、了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对

3、本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神

4、优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有

5、新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计

6、说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设

7、计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日基于QT的数码相框设计摘要 随着现代科学技术的飞速发展,人类历史即将进入一个崭新的时代。嵌入式Linux系统已经越来越贴进我们的生活,Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言和汇编语言写成,符合POSIX标准的

8、类Unix操作系统。嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。本文简要介绍在Linux平台上基于QT编译数码相框,其中运用到了嵌入式Linux内核以及Qt/Embedded,MiniGUI,Microwindows等嵌入式图形用户界面的技术特点,并重点介绍应用Qt/Embedded移植一个图形界面程序到Mini2440实验板的过程,其中Mini2440实验板,采用S3C2440AL芯片,及Linux2.6.13内核。关键词 linux

9、C语言 qt 嵌入式 S3C2440ALCompile using qt based on Linux platform digital photo frameAbstract The modern age rapid development of science and technology, and human history is about to enter a new era. Embedded Linux system has been more and more close to our life, Linux is the most popular free computer

10、operating system kernel. It is a C language and in assembly language, accord with the POSIX of Unix operating system. Embedded Linux is will increasingly popular Linux operating system, can cut out modification in embedded computer system running on an operating system. Embedded Linux inherits the I

11、nternet on unlimited resources, and open source operating system has the characteristics of embedded. This paper briefly introduces the Linux platform based on QT in the digital photo frame, compiled using the Embedded Linux kernel and QT to MiniGUI, Microwindows/Embedded security, such as graphical

12、 user interface Embedded the technical characteristics, and introduced the key application QT/Embedded security transplant a GUI application to Mini2440 experiment board process, in which Mini2440 experiment board, use S3C2440AL chip, and Linux2.6.13 kernel.Keywords Linux C language qt embedded S3C2

13、440AL目录1. 前言11.1 研究背景11.2 研究目的和意义22. 嵌入式系统和嵌入式Linux42.1 嵌入式系统概述42.2 嵌入式linux62.3 嵌入式Linux的特点和优势62.4嵌入式linux内核72.4.1 linux内核描述82.4.2 linux内核系统体系结构92.4.3 linux2.6.13内核的特点113. 嵌入式Linux系统GUI设计分析133.1 图形用户界面概述143.2 嵌入式系统的GUI简介143.3 GUI的组成173.4 Qt/Embedded分析193.4.1 Qt/Embedded的工作模式193.4.2 Qt/Embedded中客户端/

14、服务器通信方式214 QT技术224.1 QT的优势224.2 QT图形用户界面234.3 QT Creator的特点以及优势235 软硬件开发环境245.1开发板Mini2440介绍255.1.1 Mini2440特点255.1.2 Mini2440开发板硬件资源特性265.2芯片S3C2440L简介275.3虚拟机概述285.4 Linux内核和yaffs文件系统移植316 数码相框程序的移植过程336.1 移植QT336.1.1 QT源代码编译336.1.2 交叉编译346.2 程序开发346.2.1 主程序中创建类346.2.2 制定程序框架356.2.3 编辑调试程序356.3 各个

15、功能的程序设计366.3.1 文件管理模块的设计366.3.2 图片播放模块的设计396.3.3 系统设置模块的设计416.4 设计成果437 结论44谢辞45参考文献461. 前言21世纪,随着现代科学技术的飞速发展,人类历史即将进入一个崭新的时代信息时代。其鲜明的时代特征是,支撑这个时代的诸如能源、交通、材料和信息等基础产业均将得到高度发展,并能充分满足社会发展及人民生活的多方面需求。信息科学的基础是微电子技术和光电子技术,它们同属于教育部本科专业目录中的一级学科“电子科学与技术”,而嵌入式就是其重点之一。嵌入式系统得到迅猛发展和普及,嵌入式技术的研究与发展成为当前的一个热点话题。嵌入式系

16、统指的是把计算机系统作为一个信息处理部件嵌入到应用系统中而形成的系统,是适应具体应用系统在功能、可靠性、成本及功耗诸多方面更多的综合要求的专用计算机系统,它是计算机技术追求经济型、小型化、可靠性、高速度和智能型的必然结果。嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。1.1 研究背景嵌入式系统是先进的计算机技术、半导体技术、电子技术以及各种具体应用相结合的产物,是技术密集、资金密集、高度分散、不断创新的新型集成知识系统。近年来,随着计算机、微电子、通信及网络技术的发展,嵌入式系统已经应用于

17、工业控制、家用电器等领域,并广泛用于移动计算机平台、信息家电、无线通信设备、电子商务平台及军事设备。嵌入式系统的飞速发展离不开嵌入式处理器和嵌入式操作系统的发展。在嵌入式处理器方面,ARM已取得了极大的成功,在创立至今短短的几十年的时间就占据了75的市场份额,ARM芯片在嵌入式领域几乎随处可见,它目前是世界上销量最多的32位微处理器。32位的ARM处理器由于它的低成本、低功耗和高性能的特性,使其已成为32位嵌入式处理器的事实上的标准。嵌入式操作系统方面,开源系统Linux由于很多程序员的加入,使其不断的在发展壮大。嵌入式Linux具有可用于多种硬件平台、源码开放、内核高效稳定等优点,使其成为嵌

18、入式领域主流的嵌入式操作系统。嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。目前,嵌入式技术已成为通信和消费类产品的共同发展方向。嵌入式系统几乎包括了生活中的所有电器设备,如掌上、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。嵌入式操作系统并

19、不是简单嵌入的操作系统,它与通常意义上的操作系统有一定的区别。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度工作,控制协调并发活动,它体现所有系统的特征,能够通过装卸某些模块来达到系统所要求的功能。Linux是现代操作系统的典型代表,具有灵活性高、移植性强、可靠性好,支持多种硬件体系结构、源代码开放等特点,所以在Linux的基础上,借鉴它的思想、结构,对其进行改造来构建嵌入式操作系统是一个明智之举。1.2 研究目的和意义目前,在 Linux下应用软件开发领域急需一种容易学习、成本低、效率高的GUI应用程序开发方法,以解决Linux应用程序的易用性不高,应用范围相对狭窄的问题。而QT

20、则是一个可以应用于Linux下的全面的C+程序开发框架,它能够开发高性能、跨平台、功能丰富的客户端和服务器端程序,同时QT还包含针对跨平台开发和国际化开发的类库和相应的开发工具,更引人注目的是,目前Linux上最为流行的KDE桌面环境就是建立在QT库的基础之上的。随着嵌入式系统功能的完善以及图形显示设备的广泛应用,目标产品对Linux操作系统的需求越来越多,要求也越来越高。当初的一些简单的人机交互接口已经无法满足人们的要求,几乎只要是面向人机交互的嵌入式产品,就会涉及文字编辑、图形视频,甚至Web浏览器,而这一切均要求有一个高性能、高可靠的Linux的支持。据调查,目前国际上有两百多种嵌入式操

21、作系统,这些嵌入式操作系统可以分为实时操作系统和非实时操作系统两种。在所有的操作系统中,Linux是发展最快、应用最广泛的。Linux本身的种种特性使其成为嵌入式开发的首选。在进入市场的前两年中,嵌入式Linux的设计通过广泛应用而获得巨大成功。随着嵌入式Linux技术的成熟,定制需要的尺寸尤为方便,同时支持更多平台,并从早期的试用阶段迈进到成为嵌入式市场的主流。根据IDC的报告,Linux已经成为全球第二大操作系统。预计在服务器市场上,Linux在未来几年将以每年25%的速度增长,中国Linux市场更是保持40%左右的增长速度。Qt/Embedded是一个专门为小型设备提供图形用户界面的应用

22、框架和窗口系统,是高端嵌入式设备PDA及手机的主流开发工具。作为一项成熟的技术,KDE(Koll Desktop Environment,k桌面环境)桌面系统对于嵌入式窗口系统的设计有很大参考价值,Qt/Embedded给嵌入式窗口系统提供了很好的框架,提供了丰富的窗口小部件(Widgets),并且还支持窗口部件的定制,因此它可以为用户提供漂亮的图形界面。Qt/Embedded是KDE等项目使用的GUI支持库,所以有许多基于Qt/Embedded 的X Windows程序可以非常方便地移植到Qt/Embedded版本上,而本文所述设计主要是基于Qt/Embedded的应用上。2. 嵌入式系统和

23、嵌入式Linux嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器目前趋向用32位甚至64位的高性能处理器,相关支撑硬件包括显示卡、存储介质(ROM和RAM等)、通讯设备等等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(Flash Memory)作为存储介质。嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点,而嵌入式Linux由于它的开源性、内核的健壮性和稳定性、可

24、裁减性、成为了嵌入式操作系统的新宠。本章主要介绍嵌入式系统的概念,及Linux操作系统的特点和优势,并就开发平台Linux2.4.31内核做主要说明和分析。2.1 嵌入式系统概述嵌入式系统是集软、硬件于一体的可独立工作的“器件”。嵌入式系统的硬件部分包括处理器微处理器、存储器及外设器件和端口、图形控制器等。这种系统有别于一般的计算机处理系统,它不像硬盘那样有大容量的存储介质,而大多使用E-PROM、EEPROM或闪存Flash Memory作为存储介质。软件部分包括操作系统软件要求实时和多任务操作和应用程序编程。应用程序控制着系统的运作和行为;而操作系统则控制着应用程序编程与硬件的交互作用。嵌

25、入式系统(Embedded System)是一个相对模糊的定义,目前己经渗透到我们生活中的每个角落,包括工业、服务业、电子消费等等各个领域,由于这种应用范围的扩大,使得“嵌入式系统”更加难于明确定义。比较权威的定义有两种,一种是,国内的一般的定义:嵌入式系统是计算机软件和硬件的综合体,它是以应用为中心和以计算机技术为基础的,并且软硬件是可以裁减的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。另一种是,IEEE(国际电气和电子工业协会)的定义:嵌入式系统是用于控制、监视或者辅助操作机器的设备和装置。两种定义分别是在不同方面来阐述嵌入式系统的特点,可以将嵌入式系

26、统简单的理解为一种软件和硬件的综合体,将电子、计算机技术与具体应用相结合后的产物,是一种体型小巧、功能强大的集成系统。嵌入式系统一般指非PC系统,它包括硬件和软件两部分,硬件设备包括处理器和外围设备,软件部分包括操作系统软件和应用程序。嵌入式处理器是嵌入式系统的核心部分,它与通用处理器最大的区别在于,嵌入式处理器大多工作在为特定用户群所专门设计的系统中,它将通用处理器中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。如今,全世界嵌入式处理器已经超过1000多种,流行的体系结构有30多个系列,其中以ARM、PowerPC、MC 68000

27、、MIPS等使用最为广泛。外围设备在嵌入式系统中主要用于完成存储、通信、调试、显示等辅助功能,如存储器及外设器件和I/O端口、图形控制器等。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统不仅具有通用操作系统的一般功能,如向上提供对用户的接口(如图形界面、库函数API等),向下提供与硬件设备交互的接口(硬件驱动程序),管理复杂的资源系统,同时它还在系统实时性、硬件依赖性、软件固化性以及应用专用性等方面具有更加鲜明的特点。嵌入式系统的应用环境复杂,嵌入式处理器的多样化,使嵌入式操作系统的种类繁多,以适应不同的应用。常用的嵌

28、入式操作系统有如下几种:WinCE,Vxworks,Symbian,Linux,uClinux,ETLinux等。嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才具有其实用价值。2.2 嵌入式linux嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。2.3 嵌入式Linux

29、的特点和优势嵌入式Linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式Linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。Linux做嵌入式的优势,首先,Linux是开放

30、源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新 速度很快,linux是可以定制的,其系统内核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。 Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品

31、,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Toker ring(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。现今Linux已经在嵌入式领域显示了强劲的发展势头。Linux是一个成熟而稳定的网络操作系统,Linux操作系统在短暂的时间内得到迅猛发展,是与其良好性能分不开的,其主要特性表现在如下几个方面:(1)开放性:指系统遵循世界标准规范,特别是遵循开放系统互联(OSI国际标准)。凡遵循国际标准所开发的硬件和软件,都能彼

32、此兼容,可方便地实现互联。(2)多用户:指系统资源可以被不同用户各自拥有和使用,每个用户对自己的资源有特定的权限,互不影响。(3)多任务:是现代计算机的主要的一个特点,是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程,平等地访问微处理器。(4)良好的用户界面:Linux向用户提供了3种界面:传统操作界面、系统调用界面和图形用户界面。Linux的传统操作界面是基于文本的命令行界面,即Shell。(5)设备独立性:是指操作系统把所有外部设备统一当作文件看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体形式。这种设

33、备独立性简化增加新设备的工作。(6)良好的移植性:经过内核开发者的努力,Linux2.4内核已经可以支持多种处理器平台,从大型计算机到有关体系结构的微型计算机Linux2.4内核能很好运行。针对Linux内核的上述特点和在嵌入式开发领域对系统功能要求的不断提高,Linux系统逐渐成为嵌入式系统开发的首选操作系统。2.4嵌入式linux内核Linux的低成本和开放性,使其广泛应用于嵌入式系统领域。本节着重介绍Linux2.6内核的新特性及其嵌入式应用中的优势。实时性和可靠性是嵌入式应用较为普遍的要求,尽管Linux2.6并不是一个真正的实对操作系统,但其改进的特性能够满足响应需求。Linux2.

34、6已经在内核主体中加入了提高串断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高。在嵌入式领域,Linux2.6提高了其实时性能,添加了新的体系结构和处理器类型,还改善了I/O子系统,等等,并且增添更多的多媒体应用功能。2.4.1 linux内核描述操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操

35、作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。Linux最早是由芬兰人Linus Torvalds设计的。当时由于UNIX的商业化,Andrew Tannebaum教授开发了Minix操作系统以便于不受AT&T许可协议的约束,为教学科研提供一个操作系统。当时发布在Internet上,免费给全世界的学生使用。Minix具有较多UNIX的特点,但与UNIX不完全兼容。1991年10月5日,Linus为了给Minix用户设计一个比较

36、有效的UNIX PC版本,自己动手写了一个“类Minix”的操作系统。整个故事从两个在端终上打印AAAA.和BBBB.的进程开始的,当时最初的内核版本是0.02。Linus Torvalds将它发到了Minix新闻组,很快就得到了反应。Linus Torvalds在这种简单的任务切换机制上进行扩展,并在很多热心支持者的帮助下开发和推出了Linux的第一个稳定的工作版本。1991年11月,Linux0.10版本推出,0.11版本随后在1991年12月推出,当时将它发布在Internet上,免费供人们使用。当Linux非常接近于一种可靠的/稳定的系统时,Linus决定将0.13版本称为0.95版本

37、。1994年3月,正式的Linux 1.0出现了,这差不多是一种正式的独立宣言。截至那时为止,它的用户基数已经发展得很大,而且Linux的核心开发队伍也建立起来了。Linux内核本身并不是操作系统,它是一个完整操作系统的组成部分。Red Hat、Novell、Debian和Gentoo等Linux发行商都采用Linux内核,然后加入更多的工具、库和应用程序来构建一个完整的操作系统。Linux发行商一般会根据自己的需要对基本内核进行定制,在一些情况下,不同的Linux版本会在自己的内核中加入主内核中没有的特性和支持,如Red Hat将部分2.6内核的特性向前移植到它自己的2.4.x内核中;再如U

38、buntu Linux版本最近在Ubuntu的2.6.15Linux内核中增加了对Sun T1处理器的支持,而这种支持目前还没有出现在主内核中。2.4.2 linux内核系统体系结构Linux 内核主要由5个模块构成,它们分别是:进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块。进程调度模块用来负责控制进程对CPU资源的使用。所采取的调度策略是各进程能够公平合理地访问CPU,同时保证内核能及时地执行硬件操作。内存管理模块用于确保所有进程能够安全地共享机器主内存区,同时,内存管理模块还支持虚拟内存管理方式,使得Linux支持进程使用比实际内存空间更多的内存容量。并可以利用文

39、件系统把暂时不用的内存数据块交换到外部存储设备上去,当需要时再交换回来。文件系统模块用于支持对外部设备的驱动和存储。虚拟文件系统模块通过向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节。从而提供并支持与其他操作系统兼容的多种文件系统格式。进程间通信模块子系统用于支持多种进程间的信息交换方式。网络接口模块提供对多种网络通信标准的访问并支持许多网络硬件。这几个模块之间的依赖关系如图2-1所示。其中的连线代表它们之间的依赖关系,虚线和虚框部分表示Linux 0.12中还未实现的部分(从Linux 0.95版才开始逐步实现虚拟文件系统,而网络接口的支持到0.96版才有)。图2-

40、 1 Linux内存系统模块结构及相互依赖关系由图可以看出,所有的模块都与进程调度模块存在依赖关系。因为它们都需要依靠进程调度程序来挂起(暂停)或重新运行它们的进程。通常,一个模块会在等待硬件操作期间被挂起,而在操作完成后才可继续运行。例如,当一个进程试图将一数据块写到软盘上去时,软盘驱动程序就可能在启动软盘旋转期间将该进程置为挂起等待状态,而在软盘进入到正常转速后再使得该进程能继续运行。另外3个模块也是由于类似的原因而与进程调度模块存在依赖关系。其他几个模块的依赖关系有些不太明显,但同样也很重要。进程调度子系统需要使用内存管理来调整一特定进程所使用的物理内存空间。进程间通信子系统则需要依靠内

41、存管理器来支持共享内存通信机制。这种通信机制允许两个进程访问内存的同一个区域以进行进程间信息的交换。虚拟文件系统也会使用网络接口来支持网络文件系统(NFS),同样也能使用内存管理子系统提供内存虚拟盘(ramdisk)设备。而内存管理子系统也会使用文件系统来支持内存数据块的交换操作。2.4.3 linux2.6.13内核的特点一般地,可以从Linux内核版本号来区分系统是否是Linux稳定版还是测试版。以版本2.6.0为例,2代表主版本号,6代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一

42、些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。Linux内核是Linux操作系统中最核心的部分,用于实现对硬件部件的编程控制和接口操作。Linux2.6内核相对2.4内核,优点更加突出:(1)模块子系统(Module Subsystem)、统一设备模型(Unified Device Model)和 PNP支持模块子系统发生了重大变化。(2)稳定性有所提高:为了彻底避免内核加载或者导出正在被使用的内核模块,或者至少为了减少加载或者卸载模块的同时使用该模块的可能性(这有时会导致系统崩溃),内核加载和导出

43、内核模块的过程都得到了改进。(3)统一设备模型:统一设备模型的创建是2.6内核最重要的变化之一。它促进了模块接口的标准化,其目的是更好地控制和管理设备,例如:更准确地确定系统设备。电源管理和设备电源状态。改进的系统总线结构管理。(4)即插即用支持:运行2.6内核的Linux成为一个真正即插即用的OS。例如,对ISA PNP扩展、遗留MCA和EISA总线以及热插拔设备的PNP支持。(5)内核基础设施的变化:为了区别以.o为扩展名的常规对象文件,内核模块现在使用的扩展名是.ko。创建了新的sysfs文件系统,当内核发现设备树时就会描述它。内存支持,NUMA支持,支持更大数量的RAM。2.6内核支持

44、更大数量的RAM,在分页模式下最高可达64GB。(6)NUMA:对非一致内核访问(Non-Uniform Memory Access,简称NUMA)系统的支持是2.6内核中新出现的。(7)线程模型,NPTL:相对于v2.4的Linux Threads,在版本2.6中新出现的是 NPTL(Native POSIX Thread Library)。NPTL为Linux带来了企业级线程支持,提供的性能远远超过了Linux Threads。它所基于的用户与内核线程的比率是1:1。(8)性能改进:新的调度器算法, Linux2.6内核引入了新的O(1)算法。在高负载情况下它运行得特别好。新的调度器基于每个CPU来分布时间片,这样就消除了全局同步和重新分配循环,从而提高了性能。内核抢占(Kernel Preemption),新的2.6内核是抢占式的。这将显著地提高交互式和多媒体应用程序的性能。I/O性能改进,Linux的I/O子系统也发生了重大的变化,通过修改I/O调度器来确保不会有进程驻留在队列中过长时间等待进行输入/输出操作,这样就使得I/O操作的响应更为迅速。快速用户空间互斥(Fast User-Space Mutexes),“futexes”(快速

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号