I/A’s系统及应用2-1第二章操作系统I/A’s的操作系统目前在使用的有三个版本:PW与AP20上的VENIX;50系列上的SunOSTM5.2(Solaris®2.2);70系列上的Windows-NT4.0。福克斯波罗公司不久将推出带有双操作平台的60系列。Windows-NT的操作界面与一般PC机无异,故我们这里不再作介绍。VENIX是以分时的Unix操作系统为基础,加上实时控制部分VRTX,以BourneShell为主,融入部分CShel指令。VENIX操作系统与UNIX操作系统第七版完全兼容,在UNIX操作系统上开发的软件可以不加修改地在VENIX系统中运行。在VENIX系统中可以运用C程序设计语言和FORTRAN程序设计语言。50系列Sun工作站上使用的SunOSTM5.2是Sun公司具有自主版权的Unix操作系统。操作人员可以根据自己的爱好选用BourneShell或CShel因此我们这里只介绍Unix操作系统。但是本教材不可能也没有必要把全部Unix的内容抄进来,只能介绍一些常用命令作为入门,有兴趣的读者可看Unix资料。1UNIX操作系统简介UNIX系统是一种多用户,多任务的操作系统。多用户指允许多个用户同时进入系统进行操作,对每个用户来讲机器就好象仅在为他一个人服务。多任务指多道进程可同时运行。作为多用户操作系统,Unix的安全性和可靠性都要胜于一般的系统。多个用户进入了系统,但只有一个用户负责整个系统的管理,维护及其安全,这个用户具有最大的权限,称为超级用户(supperuser),其他的用户只有经过超级用户登记授权后才能注册进入系统。1.1UNIX操作系统的进入与退出方法一.在I/A的工程师环境下依次选择SftMnt→VT100(50系列VT100有local;remote;host之分)以工作站作为仿真终端,当出现#字号提示符即可输入Unix命令。退出VT100的命令是:exit或Ctrl-d。方法二.用关机步骤进入单用户状态,在I/A的工程师环境下依次选择:SftMnt→PW_Shutdown→SHUTDOWN(50系列上是AW或AP_Shutdown)最后的一个SHUTDOWN是误操作保护,如果并不想关机可选CANCEL。在AW/WP选择SHUTDOWN后出现以下信息:Thesystemisdown第二章操作系统2-2ChangingtoinitstateS–pleasewaitINIT:Newrunlevel:SINIT:SINGLEUSERMODETypeCtrl-dtoproceedwithnormalstartup(orgiverootpasswordforsystemmaintenance):_机器在这里停下,按照提示可以同时按下Ctrl和d二键重新启动或输入口令进入系统维护,可做备份或恢复文件工作。输入口令后出现以下信息:EnterSystemMaintenanceMode#井字提示符出现后,可以输入UNIX命令。进入这种状态,主要是做硬盘维护工作。工作完成后,如要启动I/A,可输入命令reboot如要关机,可输入命令poweroff,系统将自动切断电源。这种用软件命令断电的方法,在按下工程师键盘上的开机按钮后即可启动,因此为安全起见,如要搬动、拆装机器,务必关掉机器上的硬开关。最好安下面的步骤执行。在井字提示符后面输入命令haltsyncingfilesystems…[1]doneProgramterminatedTypehelpformoreinformationOK现在可以断电了。如要启动I/A,输入命令boot↙55在OK提示符下软断电命令为power-off在PC机上我们也可以不进入I/A直接进Venix。开机通电启动,当屏幕上出现&字符后,键入:venix.novrtx↙(若不键入任何字符数秒钟后系统自动调用venix进入I/A);出现提示符EnterNormal,Maintenance,orGraphics?(n,m,g)_快速键入字母n;在提示符Doyouwanttocheckthefilesystem(yorn)_键入y要求检查文件系统。检查文件系统需要花费一些时间,但很值得。特别是发生意外断电或死机,有可能会损坏文件系统,这时就无法启动I/A,检查文件系统时能找到并修补好受损伤的文件,这样就能重新启动I/A。当然你也可以选“n”不要求检查。当出现login:表示系统已经进入VENIX,现在你可以打入你的用户名和口令进行注册。实验室的机器上有二个用户,用户名分别为root和guest,其中root是个超级用户所以用口令保护,口令为gnomes。注册进入系统后出现用户提示符就可输入命令。退出注册用户的命令:exit或Ctrl-d。回到login:状态。I/A’s系统及应用2-3如果要关机,现在还不能直接断电。注意,VENIX是个多用户多任务的系统,只有超级用户有权关机,因此先要注册进入超级用户,然后按如下顺序进行关机操作:cd/↙sync;sync;sync↙shutdown↙系统提示SYSTEMBEINGBROUGHTDOWNNOW!!!Doyouwanttocontinue?(yorn):_若要放弃关机可键入字母n,中断关机程序;键入字母y回车就执行关机程序。注:方法二所介绍的关机步骤仅适用于PC机未进入I/A。1.2UNIX系统的三个基本概念内核(Kernel)内核就是操作系统本身,是管理系统资源的主程序外壳(Shell)Shell即是一种指令语言又是一种程序设计语言,它提供Unix操作系统的对外接口。其内容包括:原始的控制流,参数的传递,变量与字符串的代换,指令和外壳的双向联系等,分别由指令执行;指令所设定的返回码,可用于终端的控制流,指令所定义的标准输出可用于外壳输入。Shell是由指令语言和程序语言所提供的,是用户通向Unix操作系统的有效界面。Shell可以用来编程,在I/A的50系列机器上可以用BourneShell和C-Shell,C-Shell的程序语言非常类似C语言。文件系统文件是Unix文件系统的基本单元,提供了所有文件的组织结构。有三种文件类型:普通文件(在谈到文件时,通常是指这种文件),目录和特殊文件。在设计文件系统时考虑到要尽可能简单有效,故它将磁盘、终端等设备也看做为文件,并置于与普通文件同等的地位。这为操作维护提供了很大的方便。文件系统以树形结构存放。每个文件有关于此文件访问权限的设置。分为三组,每组三个字母(rwx),分别代表:读,写,执行的权限,短行-表示该权限被取消。三个组按序分别为:文件属主,与文件主处于同一组的用户,其他用户。通常我们建立了一个文件后其访问权限为:rw-rw-rw-,表示此文件不可执行,对三种用户都允许读和写。一些主要的系统文件和目录:/:根目录/bin:存放二进制可执行文件,许多Unix基本程序在此目录下/dev:设备文件,当你要在一个物理设备上做输入输出时,必须发送I/O到一个合适的设备文件上第二章操作系统2-4/etc:存放系统数据和维护文件,如:/etc/cron:时钟守护神/etc/group:组文件/etc/init:初始进程,在其它所有进程前运行/etc/inittab:激活进程表/etc/mnttab:挂在系统上的文件系统表/etc/motd:MessageoftheDay,用户登录后显示的信息/etc/passwd:口令/用户帐户文件/etc/rc:系统初始化文件/etc/shutdown:系统关机文件/lib:Libraries系统调用库和编译器库/lost+found:在每一个文件系统中都必须有这个目录。文件系统检查程序执行时将分离的文件放入该目录。这里是用于根文件文件的,/usr文件系统也有这样的目录。/tmp:根文件系统用于存放临时文件的目录,当系统重新启动时该目录下所有文件都将清洗掉。/usr:/usr/bin:一般用户使用的实用程序/usr/edoc:Foxboro电子文件/usr/include:“C”程序的标准头文件/usr/lib:应用目标库1.3常用命令介绍Unix系统区分大小写,不能混用。Unix命令的一般格式:命令[-选项][参数]↙回车符“↙”表示该命令行在前台执行;也可用“&↙”表示将命令送入后台执行,这时机器将显示一个进程号,然后换行出现输入命令的提示符,前台运行的命令可以用“Λc”中止,后台进程要用命令“kill进程号”中止;方括号表示这一项可选,实际使用时不要加方括号。通配符:*代表任意的字符串。?代表任何一个字符。[A-z]从A–z的所有字母。I/A’s系统及应用2-5ls[-option][fname]列目录清单。option是该命令的选择项,fname是文件名参数。例.ls-a以长格式列目录清单,包括以点.带头的隐含文件。短横表示其后是选择项。若无短横shell解释a为文件名,就列出当前路径下文件名为a的文件。例.lsa*列出所有文件名的第一个字母为a的文件。如果该文件是个目录则列出其下面的所有文件。例.ls[a-g]*列出所有文件名的第一个字母为a到g的文件。如果该文件是个目录则列出其下面的所有文件。cd[dname]改变当前的工作目录例.cd/usr/fox/hstorian/bin将目录转到历史库的位置。例.cd将目录转到本用户注册登记的目录(即HOME目录)。mkdirdname创建dname目录。rmdirdname删除dname目录,该目录必须是空目录,没有任何文件。pwd显示当前目录的全路径名。mvfname1fname2将文件1移到(即改名为)文件2,文件名可以是一个全路径的文件名,下面凡是写文件名的地方都可以是全路径的。例.mvaa.arc/usr/fox/hstorian/bin/tank_rep.arc将aa.arc文件转移到历史库所在的目录下并改名为tank_rep.arccatfname显示文件的内容。文件内容较长时滚屏输出。非文本文件不可在屏幕上显示,否则有可能导致死机,其它显示文件的命令都有这个问题。morefname分屏显示文件的内容。回车键滚动一行,[n]d滚动n行,空格键翻一屏,Λd翻半屏,q结束。tail-/+nfname其中–n显示文件的最后n行,缺省为最后10行;+n从文件的第n行开始显示filefname显示文件的类型。cpfname1fname2拷贝文件1到文件2”。第二章操作系统2-6lnfname1fname2连接文件1到文件2”,其中文件1是个实际存在的文件,命令执行者要有读的权限,而对文件2所在的目录要有写的权限。rmfname删除指定的文件。在用通配符时要小心,不要把不想删除的文件删掉了。rm*可将当前目录下的所有普通文件全部删去。rm-rdname删除dname目录,该目录不必是空目录,小心系统不给予任何警告就将该目录下所有文件、子目录全部删除。date显示当前的系统时间和日期。who列出当前正在系统中的用户名和其进入的时间。dtree[dname]显示指定目录名下的目录树,缺省为当前目录。加入选项–a则将目录和文件名一起显示出来。finddir-listbool-exp查找文件。find/usr-namefname-print在/usr目录下,按文件名查找,找到即逻辑为真,就在屏幕上打印输出文件的全路径名。find/usr-typec-print在/usr目录下,按文件类型查找,找到即逻辑为真,就在屏幕上打印输出文件的全路径名。其中c可以是f一般文件b块设备文件c字符设备文件d目录p管道chmodmodefname改变文件的存取权限。一组rwx分别代表读写执行,允许为1,不允许为0,用一个八进制数表示。因此可读可写可执行为111,用八进制的7表示。可读不可写可执行为101,八进制为5。因此若要改变一个文件的存取权限为对自己可读可写可执行,对其他任何人只可读与执行,模为755。chownownerfname改变文件的主人,只有该文件的主人才允许做