Chinaunix首页 | 论坛 | 博客
  • 博客访问: 829675
  • 博文数量: 198
  • 博客积分: 4036
  • 博客等级: 上校
  • 技术积分: 2173
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-19 22:31
文章分类

全部博文(198)

文章存档

2010年(4)

2008年(8)

2007年(143)

2006年(42)

2005年(1)

我的朋友

分类:

2007-03-23 17:23:35

1 版本
  Unix系统主要基于2个版本:
* BSB(Berkeley Software Distribution)Unix: 如SUNOS4.x, HP-UX
* AT&T Unix System V: 如IBM-AIX, Solaris(SUNOS5.x)

两个版本的Unix提供的C语言函数不完全相同;
SUN公司在从BSD的Unix向Unix System V过渡的同时在Solaris系统上增加了BSD的支持.
在/usr目录下提供了/ucb, /ucbinclude, /ucblib三个目录; 在开发过程中要使用bzero等BSD的Unix函数,就需要将/usr/ucblib下的动态库链接使用.

2 简介
  Unix系统由三部分组成:
* Unix核心
* 用户进程数目<=65535个
* 磁盘上的数据文件系统

Unix核心是一个二进制程序,大部分由C语言编写,有一小部分用汇编语言编写,核心有三个要完成的基本任务:
(1)建立用户进程并调度其执行
(2)提供系统服务
(3)处理硬件中断和例外
用户进程是一个二进制文件,每个系统上允许同时启动的进程数目是有限的,Solaris中缺省的最大进程数目是986;
(/etc/system文件重配Unix内核修改此参数)
每个进程有自己的虚拟地址空间,地址最大值取决于CPU类型和系统磁盘容量.
进程被执行时,代码和数据区装入主存中,寄存器和程序计数器装在CPU寄存器中.

3 文件系统
Unix文件系统是树型的组织结构,树的根节点就是"/"目录;
每个设备对应根文件系统/dev目录下的一个设备文件

                                  /目录                    
                                     
home  tmp  var  usr  lib  etc  dev  bin  vmunix
                       |       |       |
                    adm  lib----

/文件系统: 包含Unix系统核心,设备文件和配置文件
/usr文件系统: Unix命令和库函数
/tmp文件系统: Unix系统交换区

交换区的大小取决于工作站要运行什么应用,影响系统的运行速度,一般不应小于内存大小;
一部分应用程序使用"/"文件系统作交换区;
未给操作系统分配交换区时,缺省也是使用"/"文件系统作交换区.
使用Solaris时注意了,每个文件系统的10%是操作系统占用的;
对于超级用户,当容量是100%时,仍然可以向该文件系统写入(可能导致系统崩溃,应避免)

Unix常用的文件系统类型
* ufs(User File System)
* cdfs (CD-ROM File System)
* nfs (Network File System)
不同厂家的标准:
Solaris上的cdfs是hsfs(High Sierrs & ISO 9660 CD-ROM filesystem),AIX上的是cdrfs
Solaris上本地文件系统是ufs, AIX是jfs;
jfs是使用在大型文件系统上,用硬盘作为文件系统的缓冲区(降低系统性能换取系统的高可靠性);
ufs是使用内存作文件系统的缓冲区,一旦掉电可能导致文件系统的损坏.

文件系统的挂接与卸载
分为本地文件系统和网络文件系统;
启动时的自动挂接,写在/etc下的配置文件中;SUN上是/etc/vfstab,其他系统是/etc/filesystems
使用[df]查看挂接的文件系统;

Unix的NFS可以使工作站之间透明地相互使用硬盘资源(文件系统是ufs/jfs无所谓,不相干);
NFS的运行方式是CLIENT-SERVER方式:
* Server开放目录(Solaris上修改配置文件, /etc/dfs/dfstab,加入要开放的目录)
  执行
  /etc/init.d/nfs.server stop
  /etc/init.d/nfs.server start
  重启nfsd, 在AIX上用工具smit开放目录
* Client
  执行
  mount server-hostname:share-dir mount-point
