DIGITAL UNIX系统核心是一个支持多CPU进行分布式并行处理的可扩展系统核心。系统核心提供基本的操作系统服务,它支持CPU的使用规划,虚存管理以及进程间通讯。
unix文件系统_DIGITAL UNIX -概述
一、系统管理员的职责
1.安装和配置系统
2.打开和关闭系统
3.控制用户访问系统
・增加信用户
・修改或删除账号
・维护系统的保密级别
4.管理磁盘空间
・维护文件系统
・检查磁盘的使用情况
・建立磁盘限额
5.备份文件系统
6.监控和调试系统
unix文件系统_DIGITAL UNIX -配置核心
一、核心及核心子系统
1.核心
UNIX系统核心是一个支持多CPU进行分布式并行处理的可扩展系统核心。系统核心提供基本的操作系统服务,它支持CPU的使用规划,虚存管理以及进程间通讯。
2.核心子系统
核心子系统是一些内核模块,提供中心核心以外的扩展核心服务。核心子系统包括文件系统,网络协议服务,物理和仿真设备驱动程序,S TREAMS驱动程序和各类模块。
二、配置核心
配置核心就是核心根据系统配置文件巴核心子系统与核心连接起来。
1.配置策略
/传统方式:修改系统配置文件。用doconfig命令重配核心。
静态配置<
自动安装方式:当层次产品安装到系统中时,使用kreg命令可以把这个层次产品纪录到/usr/sys/conf/.product.list文件中,核心工具根据该文件把层次产品加到核心中去。
动态配置动态安装子系统
2.系统配置文件
用于配置核心。
系统配置文件有:
・/usr/sys/conf/NAME
定义了系统做到核心中的功能。核心子系统(文件系统,网络协议,设备及虚拟设备驱动,STREAMS驱动等)都可以在配置文件中加以定义。
・/usr/sys/conf/NAME.list
・/usr/sys/conf/.product.list
这两个文件是配置文件的扩展,包含了层次产品的核心选项,即存储了关于第三方厂商的静态子系统的信息。这两个文件格式相同。
・/usr/sys/NAME/param.c
・/usr/sys/conf/param.c
包含了一些系统参数的缺省值。要修改系统缺省参数,编辑/usr/sys/conf/param.c文件即可。
・/etc/rc.config
包含了建立子系统的配置参数。
3.配置核心
何时配置核心:
・添加设备后
・修改了系统配置后
文件/usr/sys/GENERIC
/genvmunix
・自动配置核心
・手工建立核心
unix文件系统_DIGITAL UNIX -层次结构
______________________________
| ________应用程序________ |
| | ______shell_______ | |
| | | ____核心____ | | |
| | | |设备驱动程序| | | |
| | | | ______ | | | |
| | | | | 硬件 | | | | |
__|__|__|__|__|______|__|__|__|__|__
UNIX 操作系统主要由下列部分组成:
1.设备驱动程序
与外部设备通讯的专用软件
2.核心
操作系统的主要部分,负责控制系统资源。他是可执行文件/vmunix。
3.其它使用程序和程序。
unix文件系统_DIGITAL UNIX -系统监视
・了解你的用户环境
・你所运行的应用程序
・应用程序涉及到的各个子系统
一、初步监视工具
1、ps
显示系统各个进程的状态,包括进程如何使用cpu和虚存信息。
# ps aux
%cpu 占用cpu的百分比
%MEM 使用实际存储器的百分比
VSZ 进程使用虚存的地址大小,也就是分配给进程的虚存数量
RSS 进程的真实存储器(定位集)大小,这是虚页映像的物理存储器的总量(应用程序实际使用的存储器数量)
S 进程的状态。
R 运行态
U 步中断眠态
S 睡眠态
I 闲置态
T 暂停态
H 停止态
W 进程能交换出去
>; 进程超过了存储器要求极限
+ 是控制终端的进程组中的头进程
N 优先级降低了
< 优先级升高了
TIME 当前CPU使用时间
2、vmstat
显示关于进程的线程、虚拟存储器、中断以及某个特定的时间内CPU的使用情况的信息。
# vmstat 1
虚存信息:act 活动页的数量
free 位于自由页列表中页的数量
wire 束缚页的数量
总和=物理存储器
如果free值<100,就可能有虚存问题,<128,交换将会发生。
pout 被交换出去的页的数量
中断信息:in 每秒非时钟中断的次数
sy 每秒系统调用的数量
cs 每秒任务和线程内容变化的数量
CPU使用信息:us 常规和优先进程占用事件的百分比
sy 系统运行事件的百分比
id 闲置时间的百分比
3、swapon
显示交换空间配置和加交换空间
# swapon -s
# swapon -a /dev/rz1b
4、iostat
监视磁盘空间。该命令纪录了终端、磁盘以及CPU的I/O的统计数据。
对于每个磁盘: bps 每秒转换的直接(千字节)数
tps 每秒转换的次数
对于系统:
/us 在缺省优先级
用户状态运行进程所花的时间的百分比< 或高优先级
ni 在低优先级
sy 系统态
id 空闲态
5、netstat
# netstat -i 显示输入错误、输出错误、冲突
# netstat -is 查明上述例子中输入和输出错误的原因
6、sysconfig
监视系统参数。
# sysconfig -s 显示所有子系统
# sysconfig -q 子系统 显示指定子系统有关的所有属性值
unix文件系统_DIGITAL UNIX -系统的引导及关闭
一、控制台上的一些参数和命令
控制台命令提示符:>;>;>;
1.主要控制台参数
auto_action 设置机器自检后处于何种状态。可取halt或boot
boot_osflags 设置引导时进入单用户或多用户方式。可取s或a
bootdef_dev 设置缺省引导设备。
ewa0_mode 设置网卡走哪种介质。可取twi,aut,fast等。
2.常用的控制台命令
set
show
boot
help
二、运行级的概念
系统的运行级也就是系统所处的运行状态。UNIX系统可以在不同的状态下运行。以完成不同的工作。Digital UNIX支持的运行级有:
0级 停机方式
s或S级 单用户方式
2级 无网络功能的多用户方式
3级 有网络功能的多用户方式
三、系统的引导过程
______________
| 把核心装入 |
|__内存________|
|
_____|/______
|__初始化核心__| __________
| | |
_____|/______ | _____|/______
| 检查硬件配 | | | 执行初始化 |
|__置__________| | |__脚本文件____|
| | |
____________ _____|/______ | _____|/______
| 手动启动 |<_____| 创建系统进 |__| | 进入多用户 |
|____________| |__程__________| |__操作方式____|
unix文件系统_DIGITAL UNIX -引导过程
分为七个阶段:
1.把核心装入内存
(1)控台软件装入0号逻辑块(引导块)
(2)引导块从1-15号逻辑块中读取第一引导程序码
(3)第一引导程序装入第二引导程序/osfboot
(4)第二引导程序获取引导方式、引导设备等,装入指定核心。
2.初始化核心
(1)检查在装入核心后还剩多少内存空间
(2)为缓存区和内部静态表保留内存空间
(3)建立页表和启动存储管理
(4)启动0号进程和其他系统进程
(5)初始化缓存区
3.检查硬件设备
4.创建系统进程
(1)0号进程(核心任务)
由许多线程组成,完成诸如叶面的调入和调出,作业映像的换入和换出,调度以及提供设备中断服务和核心空闲服务。
(2)1号进程(init)
这是所有用户进程的父进程,为每台终端产生出一个login进程。init进程也负责单用户-多用户的转换。
(3)2号进程(设备服务程序)
处理缓存区的管理。
(4)3号进程(异常处理程序)
同步等待异常信息并把它转换成UNIX信号。
5.单用户方式
6.执行初始化脚本文件
在这个过程中,init进程读取/etc/inittab文件中的内容,并执行相应运行级的rc脚本文件。
rc*脚本完成的任务有:
(1)设置系统名字
(2)用fsck命令检查磁盘
(3)安装列在/etc/fstab山的文件系统
(4)删除/tmp目录的文件
(5)通知核心另一个Swap分区
(6)启动守护程序和网络服务
(7)打开系统账号和磁盘限额
(8)配置网络接口
(9)允许登录
7.进入多用户方式
unix文件系统_DIGITAL UNIX -初始化文件和目录
1./etc/inittab
文件格式:
标识符:运行级:运行条件:命令
(1)标识符
他是每一行的标志。这个域最多14个字符
(2)运行级
它定义了这一行命令在哪个运行级执行。这个域最多20个字符。
(3)运行条件
这个与最多20个字符。init通过运行条件来决定如何对待后面的进程。这个域可以取以下值:
respawn 如果这个进程不存在或终止,则init重新启动它。如果进程已经存在,则继续扫描inittab文件。
wait 如果系统正在进入与本项匹配的运行级,这启动该进程,并等待进程终止。以后在此扫描inittab文件时,如不改变运行级,本项将被忽略。
bootwait init只在系统启动时才被处理。当该项的进程终止,init不再启动它。
initdefault 系统启动时init处理此项, 通过这一项来决定进入哪一个运行级。 如果本项中运行级一栏为空, 则系统选择运行级中最高的状态来运行。 如果根本没有此项, 那么系统在引导时会要求管理员输入运行级。
(4)命令
标出所要运行的shell命令。每一行可以用换行。这个域最多1024个字节。
2./etc/securettys
3./sbin/bcheckrc
检查和装载文件系统的命令文件
4./sbin/rc0,/sbin/rc2,/sbin/rc3
用于控制进入0,s,2或3运行级的主要脚本文件(是sh程序)
5./sbin/rc0.d,/sbin/rc2.d,/sbin/rc3.d目录
/sbin/rc0脚本运行/sbin/rc0.d目录里的命令或程序
/sbin/rc2脚本运行/sbin/rc2.d目录里的命令或程序
/sbin/rc3脚本运行/sbin/rc3.d目录里的命令或程序
6./sbin/init.d目录
7./etc/rc.config
该文件包含系统配置参数。/sbin/init.d目录中的命令文件用这些参数配置不同的子系统。这个文件中的参数可以用rcmgr命令显示或设置。
8./usr/sbin/getty
用于设置和管理终端的可执行文件。
9./etc/gettydefs
该文件用于定义终端属性,由/usr/sbin/getty读取。
10./var/spool/cron/contabs
该目录包含了定义定期执行进程的文件,这些文件分别属于不同的用户。
11./var/spool/cron/atjobs
该目录包含了定义执行一次特别进程的文件。
unix文件系统_DIGITAL UNIX -关闭和重新启动系统
UNIX提供了几种关闭系统的方法:
・shutdown命令
命令格式:shutdown 参数 time (警告信息)
・halt命令
・init命令
1.在多用户方式下关闭系统
shutdown -h now
shutdown
shutdown -r
2.在单用户方式下关闭系统
# sync
# sync
# halt
3.其他关机和重启动命令
init
reboot
第四章 添加设备
一、设备驱动程序
设备驱动程序是硬件设备的软件接口。
_______________________________
__|块设备驱动程序 |
| | |
| |以块为单位进行输入输出操作。 |
______________ | |它使用核心支持的块缓存器进行 |
|_设备驱动程序_|___| |读取。磁盘和磁带机是典型的块 |
| |设备。_________________________|
|
| _______________________________
|__|字符设备驱动程序 |
| |
|分为输入和输出两类。不使用缓 |
|存区进行I/O操作。打印机、键盘、|
|显示器等是字符设备。___________|
_______________________________
__|传统静态设备驱动程序―― |
| | |
| |Digital公司的硬件设备 |
| | |
| |用MAKEDEV命令建设备文件 。 |
| |_______________________________|
______________ | _______________________________
|_设备驱动程序_|___|__|自动静态设备驱动程序―― |
| | |
| |第三方厂商的硬件设备 |
| |kmknod命令从核心得到所需信息并 |
| |建立设备文件。_________________|
| _______________________________
|__|动态可装载的驱动程徐―― |
| |
|在上载时建立特殊文件,在下 |
|载时删除这个文件。由kfgmgr |
|命令建立特殊文件。_____________|
二、设备特殊文件
是对特殊特征的描述。设备文件在/dev目录下,它们为核心中的驱动程序提供访问。
_______________________________________
__|主设备号major number――指出设备的种类 |
| | |
__________ | |主设备号用于设备种类的索引,字符设备 |
|__设备号__|___| |纪录在cdevsw表中,块设备纪录在 |
| |bdevsw中,表中的每一项指向相应的设备 |
| |驱动程序。_____________________________|
| _______________________________________
|__|次设备号minor number――指出特定的设备 |
| |
|次设备号是具体的设备号。_______________|
添加磁带、磁带机、仿真终端、第三方厂家的磁带机和磁带设备。
unix文件系统_DIGITAL UNIX -磁盘和文件系统
一、磁盘
1.扇区
扇区是磁盘的存储单位,是可进行一次I/O操作的磁盘上的最小单位。每个扇区为512个字节。扇区的地址由逻辑块号(LBN)决定,LBN是用户可以访问的基本磁盘数据区。
2.分区
__________________________________________________________
| |
| 物 理 磁 盘 |
|__________________________________________________________|
<---------------------------c------------------------------>;
<----a---->;<-----b----->;<--------g------->;<--------h------->;
<-----d----->;<----e----->;<----f---->;
・分区由一组扇区组成
・最多8个分区
・每个分区大小可以不同
・分区的符号:a-h
・每个分区都有一个块设备文件和一个字符设备文件
・每个分区有时要覆盖另一个分区,c区覆盖了所有分区
・每种磁盘都有缺省的分区大小值,放在/etc/disktab文件里
・分区的用法:
放文件系统
(作交换区――进行分页和交换的操作)
・对磁盘进行分区――使用disklabel命令
使用disklabel命令来检查或改变分区大小――分区表
# disklabel -wr rz1 rz29
# disklabel -r rz0
# disklabel -er rz1
3.分页和交换
・分页和交换是对内存进行扩充和管理的技术,是对虚存的管理技术。
・虚拟内存=物理内存+交换区
・虚拟内存对物理内存和交换区进行统一编址
具有虚拟内存地址的页可能在物理内存内,也可能临时存储在交换区内。
・虚存的使用
物理内存存放进程最近将要用到的页和具有高优先级的进程所需的页。
交换区存放已修改的不常用的页。
/调入页page in
・静态配置<
调出页page out
分页操作时磁盘和物理内存之间少量的页操作。
调入页:当某一进程所需的页不在物理内存时,系统把这个页从其磁盘上的存储处或交换区中拷贝到物理内存中,这个过程叫做调入页。当进程访问一个以前系统没有访问过的页时,一定会发生调入页操作。
调出页:当系统运行某一进程时,发现物理内存中可用页数的数量低于系统正常运行的要求时,它会把一些不常用的或者是优先级低的进程的修改过的页写到交换区,同时释放内存空间,这个过程叫做写修改页或调出页。
/交换调入swap in
・交换操作<
交换调出swap out
交换过程涉及了磁盘和物理内存之间大量的页交换。
交换调出:当通过调出页操作仍不能使系统得到足够的可用页时,系统将选择一些物理内存中低优先级的进程,把其所有的已经修改的页写到交换区,并释放这些进程的也占据的所有内存空间,这个过程叫做交换调出。当系统的物理内存不够用时才会发生交换调出。
交换调入:随着那些低优先级的进程等待时间的增长,这些进程的优先级会逐渐高于其他进程,这时系统再把它们调入内存来执行,这叫做交换调入。
/交换调入swap in
・交换区的定位方式<
交换调出swap out
立即定位方式:是物理内存中修改页一建立就定位交换区。
优点:比延迟方式可靠
缺点:定位的交换区比延迟方式多(因为对每个修改页都定位一个交换区空间,而并不是所有修改的页都需要写到交换区)
会降低系统性能(因为系统要花费额外的时间去进行交换区纪录)
延迟定位方式:在需要把已经修改的页写到交换区之前不定为交换区,直到系统要去写修改页时才定位交换区空间。
缺点:不可靠。(因为有时会发生交换区的大小不足,这是系统将终止与不能写入交换区的已修改页相关的进程。此修改页如果不能写入交换区而被删除的话,以后执行该进程时会出现找不到该页的错误从而使系统启动该页没修改前的状态,这样就会发生错误的结果。)
・监视交换区的使用情况,增加交换区:
# swapon
# swapon -a /dev/rz1b
・选择交换区的定位方式
立即方式:有文件/sbin/swapdefault存在
# ln -s /dev/rz0b /sbin/swapdefault
延迟方式:删去文件/sbin/swapdefault
二、文件系统
Digital UNIX支持下列类型的文件系统:
・UNIX文件系统(ufs)
・System V文件系统(s5fs)
・网络文件系统(nfs)
・小型磁盘文件系统(CDFS)(ISO9660)
Digital UNIX通过使用虚拟文件系统(vfs)来达到支持多种文件系统的目的。Vfs以Berkerley4.3的虚拟文件系统为基础,它提供了一个统一的文件系统接口,从而使系统可以透明地访问文件而不用管它是属于哪种文件系统。
_______________________________________________
| |
| |
|___________ ___________ ___________ ___________|
| | | | |
| UFS | S5FS | NFS | CDFS |
|___________|___________|___________|___________|
1.System V文件系统的结构
________________________________________________
| | | | |
|Boot |Super |Inode | Data |
|Block |block |Table | |
|_______|_______|_______|________________________|
2.UNIX文件系统结构
_________________________________________________________ ...
| | |Alternate|cylinder | | |
|Boot |Super |super |group |Inode | Data |
|Block |block |Block |Block |Table | |
|_______|_______|_________|_________|_______|__________|__ ...
|<-------------------Cylinder group 0----------------->;|
... __ ______________________________________
|Alternate|cylinder | | |
|super |group |Inode | Data |
|Block |Block |Table | |
... __|_________|_________|_______|__________|
|<----------Cylinder group n---------->;|
・引导块
用于引导和初始化
・超级块
它包括下列信息
――文件系统的大小(以块为单位)
――inodes使用的块
――文件系统的名称
――最近一次超级块升级日期
――自由块队列头
――自由inodes队列,这些自由inodes可以分配给新建立的文件
・I节点(inodes)块
每个I节点块种包含了一定数量的I节点,每个I节点都有一个I节点号。每个I节点包含了文件系统中一个独立文件的信息:
――文件类型
――文件属主和属组
――文件的存取权
――连接数:这一项是文件所连接的路径号。当这个域为0时,表示这个文件被删去,然后这个I节点被释放到自由inode队列中去。
――文件的大小(以字节为单位)
――最后一次文件被访问的日期
――最近一次文件被修改的日期
――最近一次inode被修改日期
――数据块指针:指向数据块实际存放的物理位置
・数据块
用户数据和系统文件
3.ufs与s5fs主要存在两点不同
(1)ufs使用了block和fragment的概念
block和fragment是存储文件的存储单位,缺省的block大小为8192个字节(8k),缺省的fragment大小为1024字节(1k)。Block和fragment的大小可以根据自己的文件系统的需要进行调整。
由于文件系统中同时存在的大文件和小文件,对于比较大的文件以block为单位,对于较小的文件以fragment为存储单位。
采用block和fragment为存储单位可以节省存储空间,可以提高系统性能。
(2)ufs采用了扇区组的磁盘管理方法
ufs的每个扇区内都有一个Alternatesuper block,它是超级块的备份,因此,在超级块毁坏时,系统仍可以正常工作。
4.建立文件系统
# newfs -T fstype device
5.检查和恢复文件系统
文件系统遭到破坏的原因:
・不正当的shutdown
・硬件错误或电源失效
・关机时没同步磁盘
fsck命令对文件系统进行检查和修改,以确保系统的正常运行。
# fsck [option] [file-system...]
6.访问文件系统
装载文件系统:
# mount [-o option] [-t type] [file-system] [mount-point]
下载文件系统:
# umount mount-point
/etc/fstab文件
7.文件系统的保密
---------------------------------------------------------
存取权 r w x
---------------------------------------------------------
文件 可读文件内容 可修改文件内容 执行文件
目录 可列目录 可在目录中创建 可进入或搜索目
删除和重命名 录;可使用目录
文件 名作为路径名的
一部分
---------------------------------------------------------
8.监视磁盘的使用
df 检查文件系统的磁盘空间使用情况
du 监察文件或目录的磁盘空间使用情况
# df -k
# du
第六章 高级文件系统
一、AdvFS的特征和好处
1.引入灵活性
・系统管理员可以在文件系统正在活动的同时增加或取消磁盘。
・最终用户可以从预先定义的垃圾目录中取回它们自己不小心删除的文件。
2.维护兼容性
・从用户的观点看,advfs象任何UNIX文件系统那样工作。最终用户可以使用mkdir、cd、ls、等命令。应用程序遇到的是建立在UNIX上的编辑接口:o pen()、close()、create()等等。
・advfs符合POSIX 1003.1
・advfs替代或消除了若干标准命令,如newfs,dump,restore,fsck等。
3.提高数据可用性
・在系统中断后的重新引导是
advfs采用提前写登记来替代fsck使用程序,作为在不可预测的系统崩溃或电源故障期间发生系统部一致性的检查和恢复。
・系统管理员无需将系统脱机即可实现回收、文件系统的配置和文件系统的调整。
4.提供高性能
・以片(extent)为基础的文件分配模式允许较小的和较大的I/O传输,从而提高顺序读/写的吞吐量和简化了大的数据传输。
・advfs支持多卷文件系统。多个卷支持文件层的分条和迁移。文件层分条通过把I/O展开于若干磁盘来提高文件的传输率。文件迁移允许负载和容量的平衡和减少文件分成碎片。
二、advfs的组成
advfs由两个不同的层组成:每层包含不同的文件系统机制。
・物理存储层(文件域)
物理存储层实现提前写登记、高速缓存、文件分配和物理磁盘I/O功能。
・目录谱系层(由文件集组成)
目录普系层实现文件命令模式和Digital UNIX文件系统一致的功能,如创建和打开文件,或者读写文件。
1.文件域
文件域是一个或多个卷的命名集合,提供物理存储的共享池。
卷可以是:
・一个整个的磁盘
・一个盘分区
・用逻辑存储管理程序配置的逻辑卷
2.文件集
文件集代表文件系统目录谱系的一个部分:每个具有唯一名字的文件集是形成子树结构的目录和文件的一个集合。
文件集和文件系统在许多方面是等价的:
・安装文件集好像安装文件系统那样
・文件集也是使能限额于回收数据的单位
unix文件系统_DIGITAL UNIX -高级文件系统命令
命令说明
chfile 改变文件属性
chfset 改变文件集属性
chvol 改变卷的属性
mkfdmn 创建文件域
mkfset 在文件域中创建文件集
renamefset 对已存文件集重新命名
rmfset 从文件域取消文件集
showfdmn 显示文件域属性
showfile 显示文件的属性
showfset 显示文件域中文件集属性
vdump 实现增长回收
vedquota 编辑用户和组限额
vncheck 打印文件系统中每个文件的标记和全路径名
vquota 小结文件集的占有关系,显示用户或组的磁盘是用和限额
vquotacheck 检查文件系统限额的一致性
vquotaon 打开限额
vquotaoff 关闭限额
vrepquota 小结文件系统用的限额
vrestore 从用vdump命令写的磁盘上恢复文件
POLYCENTER高级文件系统使用程序
unix文件系统_DIGITAL UNIX -实用程序说明
addvol 在已有文件域中增加卷
blance 在两个卷间平衡已使用空间的百分比
clonefset 创建只读文件集
defragment 是域中文件更加连接
dxadvfs 启动advfs图形用户接口
migrate 在文件域中移动文件的位置
mktrashcan 附加目录到存储删除文件的垃圾目录中
rmfdmn 取消不用的文件域
rmtrashcan 从垃圾目录去掉指定目录的附属关系
Rmvol 从已存文件系统中取消一个卷
shtrashcan 显示垃圾目录,如果由的话,被附属到指定目录
stripe 把文件分条跨文件域中若干卷