SUN操作系统基础知识和结构经典.docx
- 文档编号:23603738
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:59
- 大小:272.19KB
SUN操作系统基础知识和结构经典.docx
《SUN操作系统基础知识和结构经典.docx》由会员分享,可在线阅读,更多相关《SUN操作系统基础知识和结构经典.docx(59页珍藏版)》请在冰豆网上搜索。
SUN操作系统基础知识和结构经典
第一章系统引导和关机4
1.1关闭系统4
1.2系统引导4
1.3运行级别6
1.4引导中用到的文件6
1.5与引导过程有关的命令7
1.6PROM状态命令与参数7
第二章设备管理8
2.1概述8
2.1.1Sun系统中的设备驱动程序8
2.1.2显示设备配置信息9
2.2设备树和设备命名规则9
2.2.1设备树11
2.2.2设备命名11
2.3硬盘管理15
2.3.1硬盘分区15
2.3.2format实用程序15
2.3.3添加新硬盘的方法16
2.4软盘的管理方法17
2.5光盘的使用17
第三章文件系统管理18
3.1UNIX文件及目录18
3.1.1UNIX文件18
3.1.2UNIX目录树18
3.1.3UNIX文件的许可机制19
3.2文件系统的结构20
3.2.1文件系统20
3.2.2结构20
3.2.3索引节点和目录21
3.3与文件系统相关的命令23
3.3.1使用du和df查询磁盘空间23
3.3.2使用chmod和chgrp改变文件的性质24
3.3.3fsck命令的使用24
4.1硬件简介25
4.2配置SUN的网络功能25
4.3网络文件系统25
4.4网络应用配置26
第五章用户管理27
2.1相关文件27
2.2创建用户28
2.3删除用户29
2.4帐户维护29
附录:
Solaris命令简介30
第一章系统引导和关机
UNIX系统的优点之一就是尽可能地适应用户个人使用计算机地习惯,并尽可能地使系统程序开发环境与其他计算机系统相兼容。
为此,系统设置了若干环境文件,又称点文件。
以C_SHELL为例,其中最主要的有三个:
.cshrc、.login、.logout。
这三个文件以隐含的方式存在用户的登录目录之中,当用户进入或退出系统UNIX时,这些文件将自动运行,以完成对用户环境的设置。
系统提供三种SHELL,即C_SHELL、B_SHELL和Korn,每种所用的初始化文件不同,用echo$SHELL命令可以知道所用的SHELL。
.cshrc是一个用C_SHELL语言写成的脚本文件。
当用户在终端上登录时,在用户主目录中查询并执行该文件。
用户设置的参数以及一些要预先执行的命令都可以写入此文件中。
.login是一个C_SHELL程序,当执行完.cshrc后,立即执行该文件。
这个文件只在登录时执行一次。
此文件一般用于设置特殊环境变量,初始化远程终端,设置进入窗口等。
.logout是一个C_SHELL程序,当用户退出系统时执行,一般用于显示结束信息和执行后台作业等。
在/etc/skel子目录中,有三个文件,名为local.cshrc、local.login、local.profile,它们给出了建立环境的范例。
其中local.profile用于B_SHELL,用户可以将它们拷贝到自己的目录下,通过修改来建立自己需要的程序开发环境。
1.1关闭系统
UNIX系统不允许直接关闭电源,而是必须执行关机操作后方可断电。
与系统关机有关的命令有:
init、shutdown、reboot和halt。
这里的关闭系统是指系统杀死正在运行的进程,从当前运行级切换到其他运行级的过程。
关闭系统必须由超级用户执行。
当出现异常情况时,系统进入死锁状态,此时无法用输入命令的方式关闭系统,只能用系统提供的键盘中断来关闭系统,用此种方式关闭系统后,应在ok状态下键入sync;sync;sync命令作文件系统同步,或是键入power-off关闭电源。
1.2系统引导
系统引导指计算机加电以后的自检、装入引导程序、加载操作系统内核及启动系统进程的全过程。
在接通电源后,根据系统安装的设置,系统执行初始化操作,将UNIX系统装入内存。
在正常情况下,系统直接启动多用户环境,如果遇到异常情况,系统可能在启动后进入到单用户模式,系统管理员要根据提示对系统进行必要的处理,如运行fsck程序,然后直接按Clrl-d,进入多用户状态。
系统引导流程如下:
第一步PROM运行自检程序(POST),检测硬件及内存。
CPU板上的引导PROM(Programmableread-onlymemory)中有一个monitor程序,在引导程序起作用之前,由它控制系统的操作。
系统加电时,它运行自检测程序(POST),检测硬件及内存,并在屏幕上显示所检测硬件的信息,若无错误发生,则进入第二步。
第二步PROM装入一级引导程序BOOTBLK
bootblk位于引导磁盘的1—15扇区,它是/usr/lib/fs/ufs/bootblk的拷贝。
内涵一个名为reader的程序,用于打开引导设备,将引导程序ufsboot放入内存。
读出UFS类型文件系统的内容。
在装载系统时,系统使用PROM中的设备驱动程序。
第三步BOOTBLK装入二级引导程序/ufsboot。
第四步/ufsboot装入/kernel/unix
第五步/kernel/unix装入内核模块
系统内核通过ufsboot读出文件内容,并初始化它自己。
它查阅/etc/system内容,决定应装入哪些系统模块。
当kernel将挂接root分区所需的模块读入后,就释放内存中的引导程序ufsboot,开始使用自己的资源。
第六步/kernel/unix启动/sbin/init进程。
第七步/sbin/init查寻/etc/inittab表中的相应条目,调用相应的rc脚本,检查文件系统,启动各种系统进程。
/sbin/init是所有用户进程的父进程。
图1.1为系统引导进程示意图。
图1.1系统引导进程
1.3运行级别
运行级别指系统软件的配置级别,每一个运行级对应/etc/rc*.d这样一个进程组,而每一个进程组完成一组系统功能。
即运行脚本文件。
最高级别全部为s开头。
inittab的内容告诉init进程,对于每一个运行级别与之对应的要执行什么进程,执行什么动作。
对于/sbin/init进程,/etc/inittab文件定义三种主要的内容:
●系统默认运行级别
●当系统加入了新的运行级别的任务,要发生什么动作;
●当系统的进程吊死后,要发生什么动作;
1.运行级别的种类:
1系统关闭状态,或曰prom管理级,在此状态下可安全下电。
2系统管理员状态。
只有/,/usr文件系统被挂接,普通用户不可注册。
可安装实用程序软件包等。
3多用户状态nfs,syslog等进程不启动,无共享文件系统。
4多用户状态开启远程文件共享文件进程和daemon.
5未使用
6交互式重启reboot-a
7重启动状态停止操作系统,reboot到/etc/inittab中指定的缺省状态。
S,s单用户状态有些文件系统被挂接,用户不能登录。
超级用户在此状态下做维护工作。
2.与运行级有关的命令:
#who–r判断当前运行级
#initn改变为n运行级,n可以为0,1,2.,5,6,
#shutdown–in改变为n运行级,n可以为0,1,2.,5,6,
1.4引导中用到的文件
1./kernerl/*内核模块目录
其中有文件drv;fs;sched;sys;exec;misc;strmod;unix等。
2./etc/system内核配置文件
引导时/kernel/unix查询该文件,能改变内核配置过程,省缺为空文件。
3.Rc(RunControl)运行控制文件
/sbin/rc*‘*’可取0~6,s;
/etc/rc*.d/*‘*’可取0~6,/etc/init.d下的文件是这些文件的link。
4./etc/inittab系统初始化文件
在系统引导时,第一个进程是人为创建的(即进程0)。
在进程0创建它的第一个子进程(即进程1)后,进程0自己变成负责进程调度和存储管理的交换进程,进程1(即init进程)成为其他所有进程的祖先。
选择不同的初始化方式可以进入init的不同状态,init进程读取/etc/inittab文件来确定应执行哪个rc脚本。
该文件记录格式:
id是1-2个字符的标识符;runlevel是init程序的运行级;action指示init进程如何执行process规定的命令;process指定进程执行的命令名。
1.5与引导过程有关的命令
1、引导命令
OKboot引导到缺省状态
OKboot-s引导到单用户状态
OKboot-r更新设备表,加入新的设备驱动程序
2、指定设备引导
OKbootcdrom光驱
OKbootdisk硬盘,缺省从disk0引导。
OKbootfloppy软盘
1.6PROM状态命令与参数
(一)指令集
格式:
OK>指令
1.banner显示当前机器配置状况,CPU,内存,hostid,EtherNet
2.probe-scsi显示内部SCSI通道所挂接设备
3.probe-scsi-all显示所有SCSI通道及所挂接设备
4.probe-ide显示所有IDE通道及所挂接设备(针对U10,U5)
5.devalias显示设备别名,如cdrom,disk,disk0,disk1等
6.printenv无参数,显示环境变量或参数为环境变量名如:
printenvauto-boot?
7.setenv设置环境变量,如:
setenvauto-boot?
false
8.set-default恢复环境变量预定值如:
set-defaultauto-boot?
9.set-defaults恢复所有环境变量预定值
10.bootdevice[option]启动主机
device:
设备别名,如:
cdrom,disk,net,或直接设备名如:
Ultra60外置CDROM
11.eject[cdrom|floppy]弹出cdrom或floppy
12.reset复位
(二)环境变量
1.auto-boot?
预定值=true自动启动
=false进入PROM状态
2.diag-switch?
预定值=false启动状态,启动设备名为boot-device=true诊断状态,启动设备名为diag-device
3.boot-device预定值=disk
4.diag-device预定值=net
5.tpe-link-test?
网络检测=true检测网络(一部分机器具有此变量)
例子:
OKsetenvboot-devicedisk0:
规定从硬盘0引导
OKset-defaults:
所有参数设置为默认值
OKprintenv:
查看所有参数设置
OKboot–r:
更新设备表,启动。
第二章设备管理
2.1概述
UNIX将设备作为文件系统来处理,通过文件系统与设备接口,并将这样的文件称为设备文件,当然就有自己的名字,通称为设备文件名。
每个设备在文件系统目录树中都有相对应的节点,也有标志文件类型和访问权限的信息。
但是设备文件与普通文件不同,它是一种特殊的文件。
UNIX将设备文件分为块设备文件和字符设备文件,如磁盘为块设备,而打印机属于字符设备。
通常设备文件放在/dev目录下。
块设备也可以有一个字符设备接口,比如软盘,可能对应两个设备文件名/dev/fd0和/dev/rfd0,前者对应一个块设备名,而后者对应一个字符设备名。
用ls–l命令可以看到是块设备还是字符设备。
c表示字符设备,b表示块设备。
2.1.1Sun系统中的设备驱动程序
一个计算机系统可以使用各种各样的外设和存储设备。
比如,系统中可能包含SCSI磁盘、键盘、鼠标、磁带机等。
还有其它常用设备如:
CDROM、打印机、绘图仪、触摸屏、数字化仪等。
Solaris软件不直接和这些设备通信,因为每种设备类型要求不同的数据格式、协议和传输速率。
操作系统通过设备驱动程序这种底层的程序与具体的设备通信,也就是设备驱动程序充当操作系统和设备之间的翻译。
内核中控制设备的模块称为设备驱动程序。
系统kernel包括一个很小的与平台有关的核心和一系列模块。
核心模块是在系统中完成某一特定任务的软件或硬件组件。
核心模块可以在Solaris环境中被动态加载。
一个可加载的核心模块的例子就是设备驱动程序。
当设备被访问时,设备的驱动程序被加载。
在Solaris中,与平台无关的操作系统核心是/kernel/genunix。
适合于特定平台的系统组件是/platform/uname–m/kernel/unix。
启动时系统测定所连的设备,核心模块动态地做自我配置,把需要的模块加载到内存。
磁盘等设备在第一次访问时加载相应驱动。
可以通过修改/etc/system文件来改变核心模块被加载的方式。
/etc/system文件中与模块加载有关的有3处:
1、moddir
用moddir来指明各模块的加载路径。
文件中给出了格式为:
moddir:
/kernel/usr/kernel/other/modules
2、exclude
用exclude指明在moddir的路径中哪些模块即使在使用时也不加载。
格式为:
exclude:
module_name
3、forceload
用forceload指明哪些模块在启动时就加载,而不是在该模块第一次使用时加载。
格式为:
forceload:
module_name
被指明需要强制加载的模块如果不存在,在启动时会有报警信息给出。
如果该模块对系统不重要,可以不理睬该报警。
Solaris环境中已经包含很大范围的标准设备的驱动程序,存放在/kernel/drv和/platform/uname–m/kernel/drv目录中。
因此安装很多设备时并不需要同时安装驱动程序。
但是如果购买了不被Solaris系统直接支持的设备,设备的生产厂家应该提供对该设备进行正确安装、维护和管理所需的软件。
在他们提供的软件中至少应包含设备驱动程序和相应的配置文件(.conf文件)。
如果该设备与Solaris中的工具、应用不兼容,需要和设备提供商联系对设备、软件等进行调整,而不是考虑对Sun操作系统本身进行什么修改。
2.1.2显示设备配置信息
我们经常使用prtconf、sysdef和dmesg命令来察看系统和设备信息。
prtconf显示系统中设备的树状互连结构。
此命令的输出中表示设备时,用设备的instantname。
用此命令不但能看出系统中有哪些设备,而且能看出每个设备是通过哪些总线、哪些控制器连接到系统中,每个设备的逻辑设备号。
sysdef命令可以显示更详细的系统信息,包括hostid、核心结构、设备树、系统中的可加载模块、系统核心参数、部分可调参数的值等。
其中也包含prtconf的输出。
prtconf和sysdef命令的输出与机型有关。
dmesg从系统日志中搜集错误信息并输出。
2.2设备树和设备命名规则
众所周知,一台计算机主要有4部分组成:
CPU、RAM、I/O和存储设备。
SUN工作站和服务器也不例外。
为了理解设备树的概念,首先必须了解SUN的结构和总线方式。
图2.1为E450系统结构图。
从图中可以看出,SUN采用Ultra(UltraPortArchitecture,UPA)端口体系结构来解决多CPU与主存储器的通信,即内部总线。
Ultra系统的核心包括CPU芯片、UPA接口、第二级高速缓存SRAM和数据缓存芯片UDB(UltraSPARCDadaBuffer),而外部设备采用SCSI总线。
可以不夸张地,SCSI总线结构是SUN外部设备的主要接口,也是设备命名中重点要阐述的。
图2.2是SCSI总线的具体在系统中的应用。
图2.2中目标地址(跳线地址)对应一个(或一种)设备,当然和此设备的设备驱动器有联系,这样做的目的是使得内核能够识别到该设备。
外设挂入适配器的跳线地址分配如下:
内置硬盘占用跳线3,习惯上称disk0,用于安装操作系统。
用户装入的第一个硬盘跳线地址为1,称disk1。
其他硬盘跳线地址依次是2,0,为disk2,disk3。
磁带机选用4,5。
光驱跳线是6。
操作系统提供动态的控制器分配,系统管理员能够为设备设置唯一的目标数,安装外部设备,内核能够正确地配置设备驱动器。
系统管理员实际使用的基于主机适配器在板上和插槽上的位置,操作系统能够自动分配其地址或数目。
图2.2中第一个SCSI控制器动态标识出插在其上的硬盘(目标地址ID=0)
图2.1为E450系统结构图
图2.2SCSI适配器、硬盘控制器和磁盘分区的描述
2.2.1设备树
SUN系统启动时收集设备信息,自动建立与该设备相对应的设备树。
设备树描述了主板上各种芯片接口的路径。
设备路径还包括可选设备的地址。
设备树与文件系统一样被构建,然后加载到内存,在系统启动时由操作系统使用。
SPARC系统的设备树如下:
图2.3典型设备树
解释:
sbus:
系统外设总线;
espdma:
SCSI直接存储器访问控制器;
esp:
SCSI适配器。
它只能将8个外设连入系统,每个外设提供一个与其他外设不相的跳线地址,以此标识自己。
2.2.2设备命名
Solaris中使用3种名称来表示某一设备:
物理设备名、逻辑设备名和实例名。
物理设备名按照设备的树状互连结构表示设备本身的全路径,是系统对设备的真正访问路径。
物理设备名存放在/devices目录下。
在树的最上面部分称为设备树root节点,下面称为叶。
内核用带有地址的节点表示设备的物理位置,称为物理设备名,例如sd@1。
图2.4/devices目录结构
逻辑设备名是系统管理员和大部分系统命令使用的。
逻辑设备名存放在/dev目录下,并符号链接至/devices目录下的相应文件。
实例名(instantname)是内核缩写名,表示系统中可能存在的每个设备的简单的名字,比如用sd0、sd1等表示磁盘。
实例名与物理设备名的映射关系记录在/etc/path_to_inst文件中。
1、磁盘的命名
磁盘的物理设备名:
磁盘的物理设备名登记在/devices目录下,分区的物理设备名是一条从CPU开始直到硬盘连接地的绝对路径。
CPU上的输入输出管理单元外设总线sbusSCSIdma控制器SCSI适配器跳线地址,逻辑部件号(总为0):
分区号。
例:
系统内置硬盘上的第0分区的物理名为
/decices/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,8000000/sd@3,0:
a
硬盘的逻辑命名方式:
逻辑设备名用在对磁盘或有关文件系统的操作命令中,他们登记在/dev目录下。
磁盘分区作为逻辑设备,登记在/dev/rdsk目录下,作为文件系统登记在/dev/dsk目录下。
命名法:
SCSI适配器跳线地址硬盘I/O控制器分区编号
对其他附加的数据硬盘的命名方式
如机器内装入第二个硬盘,其上只有一个分区。
它的跳线地址是1硬盘名和分区名是一致的。
/dev/rdsk/c0t1d0s0或/dev/rdsk/c0t1d0s2
图2.5逻辑设备命名
2、磁带设备的命名
第一台磁带机逻辑名登记在/dev/rmt目录下,不同的名字代表不同的属性。
/dev/rmt/0:
高密度磁带机6250dpi,结束操作后回绕到带头;
/dev/rmt/0h:
高密度磁带机6250dpi;
/dev/rmt/0m:
中密度磁带机1600dpi;
/dev/rmt/0l:
低密度磁带机800dpi;
/dev/rmt/0hn:
高密度磁带机6250dpi,结束操作后不回绕到带头;
/dev/rmt/0hBn:
与BSD版本兼容的磁带机,高密度不回绕。
3、光盘命名法则
光盘上使用和UFS文件系统的组织格式一致的HSFS文件系统。
光盘始终作为只读硬盘处理。
它的使用和硬盘是一样的。
/dev/rdsk/c0t6d0s0光盘上的分区设备名;
/dev/dsk/c0t6d0s0光盘上的文件系统。
2.3硬盘管理
2.3.1硬盘分区
可以利用在设备目录下的字符设备文件和块设备文件对硬盘进行访问。
然而,硬盘不是由用户直接访问的,是通过分区对它进行访问的,分区由设备目录下的设备文件来表示。
“片”是“分区”的另一种说法。
分区是管理数据的一个方便的方法。
重要的系统文件和程序可以存在一个分区,而用户产生的文件放在另一个分区。
它保持不同类型的数据在不同的分区。
这使系统管理员能灵活地利用数据或使用不同的备份机制。
因为用户的数据每天都发生变化,系统管理员应每天作备份。
而重要的系统数据不是经常变化,也就不需经常做备份。
由Sun提供的硬盘分区可多达8个,用1-7标识。
分区2表示整个硬盘。
分区5表示/opt文件系统,此文件系统用来存贮那些未随操作系统一起提供的软件。
分区6是/usr分区,此文件系统包含那些只能在某些类型的系统上运行的文件(如SPARCexecutables)和一些能在所有系统类型上运行的文件(如联机手册放在/usr/share目录下)。
分区7的文件系统称为/export/home。
这是挂接用户主目录的挂接点。
硬盘分区通过在/dev目录下的逻辑设备文件加以访问。
如/dev/dsk/c0t0d0s0表示在第一个硬盘上的第一分区。
图2.6硬盘分区
2.3.2format实用程序
format程序是一个硬盘维护工具,由系统管理员使用,完成以下任务:
●重新格式化硬盘
●改变分区大小
●修理和分析硬盘扇区
format工作过程:
所有格式化后的硬盘都有一个分区表,作为硬盘的标签(label)。
一个事先规定好的分区表存在/etc/format.dat文件中,可以修改此文件进行格式化。
当我们使用format命令时,实际上是将存在硬盘VTOC中的实际硬盘的分区读到内存中,作为当前的标签。
图2.7分区表存储过程
SUN对磁盘的管理
1、对硬盘分区(最多8个分区)
2、在硬盘分区上建立文件系统(每个分区上只有一个文件系统)
3、将多个文件系统拼接成目录树提供给用户。
2.3.3添加新硬盘的方法
●系统断电,连接硬盘
●okboot–r使系统识别新的硬盘
●使用format对硬盘进行格式化
●对每个分区创建文件系统:
newfs/dev/dsk/c0t1d0s3
●检查每个文件系统的合理性:
fsck/dev/dsk/c0t1d0s3
●将新的文件系统的说明加入/etc/vfstab,也可以手工加入(临时的)。
●mkdir/zsj
●mount/dev/dsk/c0t1d0s3/zsj将文件系统/dev/dsk/c0t1d0s3挂接到目录/zsj
●再启动,进入网络多用户态
●系统目录树是否完备,文件系统是否全挂接了?
用df–k命令查询
硬盘和文件资源
硬盘和CD-ROM设备使用块设备接口。
硬盘设备文件存储在/dev目录下。
字符设备文件存于rdsk子目录下,块设备文件存在dsk子目录下。
1.逻辑硬盘设备命名的约定
/dev/[r]dsk/cwtxdysz
2.dmesg命令
dmes
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SUN 操作系统 基础知识 结构 经典
![提示](https://static.bdocx.com/images/bang_tan.gif)