Unix操作系统
- 格式:docx
- 大小:29.03 KB
- 文档页数:7
UNIXUNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、DennisRitchie和DouglasMcIlroy于1969年在AT&T的贝尔实验室开发。
目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。
1简介UNIX操作系统,是美国AT&T公司于1971年在PDP-11上运行的操作系统。
具有多用户、多任务的特点,支持多种处理器架构,最早由肯·汤普逊(Kenneth Lane Thompson)、丹尼斯·里奇(Dennis MacAlistair Ritchie)于1969年在AT&T的贝尔实验室开发。
UNIX的商标权由国际开放标准组织(The Open Group)所拥有。
2历史诞生1965年时,贝尔实验室(Bell Labs)加入一项由通用电气(General Electric)和麻省理工学院(MIT)合作图1-1PDP-7计算机图1-1PDP-7计算机的计划;该计划要建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操作系统。
直到1969年,因MUL TICS计划的工作进度太慢,该计划被停了下来。
当时,Ken Thompson(后被称为UNIX之父)已经有一个称为"星际旅行"的程序在GE-635的机器上跑,但是反应非常慢,正巧被他发现了一部被闲置的PDP-7(Digital 的主机),Ken Thompson和Dernis Ritchie就将"星际旅行"的程序移植到PDP-7上。
而这部PDP-7(如图1-1所示)就此在整个计算机历史上留下了芳名。
UNIX操作系统命令大全1. ls:列出当前目录中的文件和目录。
2. cd:切换当前工作目录。
3. pwd:显示当前工作目录的路径。
4. mkdir:创建一个新目录。
5. rmdir:删除一个空目录。
6. cp:复制文件或目录。
7. mv:移动或重命名文件或目录。
8. rm:删除文件或目录。
9. touch:创建一个新文件。
10. cat:连接文件并打印到标准输出设备上。
11. less:逐页显示文件内容。
12. head:显示文件的开头几行。
13. tail:显示文件的末尾几行。
14. grep:在文件中查找匹配的字符串。
15. find:从指定目录开始递归地查找文件。
16. tar:打包和压缩文件。
17. unzip:解压缩文件。
18. chmod:更改文件的权限。
19. chown:更改文件的所有者。
20. chgrp:更改文件的所属组。
21. ps:显示当前运行的进程。
22. top:动态显示系统资源使用情况。
23. kill:终止一个进程。
24. ssh:使用安全外壳协议远程登录到另一台计算机。
25. scp:通过安全外壳协议在本地计算机和远程计算机之间传输文件。
26. ping:测试与另一台计算机的网络连接。
27. ifconfig:显示和配置网络接口。
28. netstat:显示网络连接、路由表和网络接口统计信息。
29. hostname:显示或设置主机名。
30. whoami:显示当前登录的用户。
31. su:切换到另一个用户身份。
32. sudo:以超级用户的身份执行命令。
33. date:显示或设置系统日期和时间。
35. df:显示文件系统的磁盘使用情况。
36. du:显示目录或文件的磁盘使用情况。
37. tar:创建备份文件或将备份文件释放到系统中。
38. gzip:使用GNU的zip压缩程序压缩文件。
39. gunzip:解压文件。
40. zip:创建一个zip文件。
41. uname:显示系统信息。
unix系统的发展历程
Unix系统的发展历程
一、Multics操作系统时期
20世纪60年代初,随着计算机技术的发展,人们开始尝试开发多用户、多任务、多层次的操作系统。
在这个背景下,1965年,贝尔实验室加入通用电气和麻省理工学院的计划,目的是创建一个多用户、多任务、多层次的MULTICS操作系统。
然而,由于开发进度缓慢,贝尔实验室在1969年退出了该计划。
二、Unix操作系统时期
在退出MULTICS计划后,1969年,肯·汤普逊提议,由多个Multics计划原成员参与,共同开发了第一版的Unix。
这一版Unix是基于Multics的某些设计思想,并且更加简洁和易于使用。
在接下来的几年里,Unix经历了多次改进和版本更新,逐渐发展成为一个稳定、可靠、高效的系统。
三、Unix的普及和发展
随着计算机技术的不断发展,Unix也逐渐成为了一个成熟、稳定、可靠的系统。
同时,由于其开放源代码和跨平台的特性,Unix也成为了许多企业和组织的首选操作系统。
随着互联网的普及和发展,Unix也成为了互联网和分布式计算的重要基础。
UNIX操作系统重点知识UNIX操作系统重点知识范本:1.文件系统1.1 文件系统层次结构1.2 文件和目录权限1.3 文件和目录操作1.3.1 创建文件1.3.2 复制文件1.3.3 挪移文件1.3.4 删除文件1.3.5 创建目录1.3.6 复制目录1.3.7 挪移目录1.3.8 删除目录2.进程管理2.1 进程与线程的概念2.2 进程的创建和终止 2.3 进程调度2.4 进程间通信2.4.1 管道通信2.4.2 信号量通信 2.4.3 消息队列通信2.4.4 共享内存通信3.用户与权限管理3.1 用户账号管理3.1.1 创建用户账号 3.1.2 修改用户账号 3.1.3 删除用户账号 3.2 用户组管理3.2.1 创建用户组 3.2.2 修改用户组 3.2.3 删除用户组 3.3 权限管理3.3.1 文件权限设置3.3.2 用户权限控制4.网络通信4.1 IP地址和端口4.2 网络协议栈4.3 网络配置与管理4.3.1 IP地址配置4.3.2 网络接口配置 4.4 网络连接与通信4.4.1 TCP连接4.4.2 UDP通信5.系统管理5.1 系统启动和关闭5.2 系统监控和性能调优 5.3 系统日志管理5.4 定时任务管理6. Shell脚本编程6.1 Shell脚本语法6.2 变量和常量6.3 控制结构6.4 函数和参数6.5 文件操作6.6 进程处理6.7 输入输出重定向6.8 错误处理本文档涉及附件:附件1:UNIX操作系统命令手册本文所涉及的法律名词及注释:1. UNIX:一种多用户、多任务的操作系统。
2. 文件系统:用于管理计算机硬盘上的文件和目录的组织结构。
3. 进程:执行中的程序实例,是计算机系统中的基本执行单位。
4. 管道通信:进程间通过使用管道实现数据传输的一种通信机制。
5. 信号量通信:进程间通过使用信号量实现进程同步与互斥的一种通信机制。
6. 消息队列通信:进程间通过使用消息队列实现异步通信的一种通信机制。
UNIX操作系统UNIX(Unix-like)是一种类Unix操作系统(Operating System)称为类Unix操作系统(Unix-like Operating System,又称为类Unix或类Unix系统)。
它是指基于Unix原始版本的设计思想或完全实现了Unix标准的操作系统。
Unix是由贝尔实验室(AT&T Bell Labs)的肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)在20世纪70年代早期开发的。
它是一种多用户、多任务操作系统,因其稳定性、安全性、灵活性和可移植性而受到广泛使用。
Unix操作系统具有许多优点。
首先,它具有很高的可移植性,可以轻松地在不同的硬件平台上运行。
其次,它稳定可靠,能够长时间运行而不会崩溃或出现错误。
此外,Unix还具有较高的安全性,采用了强大的访问控制机制来保护用户数据和系统资源。
它还支持多用户和多任务,允许多个用户同时使用系统,并在同一时间执行多个任务。
Unix操作系统在许多领域有着广泛的应用。
它是互联网的基石之一,许多服务器和网络设备都使用Unix操作系统。
此外,它还被广泛应用于科学研究、大型计算和数据存储。
由于Unix的模块化设计和可定制性,许多不同的Unix-like操作系统得以开发,如Linux、BSD、Solaris等。
Linux是一个开源的Unix-like操作系统,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)在1991年创建。
Linux具有和Unix相似的设计和功能,但是它是免费和开源的。
Linux经过了多年的发展,现在已成为最受欢迎的操作系统之一、它支持多种硬件平台,包括个人计算机、服务器、移动设备等。
它还拥有庞大的开源社区,为用户提供了丰富的软件和工具。
许多企业和组织选择使用Linux操作系统,因为它提供了高度的可定制性和安全性。
总之,UNIX操作系统是一种基于Unix原始版本设计思想或完全实现了Unix标准的操作系统。
UNIX操作系统重点知识UNIX操作系统重点知识一、概述1.1 UNIX操作系统的起源和发展历程1.2 UNIX操作系统的特点和优势1.3 UNIX操作系统的应用领域二、UNIX基础知识2.1 UNIX的基本概念和组成2.2 UNIX文件系统①文件和目录的基本操作②文件权限和权限管理③文件系统的结构和层次2.3 UNIX命令行操作①常用的UNIX命令②文件和目录的操作命令③文本处理命令④系统管理命令⑤网络和通信命令2.4 进程管理和控制①进程的概念和状态②进程控制命令③进程间通信2.5 系统管理和配置①用户管理和权限管理②系统资源管理③网络配置和管理④安全和防护措施三、高级UNIX知识3.1 Shell编程① Shell脚本的基本语法② Shell变量和环境变量③流程控制和条件判断④ Shell脚本调试和优化3.2 进程调度和优化①进程调度算法②进程性能优化和监控3.3 网络和通信①网络协议和通信模型②常用网络工具和服务③网络安全和防护3.4 存储管理①文件系统管理②磁盘和存储设备管理③ RD和备份策略附件:1.UNIX操作系统命令参考手册2.UNIX操作系统教程和学习资料推荐3.UNIX操作系统相关实例和示例代码法律名词及注释:1.版权:指著作权法所规定的作者对其创作的作品享有的权利。
2.商标:是一种标识,用以区分不同商品或服务的来源。
3.专利:指专利权人在法律规定的范围内就其发明所享有的一种专有权利。
4.许可证:指权利人对他人有关其拥有的专利、商标、著作权等的使用条件和限制作出的授权书。
UNIX操作系统UNIX操作系统概述第一篇基础篇第一章UNIX操作系统概述1.1 UNIX操作系统简介UNIX是较早广泛使用的计算机操作系统之一,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。
一、UNIX特点UNIX操作系统是一种非常流行的多任务、多用户操作系统,应用非常广泛。
UNIX的主要特点为:多任务(Multi-tasking)UNIX是一个多任务操作系统,在它内部允许有多个任务同时运行。
而DOS操作系统是单任务的操作系统,不能同时运行多个任务。
早期的UNIX操作系统的多任务是靠分时(time sharing)机构实现的,现在有些UNIX除了具有分时机制外,还加入了实时(real-time)多任务能力,用于象实时控制、数据采集等实时性要求较高的场合。
多用户(Multi-users)UNIX又是一个多用户操作系统,它允许多个用户同时使用。
在UNIX中,每位用户运行自己的或公用的程序,好象拥有一台单独的机器。
DOS操作系统是单用户的操作系统,只允许一个用户使用。
并行处理能力UNIX支持多处理器系统,允许多个处理器协调并行运行。
管道UNIX允许一个程序的输出作为另外一个程序输入,多个程序串起来看起来好象一条管道一样。
通过各个简单任务的组合,就可以完成更大更复杂的任务,并极大提高了操作的方便性。
后来DOS操作系统也借鉴并提供了这种机制。
功能强大的Shell UNIX的命令解释器由Shell实现。
UNIX提供了三种功能强大的Shell,每种Shell本身就是一种解释型高级语言,通过用户编程就可创造无数命令,使用方便。
安全保护机制UNIX提供了非常强大的安全保护机制,防止系统及其数据未经许可而被非法访问。
稳定性好在目前使用的操作系统中,UNIX是比较稳定的。
UNIX具有非常强大的错误处理能力,保护系统的正常运行。
用户界面传统的UNIX用户界面采用命令行方式,命令较难记忆,很难普及到非计算机专业人员。
unix操作系统常用命令Unix操作系统是非常常见、流行的操作系统之一,它被广泛应用于网络服务器、数据中心等领域。
Unix操作系统内置了很多命令和工具,这些命令和工具可以帮助管理员和开发人员管理系统、进行开发和维护等任务。
在本文中,我们将讨论一些Unix操作系统常用命令。
一、文件和目录管理命令1. cd:切换当前工作目录。
2. pwd:显示当前工作目录的路径。
3. mkdir:创建一个新目录。
4. rmdir:删除一个空目录。
5. ls:列出目录内容。
6. cp:复制文件或目录。
7. mv:移动或重命名文件或目录。
8. rm:删除文件或目录。
9. touch:创建一个新文件或更新现有文件的时间戳。
10. chmod:更改文件或目录的权限。
二、文本文件处理命令1. cat:连接和显示文件内容。
2. less:在终端上查看文件内容。
3. grep:在文件中查找一个模式。
4. awk:文本处理工具,可以处理大量的文本文件数据。
5. sed:文本处理工具,可以进行单行文本替换、多行文本编辑等。
6. sort:对文件进行排序。
7. uniq:删除文件中的重复行。
8. tee:将文件内容从标准输入中读取,并将其复制到标准输出和文件中。
9. diff:比较两个文件或目录之间的差异。
10. wc:计算文件中的行数、单词数和字节数。
三、进程管理命令1. ps:查看系统中运行的进程。
2. kill:结束一个进程。
3. top:实时查看系统资源使用情况和进程状态。
4. bg:将一个进程放到后台运行。
5. fg:将一个后台进程恢复到前台运行。
6. nice:更改进程的优先级。
7. renice:更改运行中的进程的优先级。
四、网络管理命令1. ping:测试网络连接并检查响应时间。
2. netstat:查看正在使用的网络接口和连接。
3. traceroute:追踪数据包的路由路径。
4. route:设置或显示内核的路由表。
UNIX操作系统常用命令1. ls命令:用于列出当前目录中的文件和目录。
示例:ls -l 显示文件和目录的详细信息。
2. cd命令:用于切换当前工作目录。
示例:cd /usr/bin 切换到/usr/bin目录。
3. pwd命令:用于显示当前工作目录的路径。
示例:pwd 显示当前工作目录的路径。
4. cp命令:用于复制文件或目录。
示例:cp file1 file2 复制文件file1为file25. mv命令:用于移动文件或目录,或者为文件或目录重命名。
示例:mv file1 file2 将file1重命名为file26. rm命令:用于删除文件或目录。
示例:rm file 删除文件file。
7. mkdir命令:用于创建一个新目录。
示例:mkdir dir 创建一个名为dir的目录。
8. rmdir命令:用于删除一个空目录。
示例:rmdir dir 删除名为dir的空目录。
9. cat命令:用于查看文件的内容。
示例:cat file 查看文件file的内容。
10. less命令:用于分页查看文件的内容。
示例:less file 分页查看文件file的内容。
11. grep命令:用于在文件中匹配指定模式的文本。
示例:grep pattern file 在文件file中符合模式pattern的文本。
12. find命令:用于在指定的目录及其子目录中符合条件的文件。
示例:find /path -name "pattern" 在目录/path及其子目录中匹配模式pattern的文件。
13. chmod命令:用于修改文件的权限。
示例:chmod 755 file 修改文件file的权限为rwxr-xr-x。
14. chown命令:用于修改文件或目录的所有者。
示例:chown user file 修改文件file的所有者为user。
15. ps命令:用于列出当前系统中的进程。
示例:ps 显示当前运行的进程。
第1章 UNIX操作系统概述1、什么是操作系统,列出你知道的操作系统?2、操作系统的主要功能?3、什么是UNIX?4、UNIX版本的两大派系?5、操作系统的哪一部分直接与硬件交互?6、操作系统的哪一部分执行用户交换?A. ShellB. Kernel7、UNIX平台上最用的编辑器是?8、写出两种AIX的图形用户接口的名字?9、AIX只支持硬盘上的文件系统。
(T/F)10、Shell有哪些功能、UNIX上有哪些常见的Shell?第1章 UNIX操作系统概述1、操作系统(Operating System,简称OS)是控制和管理计算机系统内各种硬软件的平台,用户使用计算机的接口,为用户提供一个使用方便可扩展的工作环境。
常见的操作系统:DOS、Windows、Unix、Linux、Mac OS X、Vxworks2、操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。
主要功能包括:文件管理、进程与处理机管理、设备管理、存储管理、网络管理等,由操作系统内核实现3、分狭义和广义的概念狭义的概念•UNIX仅指操作系统内核(Kernel)•内核负责控制并管理计算机资源•多个用户可访问•负责进程的创建、控制、调度,为进程分配内存和外设•提供文件系统的管理功能广义的概念•UNIX不仅指系统内核,它是一个应用环境和程序设计环境,提供了丰富的软件开发工具,包括编辑器、编译程序、调试工具、数据库等等•为应用程序开发者开发的操作系统•提供硬件可移植性,设备独立的文件系统的操作系统•功能强大的多任务、多用户的操作系统4、1)贝尔实验室版本:第1-7版,System Ⅱ,Ⅲ,Ⅳ,Ⅴ UNIX System V Release 4.2 (SVR4.2)现今的AIX 、SCO UNIX等2)加州大学伯克利分校计算机系统研究小组(CSRG)的BSD UNIX(Berkeley Software Distributions)较有影响的版本4.3BSD 现今的 FreeBSD、Solaris等工作站上的UNIX 一般属于这一派系5、Kernel6、A7、VI8、AIXwindowsCommon Desktop Environment (CDE)9、F,AIX支持磁盘文件系统,光盘文件系统,网络文件系统mount –amount /etc/filesystems重启系统分别装载每个文件系统10、SHELL的功能执行用户命令、命令解释器、程序设计语言、进程控制、可定制、特性: 通配符,变量常见的SHELLBourne Shell:是贝尔实验室开发的Bourne Shell:BASH:是GNU的Bourne Again ShellBourne Shell:在大部分内容上与Bourne Shell兼容Bourne Shell:在BSD系统上开发的,语法类似于C语言第2章 UNIX基本操作命令1、登录UNIX系统时会以*号显示用户输入的密码。
unix、linux、windows比较一.Unix操作系统unix,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、DennisRitchie和DouglasMcIlroy于1969年在AT&T的贝尔实验室开发。
(一)Unix操作系统的功能和特点:1.可靠性高实践表明,UNIX是达到主机(mainframe)可靠性要求的少数操作系统之一,许多UNIX主机和服务器在国外大中型企业中每天24小时,每年365天不间断地运行。
这是NetWare、WindowsNT和OS2等操作系统所不能比拟的。
不久前HP公司宣布关闭了最后一台主机系统,整个企业的所有信息处理工作全部由UNIX 机器来承担。
2.伸缩性强极度强的伸缩性UNIX系统是世界上唯一能笔记本电脑,PC,直到巨型机上运行的操作系统,最近已宣布用于NC的UNIX系统。
没有其他操作系统能做到这一点。
此外,由于采用SMP、MPP、和Cluster等技术,使得商品化UNIX系统支持CPU数达到了32个,这就使得用一种平台的UNIX扩充能力有了进一步的提高。
3.开放性好这是UNIX系统最重要的本质特征,也是UNIX强大生命力之所在。
开放系统的概念已被计算机工业界普遍接受,而且成为发展的主要趋势。
所有的计算机厂商都声称自己的产品是开放系统,而且开放的概念也在不断地发展和完善,它是一个覆盖面很宽的谱,几乎所有的系统都可在其中找到自己的位置。
但程序上是有明显差别的,我们认为开放系统最本质的特征应该是其所用技术的规格说明是可以公开得到并免费使用的,而且是不受一家具体厂商所垄断和控制的。
UNIX 是最能充分体现这一本质特征的开放系统,正是这种较为彻底的开放性,使UNIX 的发展充满动力和生机。
4.网络功能强这是UNIX系统的又一重要特色,特别是作为Internet网络技术基础的TCP/IP协议就是在UNIX上开发出来的,而且成为UNIX系统的一个不可分割的成分。
Unix操作系统一.Unix发展历程介绍以及未来发展趋势Unix服务器操作系统,主要支持大型的文件系统服务、数据服务等应用。
但是只在服务器厂商生产的高端服务器产品中支持Unix操作系统应用,因此SUNSolaris、IBM-AIX都是定位于高端服务器操作系统市场的。
到2009年,Unix系统已经走过了整整40年的历程。
在这漫长的40年里,Unix由弱小走向强大,发展推动了整个企业级IT技术和产品的历史性演进,成为所有企业核心业务首选的系统平台。
然而,根据2008年IDC的统计报告中显示,WindowsServer在服务器操作系统市场上的份额已经达到34.2%,逼近了Unix 的35%,如今的Unix无时无刻不面临着来自竞争对手的挑战。
Unix一直是企业级行业应用领域最为广泛的操作系统,并且为现代操作系统的成型起到了奠定基础的作用,可以说UNIX的发展历史就像应用程序本身一样耐人寻味。
1.Unix操作系统由来Unix系统的出现可以说对于行业的发展起到了最基础的推动作用,Unix早期是从1969年KeThompson在AT&T贝尔实验室创造的Unix操作系统,是用汇编语言写成的,以至于在随后的应用过程中,将Unix移植到PDP-11/20上的耗费了大量工作进而演化。
而正是这个问题的出现,成就了C语言,可以说C语言本身是为了Unix系统的进一步完善而诞生的,通过对Unix的源代码重新改写,使Unix非常具有可移植性,同时开源化的特点推动了普及更为广泛。
2.Unix操作系统进化史从Unix操作系统进化史的图上见证了Unix系统的出现,到进入了丰富的发展阶段,伴随着Unix系统的商业化,贝尔实验室作为Unix研究不能够在一个很系统化的环境进一步研究,对Unix的继续修改,专业的制作研究性发行版本的组织由此诞生。
而SystemIII和SystemV都是当时相当重要的Unix版本。
此外,对于厂商来说,都纷纷改进Unix系统在行业的应用,以加州大学伯克利分校的BSD版4.2中派生出了多种商业Unix版本,比如Solaris、HP-UX、IRIX、AIX、SCO等等系统。
3.Unix系统的未来未来的Unix市场还会有很大的发展空间,对于Unix系统服务器产品主要是集中在特定的行业,像国内小型机市场的主要发展动力来自电信行业。
同时,随着2009年电信运营商的重组和3G无线通信业务的开展,对于小型机市场的发展是一个商机。
最关键的是,高度的可靠性和安全性始终拥有市场需求,特别是在金融电信行业来说,数据服务器等高密度数据处理的系统环境,这些高端的应用领域,仍然是Unix占据主要地位。
另外,Unix的发展和系统设计、架构都是以高性能和高可靠性为中心的。
Unix经历了整体架构和性能的考验,主要用于“计算”和实际业务的数据处理,所以Unix系统正是利用极少的资源去做关键的处理而闻名。
同时,对于现有的Unix系统服务器而言,对市场所关注的所谓的封闭性并不是非常介意,Unix当年是作为一个开放的系统平台出现的,应用在IBM的AIX和惠普的HP-UX之间进行迁移是十分容易的,尽管Unix厂商都在发展各自的系统平台,但是对用户的应用来说,这并不是一个很大的障碍。
基于此,在Unix系统领域,在表面的危机之下,却蕴藏着一定的商机,在用户需求的推动下,在IBM、惠普、SUN等主要厂商的技术进步过程中,相信未来5至10年内,Unix市场仍然会是一片广阔的发展天地。
二.性能UNIX系统通常可以分为4个主要部分:内核、shell、文件结构和应用程序。
内核是运行程序、管理磁盘和打印机等硬件设备的核心程序。
Shell提供了用户接口,它从用户接收命令并将命令发送给内核运行。
文件结构负责组织文件在磁盘等存储设备上的存储方式。
文件按目录的方式管理,每个目录可以包含任意数目的子目录,每个子目录可包含文件。
内核、shell和文件结构共同构成了unix 操作系统的基础结构。
通过这3个模块,可以运行程序、管理文件以及同系统交互。
另外,有一些外加的软件程序,即应用程序,也逐渐被认为是unix的标准特征。
应用程序是一些特殊的程序,如编辑器、过滤器和通信程序等,它们都执行标准的计算机操作。
用户也可以生成自己的应用程序。
影响UNIX系统性能的主要因素有三个:系统硬件、文件系统与核心参数。
一般来说,在用户安装UNIX操作系统时,系统的硬件资源,比如CPU的主频、内存与高速缓存的大小以及硬盘的容量已经确定了,无法更改。
因此这里讨论的主要问题是,在现有的系统硬件资源下,在安装UNIX系统时,如何通过操作系统的配置,使系统在运行某一特定应用时,性能表现更佳。
1、系统硬件系统硬件资源的改善有利于操作系统性能的提高。
比如,CPU主频的提高或者CPU的档次提高,系统性能自然就提高了;内存方面,将内存增大,一般都能使应用软件运行速度加快,其中,有无高速缓存(Cache),影响也较明显;对于多线程的应用(如数据库Informix的操作),采用对称多处理器服务器,能使性能得到明显提高。
经测试,双CPU系统性能比单CPU系统性能可提高80%。
又如,硬盘的容量以及硬盘控制器的类型也会影响UNIX的读写I/O性能。
举个例子,采用fast&wide SCSI-Ⅱ类型的硬盘比采用fast SCSI-Ⅱ的更好;采用磁盘阵列比非磁盘阵列更好。
另外,对于系统I/O方面,最好选用智能的网卡或多用户卡,由于这些控制卡有自己的处理器和缓存,可以减少UNIX系统资源的开销,这样UNIX就可腾出资源供应用软件使用。
总之,系统硬件是影响UNIX性能的主要因素,用户应根据特定应用的需求与资金的情况合理地选购所需要的系统硬件。
2、文件系统文件系统是UNIX操作系统单独的一块,它由文件、目录以及定位和访问他们所需要的信息组成,可以简单地认为文件系统是文件和目录组织起来的结构。
每个UNIX系统在主硬盘上至少有一个根文件系统/root。
当主硬盘容量足够大,为了保护数据和更方便地维护系统,最好将主硬盘划分为多个文件系统,即通常所说的/u文件系统。
同时,通过安装另外的硬盘可附加更多的文件系统,从而扩展系统的存储空间。
如在我们的清算系统中,就有二、三个硬盘,并建立了两个文件系统:/root和/home,后者专门用于安装数据库及应用软件。
在安装/root文件系统过程中,需要确定交换区(swap area)的大小。
交换区至少应和内存一样大,也可根据以下的公式来估算:用户数*最大进程长度(512K)+大应用程序数*512KB通常对于大型数据库应用,交换区的大小一般在内存小于512M时,取内存的两倍,如果内存大于1G取与实际内存相等。
如果在系统运行期间需要调整系统的交换区,可以使用系统命令swap来增加删除交换区的大小,具体使用方法可以参看UNIX系统的帮助文档。
采用分离的文件系统有若干优点:1对于一个小的文件系统来说,操作系统只需检索少量的节点和数据块,文件存取速度比较快;2检查和清理两个小的文件系统比一个大的文件系统要节省较多时间;3在一个系统的崩溃过程中,一个较少活动的文件系统要比一个活动的文件系统所经受的破坏小;4此外,分离的文件系统后援容易。
这就是我们使用的很多数据库及应用软件安装在分离的文件系统的主要原因。
另外,维护文件系统的完整性是操作系统工作的组成部份。
UNIX系统在一些结构中存在一定的冗余,因此具有很强的纠错能力。
UNIX使用fsck程序一般可修复被损坏的文件系统。
任何损坏一般只影响一、两个文件。
只有极少的情况,才会造成整个文件系统的瘫痪。
但是,作为系统管理员或操作员,需要遵守以下几个原则,以维护文件系统的完整性,1在安装文件系统前一定要检查它;2在未拆卸文件系统前不能物理地搬走它;3在关闭文件系统和拆卸文件系统前必须使用sync命令,它可将高速缓存中的数据写回磁盘;4定期做文件系统的后援。
文件系统面临的另一个问题是空闲空间可能不够。
每个文件系统中至少保证有15%的空间是空闲的,UNIX系统才能运行得最好。
如果文件系统的空闲空间少于15%,则系统操作通常变得比较迟钝。
因此,特别是对于系统管理员来说,应该有规律地检查所有安装的文件系统的空闲空间总数,并提醒用户使他们不用的文件的目录空闲。
当空闲空间不够时,应找出并删除临时文件和core文件,作文件系统的后援,如有必要增加另一个文件系统。
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的值到某一点,便可提高系统的性能。