Unix操作系统介绍
目 录
1. Unix发展历程介绍以及未来发展趋势 1
1.1 Unix操作系统由来 1
1.2 Unix操作系统进化史 1
1.3 Unix系统的未来 1
2. 性能 2
2.1 系统硬件 2
2.2 文件系统 3
2.3 核心参数 4
3. 特点 4
4. 应用领域 5
5. 市场价值 5
1. Unix发展历程介绍以及未来发展趋势
Unix服务器操作系统,主要支持大型的文件系统服务、数据服务等应用。但是只在服务器厂商生产的高端服务器产品中支持Unix操作系统应用,因此SUNSolaris、IBM-AIX都是定位于高端服务器操作系统市场的。
到2009年,Unix系统已经走过了整整40年的历程。在这漫长的40年里,Unix由弱小走向强大,发展推动了整个企业级IT技术和产品的历史性演进,成为所有企业核心业务首选的系统平台。然而,根据2008年IDC的统计报告中显示,WindowsServer在服务器操作系统市场上的份额已经达到34.2%,逼近了Unix的35%,如今的Unix无时无刻不面临着来自竞争对手的挑战。
Unix一直是企业级行业应用领域最为广泛的操作系统,并且为现代操作系统的成型起到了奠定基础的作用,可以说UNIX的发展历史就像应用程序本身一样耐人寻味。
1.1 Unix操作系统由来
Unix系统的出现可以说对于行业的发展起到了最基础的推动作用,Unix早期是从1969年KeThompson在AT&T贝尔实验室创造的Unix操作系统,是用汇编语言写成的,以至于在随后的应用过程中,将Unix移植到PDP-11/20上的耗费了大量工作进而演化。而正是这个问题的出现,成就了C语言,可以说C语言本身是为了Unix系统的进一步完善而诞生的,通过对Unix的源代码重新改写,使Unix非常具有可移植性,同时开源化的特点推动了普及更为广泛。
1.2 Unix操作系统进化史
从Unix操作系统进化史的图上见证了Unix系统的出现,到进入了丰富的发展阶段,伴随着Unix系统的商业化,贝尔实验室作为Unix研究不能够在一个很系统化的环境进一步研究,对Unix的继续修改,专业的制作研究性发行版本的组织由此诞生。而SystemIII和SystemV都是当时相当重要的Unix版本。
此外,对于厂商来说,都纷纷改进Unix系统在行业的应用,以加州大学伯克利分校的BSD版4.2中派生出了多种商业Unix版本,比如Solaris、HP-UX、IRIX、AIX、SCO等等系统。
1.3 Unix系统的未来
未来的Unix市场还会有很大的发展空间,对于Unix系统服务器产品主要是集中在特定的行业,像国内小型机市场的主要发展动力来自电信行业。同时,随着2009年电信运营商的重组和3G无线通信业务的开展,对于小型机市场的发展是一个商机。最关键的是,高度的可靠性和安全性始终拥有市场需求,特别是在金融电信行业来说,数据服务器等高密度数据处理的系统环境,这些高端的应用领域,仍然是Unix占据主要地位。
另外,Unix的发展和系统设计、架构都是以高性能和高可靠性为中心的。Unix经历了整体架构和性能的考验,主要用于“计算”和实际业务的数据处理,所以Unix系统正是利用极少的资源去做关键的处理而闻名。
同时,对于现有的Unix系统服务器而言,对市场所关注的所谓的封闭性并不是非常介意,Unix当年是作为一个开放的系统平台出现的,应用在IBM的AIX和惠普的HP-UX之间进行迁移是十分容易的,尽管Unix厂商都在发展各自的系统平台,但是对用户的应用来说,这并不是一个很大的障碍。
基于此,在Unix系统领域,在表面的危机之下,却蕴藏着一定的商机,在用户需求的推动下,在IBM、惠普、SUN等主要厂商的技术进步过程中,相信未来5至10年内,Unix市场仍然会是一片广阔的发展天地。
2. 性能
UNIX系统通常可以分为4个主要部分:内核、shell、文件结构和应用程序。内核是运行程序、管理磁盘和打印机等硬件设备的核心程序。Shell提供了用户接口,它从用户接收命令并将命令发送给内核运行。文件结构负责组织文件在磁盘等存储设备上的存储方式。文件按目录的方式管理,每个目录可以包含任意数目的子目录,每个子目录可包含文件。内核、shell和文件结构共同构成了unix操作系统的基础结构。通过这3个模块,可以运行程序、管理文件以及同系统交互。另外,有一些外加的软件程序,即应用程序,也逐渐被认为是unix的标准特征。应用程序是一些特殊的程序,如编辑器、过滤器和通信程序等,它们都执行标准的计算机操作。用户也可以生成自己的应用程序。
影响UNIX系统性能的主要因素有三个:系统硬件、文件系统与核心参数。一般来说,在用户安装UNIX操作系统时,系统的硬件资源,比如CPU的主频、内存与高速缓存的大小以及硬盘的容量已经确定了,无法更改。因此这里讨论的主要问题是,在现有的系统硬件资源下,在安装UNIX系统时,如何通过操作系统的配置,使系统在运行某一特定应用时,性能表现更佳。
2.1 系统硬件
系统硬件资源的改善有利于操作系统性能的提高。比如,CPU主频的提高或者CPU的档次提高,系统性能自然就提高了;内存方面,将内存增大,一般都能使应用软件运行速度加快,其中,有无高速缓存(Cache),影响也较明显;对于多线程的应用(如数据库Informix的操作),采用对称多处理器服务器,能使性能得到明显提高。经测试,双CPU系统性能比单CPU系统性能可提高80%。又如,硬盘的容量以及硬盘控制器的类型也会影响UNIX的读写I/O性能。举个例子,采用fast&wide SCSI-Ⅱ类型的硬盘比采用fast SCSI-Ⅱ的更好;采用磁盘阵列比非磁盘阵列更好。另外,对于系统I/O方面,最好选用智能的网卡或多用户卡,由于这些控制卡有自己的处理器和缓存,可以减少UNIX系统资源的开销,这样UNIX就可腾出资源供应用软件使用。总之,系统硬件是影响UNIX性能的主要因素,用户应根据特定应用的需求与资金的情况合理地选购所需要的系统硬件。
2.2 文件系统
文件系统是UNIX操作系统单独的一块,它由文件、目录以及定位和访问他们所需要的信息组成,可以简单地认为文件系统是文件和目录组织起来的结构。每个UNIX系统在主硬盘上至少有一个根文件系统/root。当主硬盘容量足够大,为了保护数据和更方便地维护系统,最好将主硬盘划分为多个文件系统,即通常所说的/u文件系统。同时,通过安装另外的硬盘可附加更多的文件系统,从而扩展系统的存储空间。如在我们的清算系统中,就有二、三个硬盘,并建立了两个文件系统:/root和/home,后者专门用于安装数据库及应用软件。
在安装/root文件系统过程中,需要确定交换区(swap area)的大小。交换区至少应和内存一样大,也可根据以下的公式来估算:
用户数*最大进程长度(512K)+大应用程序数*512KB。
通常对于大型数据库应用,交换区的大小一般在内存小于512M时,取内存的两倍,如果内存大于1G取与实际内存相等。
如果在系统运行期间需要调整系统的交换区,可以使用系统命令swap来增加删除交换区的大小,具体使用方法可以参看UNIX系统的帮助文档。
采用分离的文件系统有若干优点:
第一,对于一个小的文件系统来说,操作系统只需检索少量的节点和数据块,文件存取速度比较快;
第二,检查和清理两个小的文件系统比一个大的文件系统要节省较多时间;
第三,在一个系统的崩溃过程中,一个较少活动的文件系统要比一个活动的文件系统所经受的破坏小;
第四此外,分离的文件系统后援容易。这就是我们使用的很多数据库及应用软件安装在分离的文件系统的主要原因。
另外,维护文件系统的完整性是操作系统工作的组成部份。UNIX系统在一些结构中存在一定的冗余,因此具有很强的纠错能力。UNIX使用fsck程序一般可修复被损坏的文件系统。任何损坏一般只影响一、两个文件。只有极少的情况,才会造成整个文件系统的瘫痪。但是,作为系统管理员或操作员,需要遵守以下几个原则,以维护文件系统的完整性,1在安装文件系统前一定要检查它;2在未拆卸文件系统前不能物理地搬走它;3在关闭文件系统和拆卸文件系统前必须使用sync命令,它可将高速缓存中的数据写回磁盘;4定期做文件系统的后援。
文件系统面临的另一个问题是空闲空间可能不够。每个文件系统中至少保证有15%的空间是空闲的,UNIX系统才能运行得最好。如果文件系统的空闲空间少于15%,则系统操作通常变得比较迟钝。因此,特别是对于系统管理员来说,应该有规律地检查所有安装的文件系统的空闲空间总数,并提醒用户使他们不用的文件的目录空闲。当空闲空间不够时,应找出并删除临时文件和core文件,作文件系统的后援,如有必要增加另一个文件系统。
2.3 核心参数
在建立UNIX系统时,核心参数的协调如何是影响应用系统的重要因素。第一次建立系统时,系统会自动地为适应大多数应用产生一个确省的核心参数配置。但是,用户应该针对具体应用的模式和特性,调整核心参数配置,从而提高性能以适应特殊的应用。系统的核心控制着大量经常使用的、释放和重复使用的资源(包括缓冲区、表项及其它可定义的值,以管理特殊的资源,比如信号灯的数量等)。一般存在下列原因时,需对系统资源进行重新分配:
●安装了附加的硬件存储器。
●显示持续的错误表明系统的某些资源(如节点和表项)已用完。
●系统响应时间一直较慢,表明其它资源限制过死,系统不能高效地工作。
●资源需重新调整以适应特别应用的需要。
专业化的应用为了获得最优的性能需要对关键资源(核心参数)进行重新分配。例如,使用大型的Informix数据库时,需要同时锁住多于当前文件锁所允许的文件个数;要求共享内存为系统总内存的四分之一等;系统存在大量的交互式通讯时,应用所要求的信号灯个数以及每个信号灯标示符的信号灯个数可能都超过系统的确省值。系统核心参数的调整应由有经验的系统管理员来完成,调整后应重新链接UNIX的核心,调整的参数才能生效。
在系统持续出现某个错误时,需要重新分配系统资源。首先,设法少量地增加资源。如问题仍存在,则以它初始值的50%至100%增加资源,问题或许能够得到解决。如,出现这些信息时,“Inode Table Overflow”,“no file”或“no more process”应增加NINDOE、NFILE、NPROC等参数的值。NINDOE定义Ⅰ节点活动表的大小,一般为100—400,最大为16000,NFILE定义系统文件活动表的大小,一般为100—600,最大为16000,NPROC定义系统允许的最大进程数,一般取值为50—3000。
磁盘的I/O操作可能是系统性能的一个瓶颈,解决方法有:1选择适当的缓冲区数目(NBUF和NHBUF),NBUF定义系统中全部缓冲区的数量,一般为100—600,最大为65536,NHBUF定义系统的混合队列,最小为32,默认为256,最大为131072,一般与NBUF配套调整;2组织文件系统以减少磁盘访问次数等。增加NBUF和NHBUF的值到某一点,便可提高系统的性能。一般系统内存为4MB的系统大约可提供600K的空间给缓冲区。NHBUF的值为2的n次方,大约为NBUF的四分之一。
作为系统管理员,应该非常熟悉vmstat命令,因为vmstat是应用程序检测和协调系统性能的十分有用的工具。值得注意的是,系统核心参数的变化直接影响系统的性能,因此改变时应十分小心。应对影响具体应用的参数的不同组合做实验,以找到最优组合。
3. 特点
(1) 多任务、多用户。
(2) 并行处理能力。
(3) 管道。
(4) 安全保护机制。
(5) 功能强大的shell。
(6) 强大的网络支持,Internet上各种服务器的首选操作系统。
(7) 稳定性好。
(8) 系统源代码用C语言写成,移植性强。
(9) 出售源代码,软件厂家自己增删。
4. 应用领域
应用:几乎所有16位及以上的计算机上,包括微机、工作站、小型机、多处理机和大型机等等。
5. 市场价值
由于UNIX具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为重要的企业操作平台。
UNIX一般用于大型的网站或大型的企、事业局域网中。UNIX网络操作系统历史悠久,其良好的网络管理功能已为广大网络用户所接受,拥有丰富的应用软件的支持。目前UNIX网络操作系统的版本 有:AT&T和SCO的UNIXSVR3.2、SVR4.0和SVR4.2等。UNIX系统的优越性之一是它随着技术进步而成长和吸收新特性的能力。毫无疑问,以后还将不断有许多新特性、工具、实用程序和网络能力被开发出来。在广泛测试和应用之后,这些特性的一部分将进入唯一UNIX规范的未来版本。对于服务器上的复杂应用,特别是网络环境来说,把UNIX作为首选操作系统将会受益匪浅。