Android系统USB驱动程序设计(2)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android系统USB驱动程序设计(2)


参考文献37
 1  绪论 
1.1  Linux系统简介
1.1.1  Linux的概述
Linux是一种类Unix操作系统,它具有自由和开放源码的特点。最初是由在芬兰的赫尔辛基大学的研究生Linus Torvalds在1991年编写。后来在互联网上开始广泛的传播。目前,相对较新和稳定的Linux内核版本为2.6.24.。Linux的标志为一只企鹅。
当我们谈到Linux的时候,不得不提到Unix。Unix是一种很老的操作系统。在20世纪70年代,计算机还没现在这么普及,但那时候的主要的操作系统就是Unix.最早的计算机网络系统采用的也是Unix。这种操作系统功能完善,也具有很好的性能,但由于采用的是命令行方式操作,以及平台价格昂贵,所以很大程度上限制了它的普及和应用,导致了使用它的主要是一些专业技术人员。[1]
直到1991年,年仅21岁的Linus Torvalds萌发了自己开发操作系统的念头。之后他就以Unix为样本开创了自己的操作系统Linux。这种新诞生的操作系统在使用的命令上几乎和Unix一模一样,但相比于原有的系统,它的最大的优点就是开源。可以再廉价的PC机上运行。随后通过互联网的传播,Linux得到了迅速的改进和普及。
1.1.2  Linux的主要特点
对于一个操作系统来说,当今Unix操作系统所应该具有的要求,在Linux上都可以得到满足。因此,它有着Unix操作系统的基本特征。
1、符合POSIX 1003.1标准
POSIX 1003.1标准定义了一个最小的Unix操作系统接口, 如果要运行Unix程序,那么操作系统都要符合POSIX 1003.1这一标准。由于Unix有着大量的应用程序, 所以当今大多数操作系统都会尽可能的满足POSIX1003.1标准, 包括Linux,它就是完全支持POSIX1003.1标准的一个系统。另外,Linux添加了部分System V和BSD的系统接口,其目的就在于能够直接在Linux上运行Unix System V和BSD上的程序, 使Linux成为一个完善的Unix程序开发系统。
2、支持多用户访问和多任务编程
Linux是一个多用户操作系统。它允许多个用户在同一时间访问系统,但是又不会在用户之间产生干扰的效果。此外,该系统还支持多用户的编程,用户可以在同一时间创建多个进程, 使得各进程的工作可以互相配合,最终达到用户的所要求的功能。
3、采用页式存储管理
Linux的页面内存管理模型能够更有效率地利用物理存储空间,换入换出式的页面为用户提供了更广阔的存储空间。[2]
4、支持动态链接
如果用户想要执行程序,那么程序一定要支持标准库,最通俗的方式就是采用静态链接,意思就是用户的标准库和程序还在程序的装配阶段就已经被链接好。在这个基础上,当多个进程运行时,库代码在内存中可能会出现多个副本,正是这些多余的副本浪费了存储空间。所以系统采用动态链接,当运行程序的时候,就会对库进行链接, 如果所需要用到的程序库是由另一个进程加载到内存, 那么你不需要从你的硬盘驱动安装或调用程序库,否则才从硬盘中将库调入。这样就能确保内存中的库程序代码的唯一性。
5、支持多种文件系统
Linux能支持多种文件系统。目前支持的文件系统有:AFFS、EXT2、ISOFS、HPFS、XIAFS、UMSDOS、NFS、VFAT、SYSV、EXT、MINIX、SMB、MSDOS、PROC、UFS、NCP。EXT2是Linux最常用的文件系统, 它的文件名的长度达到了255个字符。和常规的Unix文件系统相比,EXT2系统有着更高的安全性能,原因在于它具有很多独有的功能。
6、网络功能强
网络功能是Linux系统的一个很重要的特色部分。TCP/IP协议是异种机和Internet网技术连接的重要手段,这种手段就是是在Linux的环境下创开发并推广起来的。对于所有Linux系统来说,TCP/IP是不可分割的组成部分。此外, Unix还支持所有常用的网络通信协议, 包括NFS、PPP、DCE、IPX/SPX、SLIP等, 使得Linux系统能够更加方便地连接已有的主机系统和各种广域网和局域网。这也是为什么Linux具有如此出色的互操作性( Interoperability) 的根本原因。 (责任编辑:qin)