* 卸载方法(无进程或终端窗口使用才可卸载)
  umount mount-point

Unix的文件类型
* 文本文件
* 二进制文件
* 目录文件
* 设备文件

设备文件分为字符设备文件和块设备文件;
字符设备又叫原始设备(raw设备),一次处理一个字符,如:打印机
块设备必须在BSIZE字节单元内寻址,BSIZE在/usr/include/sys/param.h中定义为512字节,如:磁盘
使用ls -l查看/dev下的文件,第一个字符为b的是块设备,c是字符设备;
磁盘和磁带既是字符设备,又是块设备,"r"作标识, 如/dev/dsk是块设备文件, /dev/rdsk是字符设备文件

文件系统的创建与恢复
各个Unix系统上文件系系统有差异,AIX使用simt工具管理系统;
Solaris创建文件系统为例子:
* format对硬盘分区,
  分区后一定要lable(write partition map and label to the disk)
  命令中的format功能是低级格式化,慢~~的~~很,不必要不要用
* mkfs或newfs对分区建立系统文件
  分区使用的设备文件必须是字符设备,如:newfs/dev/rdsk/c0t1d0s0
* fsck 全路径文件名 修复损坏的文件系统
  修复过程是交互的,也可用-y选项取消交互。

4 Unix进程

* 前台执行进程 "fg"
* 后台执行进程 命令+"&" "bg"
* 挂起进程 "Ctrl+z"
* 查看进程 "ps [-aAcdefjl]"  返回值:
  F:标志, 16进制数
  S:进程状态
  UID: 进程用户号
  PID: 进程号
  PPID: 父进程号
  C: 进程最近消耗CPU资源的情况,C值低的进程比C值高的进程更易获得CPU
  PRI: 进程的调度优先权,有-c时数大优先权高,无-c相反.
  NI: 优先级
  ADDR: 进程的内存地址
  SZ: 进程在主存中可交换存储映象的大小(一页计)
  WCHAN: 导致进程进入睡眠状态的事件的地址(NULL表示进程正在运行)
  STIME: 进程启动时间
  TTY: 运行进程终端
  TIME: 进程累计执行时间
  CMD: 命令名称

* 特殊进程:
  进程0: 交换程序进程,功能是把进程映像移到盘文件,或从盘文件移到内存
  进程1: 初始引导进程,负责启动其他用户进程
  defunct进程: 一种子进程,当它正常退出时,系统通知他的父进程,由父进程结束该子进程,但是这时父进程已经运行异常或繁忙,导致该子进程不能正常退出,使该子进程变成为defunct进程.
  这种进程不能杀掉,只能等待父进程退出,由系统结束.

* 进程控制
  出现异常: kill [-signal] pid ...  kill -l

5 Unix 常用配置文件

/etc/hosts
  IP hostname  127.0.0.1必须设为localhost
/etc/passwd
  shadow文件保存用户口令
  passws文件格式如下: 用户名: 口令: 用户号: 组号: 注释: 用户家目录: Shell
/etc/group
  用户组文件: 用户组名: 口令: 用户组号: 用户组(,作为分隔符)
/etc/services
  Services与Socket端口对应资源文件:
  service-name port/protocol(tcp/udp) aliases
/etc/netmasks
  网络掩码资源文件:  子网 掩码
/etc/vfstab, /etc/filesystems
  device to mount
  device to fsck
  mount point
  FS type
  fsck pass
  mount at boot
  mount option
/etc/dfstab, /etc/exports
  配置开放本机的某个文件系统: dfstab : share -F FSType -d description pathname
inittab
  系统初始化配置文件: 标识符: 运行级别: 动作: 命令
/etc/system
  Solaris内核参数的配置文件: sysdef -i 查看系统当前参数
  命令格式:
  set patameter = value
  set module_name:variable = value
 重要参数:
 max_nprocs: 最大进程数目
 max_users: 最大用户数目
 shmsys:shminfo_shmmax: 最大共享内存(一个进程能使用的最大共享内存)

阅读(1653) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~