自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 资源 (17)
  • 收藏
  • 关注

原创 达梦dmrman dmap备份报[-7103]:创建命名管道失败

问题现象 关闭达梦数据库服务实例,用dmrman备份,数据库备份方式为DMAP辅助进程方式。 [dmdba@localhost ~]$ DmServiceDMSERVER stop; Stopping DmServiceDMSERVER: [ OK ] [dmdba@localhost ~]$ dmrman dmrman V8 RMAN> backup database '/dm8/data/DA...

2020-07-30 19:57:46 664

原创 达梦DCA培训经历

缘起 2020年7月20号收到领导推送的福建专场:达梦DCA认证线下培训班开始报名啦!!学在当下,赢得未来!!链接,问我有没有兴趣。我回答,“可以试试^_^”,有原因,哈哈哈。 大概看了一下链接,感觉没什么料,日常使用就是Oracle,培训的内容感觉也不陌生,而且培训费用也不少,本来没打算要参加的。后面领导说这是单位合作的模式,培训费用是报销的,就答应试一试。有一个前提就是不能耽误工作任务,哈哈哈。 准备 咨询了授课方对接人,明确费用和出行自理后。就在网上订了一张周5下午6点的动车票。...

2020-07-26 23:37:04 897

原创 中标麒麟7远程模式打开达梦界面,键盘重复输入问题

现象描述 达梦管理工具(DM管理工具)在Xmanager的图形远程模式下,键盘重复输入问题。 软件信息 操作系统 [dmdba@localhost ~]$ uname -ra Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Sun Jul 13 23:08:53 CST 2014 x86_64 x86_64 x86_64 GNU/Linux 远程工具 Xmanager Power Suite 6 ...

2020-07-26 22:09:53 490

[JAVA解惑](美)布洛赫.扫描版

Java解惑,是一本以大量java实例,讲述如何在程序中避免程序缺陷和程序陷阱的,解惑的过程中,介绍了一些Java编程语言中许多不易被掌握的知识点,其阅读价值非常高,适合具有Java知识的学习者和有编程经验的Java程序员阅读。

2013-04-16

BackTrack中文指南V10 密码:NEURON

BackTrack是基于Ubuntu的自启动运行光盘,它包含了一套安全及计算机取证工具。它其实是依靠融合Auditor Security Linux和WHAX(先前的Whoppix)而创建成的。 BackTrack是目前为止知名度最高,评价最好的关于信息安全的Linux发行版.它是基于Linux平台并集成安全工具而开发成的Linux Live发行版,旨在帮助网络安全人员对网络骇客行为进行评估.不论您是否把它做为常用系统,或是从光盘或移动硬盘启动,它都可以定制各种安全包, 包括内核配置,脚本和补丁, 以用于入侵检测.[1]​ BackTrack是一套信息安全审计专用的Linux发行版, 不论您是信息安全专家还是新手. 它创造了一条可以方便您从世界上最大的安全工具库寻找和更新安全工具的捷径. 用户包括信息安全领域的专业渗透测试人员, 政府雇员, IT人员, 信息安全爱好者以及安全领域的初学者. 来自不同行业, 不同技术水平用户的反馈促使我们开发了这样一个面对多元需求,包括商业和非商业需求的系统. 无论是在渗透无线网络, 服务器, 还是在进行网站安全评估, 或是在学习安全技术, 或是在利用社会工程学获取信息, BackTrack都可以满足您在信息安全方面的需要。

2013-04-16

Oracle Solaris Trusted Extensions 配置指南

《OracleSolarisTrustedExtensions配置指南》介绍在Solaris操作系(SolarisOS)中配置TrustedExtensions的过程。该指南还介绍如何准备Solari系统以支持TrustedExtensions的安全安装。 目录 前言........................................................................................................................................................13 1 TrustedExtensions的安全规划 .......................................................................................................19 在TrustedExtensions中规划安全 .................................................................................................. 19 了解TrustedExtensions ............................................................................................................. 20 了解站点的安全策略................................................................................................................. 20 设计TrustedExtensions的管理策略 ...................................................................................... 21 设计标签策略 .............................................................................................................................. 21 规划TrustedExtensions的系统硬件和容量 ......................................................................... 22 规划可信网络 .............................................................................................................................. 22 在TrustedExtensions中规划区域 .......................................................................................... 23 规划多级别访问 ......................................................................................................................... 24 在TrustedExtensions中规划LDAP命名服务 ..................................................................... 25 在TrustedExtensions中规划审计 .......................................................................................... 25 在TrustedExtensions中规划用户安全 ................................................................................. 26 设计TrustedExtensions的配置策略 ...................................................................................... 27 在启用TrustedExtensions之前解决其他问题 .................................................................... 28 在启用TrustedExtensions之前备份系统 ............................................................................. 28 启用TrustedExtensions的结果(从管理员角度) ................................................................... 29 2 TrustedExtensions的配置任务列表...............................................................................................31 任务列表:准备Solaris系统以使用TrustedExtensions ........................................................... 31 任务列表:准备和启用TrustedExtensions ................................................................................. 31 任务列表:配置TrustedExtensions .............................................................................................. 32 3 将TrustedExtensions软件添加到SolarisOS(任务) ..............................................................37 初始设置团队的职责 ........................................................................................................................ 37 3 安装或升级SolarisOS以使用TrustedExtensions ...................................................................... 37 ▼ 安装Solaris系统以支持TrustedExtensions ......................................................................... 38 ▼ 准备已安装的Solaris系统以使用TrustedExtensions ........................................................ 38 在启用TrustedExtensions之前收集信息并做出决定 ............................................................... 40 ▼ 在启用TrustedExtensions之前收集系统信息 .................................................................... 41 ▼ 在启用TrustedExtensions之前做出系统和安全决策 ....................................................... 41 启用TrustedExtensions服务........................................................................................................... 43 ▼ 启用TrustedExtensions ............................................................................................................. 43 4 配置TrustedExtensions(任务) ...................................................................................................45 在TrustedExtensions中设置全局区域 ......................................................................................... 45 ▼ 检查并安装标签编码文件 ........................................................................................................ 46 ▼ 在TrustedExtensions中启用IPv6网络................................................................................. 49 ▼ 配置系统解释域 ......................................................................................................................... 50 ▼ 创建用于克隆区域的ZFS池 ................................................................................................... 51 ▼ 重新引导并登录到TrustedExtensions .................................................................................. 52 ▼ 在TrustedExtensions中初始化SolarisManagementConsole服务器 ............................. 54 ▼ 使全局区域成为TrustedExtensions中的客户机 ................................................................ 57 创建有标签区域 ................................................................................................................................. 60 ▼ 运行txzonemgr脚本 .................................................................................................................. 61 ▼ 在TrustedExtensions中配置网络接口 ................................................................................. 62 ▼ 命名区域并为其添加标签 ........................................................................................................ 65 ▼ 安装有标签区域 ......................................................................................................................... 67 ▼ 引导有标签区域 ......................................................................................................................... 68 ▼ 检验区域的状态 ......................................................................................................................... 70 ▼ 定制有标签区域 ......................................................................................................................... 71 ▼ 在TrustedExtensions中复制或克隆区域 ............................................................................. 73 将网络接口和路由添加到有标签区域 ......................................................................................... 74 ▼ 添加网络接口以路由现有的有标签区域 ............................................................................. 75 ▼ 添加不使用全局区域的网络接口以路由现有的有标签区域 .......................................... 77 ▼ 在每个有标签区域中配置名称服务高速缓存 ..................................................................... 80 在TrustedExtensions中创建角色和用户..................................................................................... 82 ▼ 创建实施职责分离的权限配置文件 ...................................................................................... 82 ▼ 在TrustedExtensions中创建安全管理员角色 .................................................................... 85 ▼ 创建受限系统管理员角色 ........................................................................................................ 87 目录 OracleSolarisTrustedExtensions配置指南 • 2011年8月 4 ▼ 在TrustedExtensions中创建可以承担角色的用户............................................................ 88 ▼ 检验TrustedExtensions角色是否有效 ................................................................................. 90 ▼ 使用户能够登录到有标签区域 ............................................................................................... 92 在TrustedExtensions中创建起始目录 ......................................................................................... 92 ▼ 在TrustedExtensions中创建起始目录服务器 .................................................................... 93 ▼ 在TrustedExtensions中使用户能够访问其起始目录 ....................................................... 93 将用户和主机添加到现有可信网络 .............................................................................................. 95 ▼ 将NIS用户添加到LDAP服务器............................................................................................ 95 TrustedExtensions配置故障排除................................................................................................... 97 在启用 Trusted Extensions 之后运行了 netservices limited ..........................................97 无法在有标签区域中打开控制台窗口 .................................................................................. 97 有标签区域无法访问X服务器 ............................................................................................... 98 其他TrustedExtensions配置任务 ................................................................................................100 ▼ 如何在TrustedExtensions中将文件复制到便携介质 .....................................................100 ▼ 如何在TrustedExtensions中从便携介质复制文件..........................................................101 ▼ 如何从系统中删除TrustedExtensions ................................................................................102 5 为TrustedExtensions配置LDAP(任务) .................................................................................105 在TrustedExtensions主机上配置LDAP服务器(任务列表) ............................................105 在TrustedExtensions主机上配置LDAP代理服务器(任务列表) ...................................106 在TrustedExtensions系统上配置SunJavaSystemDirectoryServer .....................................106 ▼ 收集用于LDAP的DirectoryServer的信息 ........................................................................107 ▼ 安装SunJavaSystemDirectoryServer ...................................................................................108 ▼为DirectoryServer创建LDAP客户机 .................................................................................110 ▼ 配置SunJavaSystemDirectoryServer的日志 .....................................................................112 ▼ 为SunJavaSystemDirectoryServer配置多级别端口........................................................113 ▼ 置备SunJavaSystemDirectoryServer ...................................................................................114 为现有SunJavaSystemDirectoryServer创建TrustedExtensions代理 ................................116 ▼ 创建LDAP代理服务器 ...........................................................................................................116 为LDAP配置SolarisManagementConsole(任务列表) ......................................................117 ▼ 向SolarisManagementConsole注册LDAP凭证 ...............................................................118 ▼ 使SolarisManagementConsole接受网络通信 ...................................................................118 ▼ 在SolarisManagementConsole中编辑LDAP工具箱 ......................................................119 ▼ 验证SolarisManagementConsole是否包含TrustedExtensions信息 ...........................120 目录 5 6 配置具有TrustedExtensions的无显示系统(任务) .............................................................123 TrustedExtensions中的无显示系统配置(任务列表) .........................................................123 ▼ 在TrustedExtensions中,以root用户身份启用远程登录 ...........................................124 ▼ 在TrustedExtensions中以某个角色启用远程登录..........................................................125 ▼ 启用从无标签系统进行的远程登录 ....................................................................................127 ▼ 使用远程SolarisManagementConsole在文件范围内进行管理 ....................................127 ▼ 启用管理GUI的远程显示 .....................................................................................................128 ▼ 在TrustedExtensions中使用rlogin或ssh命令登录和管理无显示系统 ..................128 A 站点安全策略 ................................................................................................................................... 131 创建和管理安全策略 ......................................................................................................................131 站点安全策略和TrustedExtensions ............................................................................................132 计算机安全建议 ...............................................................................................................................132 物理安全建议 ...................................................................................................................................133 人员安全建议 ...................................................................................................................................134 常见安全违规 ...................................................................................................................................134 其他安全参考信息 ..........................................................................................................................135 美国政府出版物 .......................................................................................................................135 UNIX安全出版物 ....................................................................................................................135 一般计算机安全出版物 ..........................................................................................................136 一般UNIX出版物 ....................................................................................................................136 B 使用CDE操作在TrustedExtensions中安装区域 ......................................................................137 使用CDE操作将网络接口与区域关联(任务列表) ...........................................................137 ▼ 使用CDE操作为系统指定两个IP地址 .............................................................................137 ▼ 使用CDE操作为系统指定一个IP地址 .............................................................................139 准备使用CDE操作创建区域(任务列表) .............................................................................140 ▼ 使用CDE操作指定区域名称和区域标签 ..........................................................................140 使用CDE操作创建有标签的区域(任务列表) ....................................................................142 ▼ 使用CDE操作安装、初始化并引导有标签区域 .............................................................143 ▼ 在TrustedCDE中解析本地区域与全局区域间的路由 ...................................................145 ▼ 在TrustedExtensions中定制引导的区域 ...........................................................................147 ▼ 在TrustedExtensions中使用复制区域方法 .......................................................................148 ▼ 在TrustedExtensions中使用克隆区域方法 .......................................................................149 目录 OracleSolarisTrustedExtensions配置指南 • 2011年8月 6 C TrustedExtensions的配置核对表 .................................................................................................151 用于配置TrustedExtensions的核对表 .......................................................................................151

2013-04-02

Solaris 动态跟踪指南

DTrace是一个用于SolarisTM操作系统的全面的动态跟踪框架。DTrace提供一个强大的基础结构,使管理员、开发者和服务人员能简明地回答有关操作系统和用户程序行为的任意问题。《Solaris动态跟踪指南》介绍如何使用DTrace观察、调试和调优系统行为。本书还包含一套完整的关于捆绑的DTrace观察工具和D编程语言的参考资料。 目录 前言........................................................................................................................................................21 1 简介........................................................................................................................................................25 入门 ....................................................................................................................................................... 25 提供器和探测器 ................................................................................................................................. 27 编译和检测过程 ................................................................................................................................. 29 变量和算术表达式 ............................................................................................................................ 30 谓词 ....................................................................................................................................................... 33 输出格式化.......................................................................................................................................... 36 数组 ....................................................................................................................................................... 39 外部符号和类型 ................................................................................................................................. 41 2 类型、运算符和表达式.....................................................................................................................43 标识符名称和关键字 ........................................................................................................................ 43 数据类型和大小 ................................................................................................................................. 44 常量 ....................................................................................................................................................... 46 算术运算符.......................................................................................................................................... 47 关系运算符.......................................................................................................................................... 48 逻辑运算符.......................................................................................................................................... 48 按位运算符.......................................................................................................................................... 49 赋值运算符.......................................................................................................................................... 50 递增和递减运算符 ............................................................................................................................ 51 条件表达式.......................................................................................................................................... 51 类型转换 .............................................................................................................................................. 52 优先级 .................................................................................................................................................. 53 3 3 变量........................................................................................................................................................55 标量变量 .............................................................................................................................................. 55 关联数组 .............................................................................................................................................. 56 线程局部变量 ..................................................................................................................................... 57 子句局部变量 ..................................................................................................................................... 60 内置变量 .............................................................................................................................................. 62 外部变量 .............................................................................................................................................. 64 4 D程序结构 ...........................................................................................................................................67 探测器子句和声明 ............................................................................................................................ 67 探测器说明.......................................................................................................................................... 68 谓词 ....................................................................................................................................................... 69 操作 ....................................................................................................................................................... 69 C预处理程序的用法 ......................................................................................................................... 69 5 指针和数组...........................................................................................................................................71 指针和地址.......................................................................................................................................... 71 指针安全 .............................................................................................................................................. 72 数组声明和存储 ................................................................................................................................. 73 指针和数组关系 ................................................................................................................................. 74 指针运算 .............................................................................................................................................. 75 通用指针 .............................................................................................................................................. 76 多维数组 .............................................................................................................................................. 76 指向DTrace对象的指针 .................................................................................................................. 77 指针和地址空间 ................................................................................................................................. 77 6 字符串 ...................................................................................................................................................79 字符串表示.......................................................................................................................................... 79 字符串常量.......................................................................................................................................... 80 字符串赋值.......................................................................................................................................... 80 字符串转换.......................................................................................................................................... 80 字符串比较.......................................................................................................................................... 81 目录 Solaris动态跟踪指南 • 2008年10月 4 7 结构和联合...........................................................................................................................................83 结构 ....................................................................................................................................................... 83 结构指针 .............................................................................................................................................. 85 联合 ....................................................................................................................................................... 89 成员大小和偏移 ................................................................................................................................. 92 位字段 .................................................................................................................................................. 92 8 类型和常量定义 ..................................................................................................................................95 Typedef ................................................................................................................................................. 95 枚举 ....................................................................................................................................................... 96 内置 ....................................................................................................................................................... 97 类型名称空间 ..................................................................................................................................... 98 9 聚合..................................................................................................................................................... 101 聚合函数 ............................................................................................................................................101 聚合 .....................................................................................................................................................102 列显聚合 ............................................................................................................................................109 数据标准化........................................................................................................................................109 清除聚合 ............................................................................................................................................113 截断聚合 ............................................................................................................................................114 最小化删除........................................................................................................................................115 10 操作和子例程 ................................................................................................................................... 117 操作 .....................................................................................................................................................117 缺省操作 ............................................................................................................................................117 数据记录操作 ...................................................................................................................................118 trace() .......................................................................................................................................118 tracemem() .................................................................................................................................119 printf() .....................................................................................................................................119 printa() .....................................................................................................................................119 stack() .......................................................................................................................................119 ustack() .....................................................................................................................................121 jstack() .....................................................................................................................................125 破坏性操作........................................................................................................................................125 目录 5 处理破坏性操作 .......................................................................................................................125 内核破坏性操作 .......................................................................................................................128 特殊操作 ............................................................................................................................................131 推理操作 ....................................................................................................................................131 exit() .........................................................................................................................................131 子例程 ................................................................................................................................................131 alloca() .....................................................................................................................................131 basename() .................................................................................................................................131 bcopy() .......................................................................................................................................132 cleanpath() ...............................................................................................................................132 copyin() .....................................................................................................................................132 copyinstr() ...............................................................................................................................132 copyinto() .................................................................................................................................133 dirname() ...................................................................................................................................133 msgdsize() .................................................................................................................................133 msgsize() ...................................................................................................................................133 mutex_owned() ...........................................................................................................................133 mutex_owner() ...........................................................................................................................134 mutex_type_adaptive() ..........................................................................................................134 progenyof() ...............................................................................................................................134 rand() .........................................................................................................................................134 rw_iswriter() ...........................................................................................................................135 rw_write_held() ......................................................................................................................135 speculation() ...........................................................................................................................135 strjoin() ...................................................................................................................................135 strlen() .....................................................................................................................................135 11 缓冲区和缓冲 ................................................................................................................................... 137 主体缓冲区........................................................................................................................................137 主体缓冲区策略 ...............................................................................................................................137 switch策略 ................................................................................................................................138 fill策略 ....................................................................................................................................138 ring策略 ....................................................................................................................................139 其他缓冲区........................................................................................................................................140 缓冲区大小........................................................................................................................................140 目录 Solaris动态跟踪指南 • 2008年10月 6 缓冲区调整大小策略 ......................................................................................................................140 12 输出格式化........................................................................................................................................ 143 printf() .............................................................................................................................................143 转换规范 ....................................................................................................................................144 标志说明符 ................................................................................................................................144 宽度和精度说明符 ...................................................................................................................145 大小前缀 ....................................................................................................................................145 转换格式 ....................................................................................................................................146 printa() .............................................................................................................................................147 trace()缺省格式 ............................................................................................................................149 13 推理跟踪 ............................................................................................................................................ 151 推理接口 ............................................................................................................................................151 创建推理 ............................................................................................................................................152 使用推理 ............................................................................................................................................152 提交推理 ............................................................................................................................................153 放弃推理 ............................................................................................................................................153 推理示例 ............................................................................................................................................154 推理选项和调整 ...............................................................................................................................158 14 dtrace(1M)实用程序 .......................................................................................................................161 说明 .....................................................................................................................................................161 选项 .....................................................................................................................................................161 操作数 ................................................................................................................................................166 退出状态 ............................................................................................................................................166 15 脚本..................................................................................................................................................... 167 解释程序文件 ...................................................................................................................................167 宏变量 ................................................................................................................................................168 宏参数 ................................................................................................................................................170 目标进程ID ......................................................................................................................................171 目录 7 16 选项和可调参数 ............................................................................................................................... 173 使用者选项........................................................................................................................................173 修改选项 ............................................................................................................................................175 17 dtrace提供器 ....................................................................................................................................177 BEGIN探测器 .....................................................................................................................................177 END探测器 .........................................................................................................................................178 ERROR探测器 .....................................................................................................................................178 稳定性 ................................................................................................................................................180 18 lockstat提供器................................................................................................................................181 概述 .....................................................................................................................................................181 自适应锁定探测器 ..........................................................................................................................181 旋转锁定探测器 ...............................................................................................................................182 线程锁定 ............................................................................................................................................183 读取器/写入器锁定探测器 ............................................................................................................183 稳定性 ................................................................................................................................................184 19 profile提供器 ..................................................................................................................................185 profile-n探测器 ............................................................................................................................185 tick-n探测器 ...................................................................................................................................188 参数 .....................................................................................................................................................188 计时器分辨率 ...................................................................................................................................188 探测器创建........................................................................................................................................190 稳定性 ................................................................................................................................................190 20 fbt提供器 ..........................................................................................................................................191 探测器 ................................................................................................................................................191 探测器参数........................................................................................................................................192 entry探测器 .............................................................................................................................192 return探测器 ...........................................................................................................................192 示例 .....................................................................................................................................................192 尾部调用优化 ...................................................................................................................................198 汇编函数 ............................................................................................................................................200 目录 Solaris动态跟踪指南 • 2008年10月 8 指令集限制........................................................................................................................................200 x86限制 ......................................................................................................................................200 SPARC限制................................................................................................................................200 断点交互 ............................................................................................................................................200 模块装入 ............................................................................................................................................201 稳定性 ................................................................................................................................................201 21 syscall提供器 ..................................................................................................................................203 探测器 ................................................................................................................................................203 系统调用记时错误 ...................................................................................................................203 子编码的系统调用 ...................................................................................................................203 大文件系统调用 .......................................................................................................................204 专用系统调用 ............................................................................................................................204 参数 .....................................................................................................................................................205 稳定性 ................................................................................................................................................205 22 sdt提供器 ..........................................................................................................................................207 探测器 ................................................................................................................................................207 示例 .....................................................................................................................................................208 创建SDT探测器 ..............................................................................................................................212 声明探测器 ................................................................................................................................212 探测器参数 ................................................................................................................................212 稳定性 ................................................................................................................................................212 23 sysinfo提供器 ..................................................................................................................................215 探测器 ................................................................................................................................................215 参数 .....................................................................................................................................................217 示例 .....................................................................................................................................................219 稳定性 ................................................................................................................................................221 24 vminfo提供器 ....................................................................................................................................223 探测器 ................................................................................................................................................223 参数 .....................................................................................................................................................225 示例 .....................................................................................................................................................225 目录 9 稳定性 ................................................................................................................................................229 25 proc提供器 ........................................................................................................................................231 探测器 ................................................................................................................................................231 参数 .....................................................................................................................................................233 lwpsinfo_t .................................................................................................................................233 psinfo_t .....................................................................................................................................236 示例 .....................................................................................................................................................237 exec..............................................................................................................................................237 start和exit .............................................................................................................................238 lwp-start和lwp-exit ............................................................................................................240 signal-send ...............................................................................................................................242 稳定性 ................................................................................................................................................243 26 sched提供器 ......................................................................................................................................245 探测器 ................................................................................................................................................245 参数 .....................................................................................................................................................247 cpuinfo_t ...................................................................................................................................248 示例 .....................................................................................................................................................248 on-cpu和off-cpu .....................................................................................................................248 enqueue和dequeue ..................................................................................................................256 sleep和wakeup .........................................................................................................................262 preempt、remain-cpu ..............................................................................................................270 change-pri .................................................................................................................................272 tick..............................................................................................................................................274 稳定性 ................................................................................................................................................276 27 io提供器 ............................................................................................................................................277 探测器 ................................................................................................................................................277 参数 .....................................................................................................................................................278 bufinfo_t结构 .........................................................................................................................278 devinfo_t ...................................................................................................................................280 fileinfo_t .................................................................................................................................280 示例 .....................................................................................................................................................281 目录 Solaris动态跟踪指南 • 2008年10月 10 稳定性 ................................................................................................................................................293 28 mib提供器 ..........................................................................................................................................295 探测器 ................................................................................................................................................295 参数 .....................................................................................................................................................307 稳定性 ................................................................................................................................................307 29 fpuinfo提供器 ..................................................................................................................................309 探测器 ................................................................................................................................................309 参数 .....................................................................................................................................................311 稳定性 ................................................................................................................................................311 30 pid提供器 ..........................................................................................................................................313 命名pid探测器 ................................................................................................................................313 函数边界探测器 ...............................................................................................................................314 entry探测器 .............................................................................................................................314 return探测器 ...........................................................................................................................315 函数偏移探测器 ...............................................................................................................................315 稳定性 ................................................................................................................................................315 31 plockstat提供器..............................................................................................................................317 概述 .....................................................................................................................................................317 互斥探测器........................................................................................................................................318 读取器/写入器锁定探测器 ............................................................................................................318 稳定性 ................................................................................................................................................319 32 fasttrap提供器................................................................................................................................321 探测器 ................................................................................................................................................321 稳定性 ................................................................................................................................................321 33 用户进程跟踪 ................................................................................................................................... 323 copyin()和copyinstr()子例程 .................................................................................................323 避免错误 ....................................................................................................................................324 目录 11 消除dtrace(1M)干扰 .....................................................................................................................325 syscall提供器 .................................................................................................................................325 ustack()操作 ...................................................................................................................................326 uregs[]数组 .....................................................................................................................................328 pid提供器 .........................................................................................................................................330 用户函数边界跟踪 ...................................................................................................................330 跟踪任意指令 ............................................................................................................................332 34 为用户应用程序静态定义跟踪 .................................................................................................... 335 选择探测器位置 ...............................................................................................................................335 向应用程序中添加探测器 .............................................................................................................336 定义提供器和探测器...............................................................................................................336 向应用程序代码中添加探测器 .............................................................................................337 生成包含探测器的应用程序 .................................................................................................337 35 安全性 ................................................................................................................................................ 339 权限 .....................................................................................................................................................339 使用DTrace的权限 .........................................................................................................................340 dtrace_proc权限 .............................................................................................................................340 dtrace_user权限 .............................................................................................................................341 dtrace_kernel权限 ........................................................................................................................342 超级用户权限 ...................................................................................................................................342 36 匿名跟踪 ............................................................................................................................................ 343 匿名启用 ............................................................................................................................................343 声明匿名状态 ...................................................................................................................................344 匿名跟踪示例 ...................................................................................................................................344 37 事后跟踪 ............................................................................................................................................ 349 显示DTrace使用者 .........................................................................................................................349 显示跟踪数据 ...................................................................................................................................350 38 性能注意事项 ................................................................................................................................... 353 限制已启用的探测器 ......................................................................................................................353 目录 Solaris动态跟踪指南 • 2008年10月 12 使用聚合 ............................................................................................................................................353 使用可高速缓存的谓词..................................................................................................................354 39 稳定性 ................................................................................................................................................ 357 稳定性级别........................................................................................................................................357 相关性类 ............................................................................................................................................359 接口属性 ............................................................................................................................................360 稳定性计算和报告 ..........................................................................................................................360 稳定性执行........................................................................................................................................362 40 转换器 ................................................................................................................................................ 365 转换器声明........................................................................................................................................365 转换运算符........................................................................................................................................367 进程模型转换器 ...............................................................................................................................368 稳定转换 ............................................................................................................................................368 41 版本控制 ............................................................................................................................................ 369 版本和发行版 ...................................................................................................................................369 版本控制选项 ...................................................................................................................................370 提供器版本控制 ...............................................................................................................................371

2013-04-02

编写设备驱动程序

编写设备驱动程序》提供有关为面向字符的设备、面向块的设备、网络设备、SCSI目标和HBA设备以及USB设备开发SolarisolarisOperatingSystem,SolarisOS)驱动程序的信息。本书讨论了如何为符合SolarisOSDDI/DKI(DeviceDriver Interface/Driver-KernelInterface,设备驱动程序接口/驱动程序内核接口)的所有体系结构开发多线程可重入设备驱动程序。介绍了一种常用的驱动程序编写方法,该方法允许在编写驱动程序时忽略特定于平台的问题,如字节存储顺序(endianness)和数据排序等。 其他主题包括:强化Solaris驱动程序;电源管理;驱动程序自动配置;程控I/O;直接内存访问(DirectMemoryAccess,DMA);设备上下文管理;编译、安装和测试驱动程序;调试驱动程序以及将Solaris驱动程序移植到64位环境。 目录 前言........................................................................................................................................................29 第1部分 针对Solaris平台设计设备驱动程序..............................................................................................35 1 Solaris设备驱动程序概述 ................................................................................................................37 设备驱动程序基础知识.................................................................................................................... 37 什么是设备驱动程序? ............................................................................................................ 37 什么是设备驱动程序入口点? ............................................................................................... 38 设备驱动程序入口点 ........................................................................................................................ 38 通用于所有驱动程序的入口点 ............................................................................................... 39 用于块设备驱动程序的入口点 ............................................................................................... 41 用于字符设备驱动程序的入口点........................................................................................... 42 用于STREAMS设备驱动程序的入口点 ............................................................................... 43 用于内存映射设备的入口点 ................................................................................................... 44 网络设备驱动程序入口点 ........................................................................................................ 45 用于SCSIHBA驱动程序的入口点 ........................................................................................ 45 用于PC卡驱动程序的入口点 ................................................................................................. 46 设备驱动程序设计注意事项 ........................................................................................................... 46 DDI/DKI功能 ............................................................................................................................. 47 驱动程序上下文 ......................................................................................................................... 48 返回错误 ...................................................................................................................................... 49 动态内存分配 .............................................................................................................................. 49 热插拔 ........................................................................................................................................... 50 2 Solaris内核和设备树 .........................................................................................................................51 什么是内核? ..................................................................................................................................... 51 多线程执行环境 ......................................................................................................................... 53 3 虚拟内存 ...................................................................................................................................... 53 作为特殊文件的设备................................................................................................................. 53 DDI/DKI接口 ............................................................................................................................. 53 设备树概述.......................................................................................................................................... 54 设备树组件 .................................................................................................................................. 54 显示设备树 .................................................................................................................................. 56 将驱动程序绑定到设备 ............................................................................................................ 58 3 多线程 ...................................................................................................................................................61 锁定原语 .............................................................................................................................................. 61 驱动程序数据的存储类 ............................................................................................................ 61 互斥锁 ........................................................................................................................................... 62 读取器/写入器锁 ........................................................................................................................ 63 信号 ............................................................................................................................................... 63 线程同步 .............................................................................................................................................. 64 线程同步中的条件变量 ............................................................................................................ 64 cv_wait()和cv_timedwait()函数 ........................................................................................ 65 cv_wait_sig()函数 ................................................................................................................... 66 cv_timedwait_sig()函数 ........................................................................................................ 67 选择锁定方案 ..................................................................................................................................... 67 潜在的锁定缺点 ......................................................................................................................... 68 线程无法接收信号 ..................................................................................................................... 68 4 属性........................................................................................................................................................71 设备属性 .............................................................................................................................................. 71 设备属性名称 .............................................................................................................................. 72 创建和更新属性 ......................................................................................................................... 72 查找属性 ...................................................................................................................................... 72 prop_op()入口点 ....................................................................................................................... 74 5 管理事件和排队任务 .........................................................................................................................77 管理事件 .............................................................................................................................................. 77 事件介绍 ...................................................................................................................................... 77 使用ddi_log_sysevent()记录事件 ...................................................................................... 78 目录 编写设备驱动程序 • 2010年9月 4 定义事件特性 .............................................................................................................................. 80 排队任务 .............................................................................................................................................. 83 任务队列简介 .............................................................................................................................. 83 任务队列接口 .............................................................................................................................. 83 使用任务队列 .............................................................................................................................. 84 观察任务队列 .............................................................................................................................. 84 6 驱动程序自动配置 .............................................................................................................................87 驱动程序的装入和卸载.................................................................................................................... 87 驱动程序必需的数据结构 ............................................................................................................... 88 modlinkage结构 ......................................................................................................................... 88 modldrv结构 ................................................................................................................................ 89 dev_ops结构 ................................................................................................................................ 89 cb_ops结构 .................................................................................................................................. 90 可装入驱动程序接口 ........................................................................................................................ 91 _init()示例 ................................................................................................................................ 92 _fini()示例 ................................................................................................................................ 93 _info()示例 ................................................................................................................................ 93 设备配置概念 ..................................................................................................................................... 94 设备实例和实例编号................................................................................................................. 94 次要节点和次要设备号 ............................................................................................................ 95 probe()入口点 ........................................................................................................................... 95 attach()入口点 ......................................................................................................................... 97 detach()入口点 .......................................................................................................................102 getinfo()入口点 .....................................................................................................................103 使用设备ID ......................................................................................................................................105 注册设备ID ...............................................................................................................................105 注销设备ID ...............................................................................................................................106 7 设备访问:程控I/O..........................................................................................................................107 设备内存 ............................................................................................................................................107 管理设备和主机字节序之间的差别 ....................................................................................108 管理数据排序要求 ...................................................................................................................108 ddi_device_acc_attr结构 ....................................................................................................108 映射设备内存 ............................................................................................................................109 目录 5 映射设置示例 ............................................................................................................................109 设备访问函数 ...................................................................................................................................110 备用设备访问接口 ...................................................................................................................111 8 中断处理程序 ................................................................................................................................... 113 中断处理程序概述 ..........................................................................................................................113 设备中断 ............................................................................................................................................114 高级别中断 ................................................................................................................................114 传统中断 ....................................................................................................................................115 标准消息告知中断和扩展消息告知中断 ...........................................................................115 软件中断 ....................................................................................................................................116 DDI中断函数 ...................................................................................................................................117 中断功能函数 ............................................................................................................................117 中断初始化和销毁函数 ..........................................................................................................117 优先级管理函数 .......................................................................................................................118 软中断函数 ................................................................................................................................118 中断函数示例 ............................................................................................................................118 注册中断 ............................................................................................................................................119 注册传统中断 ............................................................................................................................119 注册MSI中断 ...........................................................................................................................122 中断资源管理 ...................................................................................................................................125 中断资源管理功能 ...................................................................................................................125 回调接口 ....................................................................................................................................126 中断请求接口 ............................................................................................................................128 中断资源管理实现样例 ..........................................................................................................130 中断处理程序功能 ..........................................................................................................................135 处理高级别中断 ...............................................................................................................................137 高级互斥锁 ................................................................................................................................137 高级别中断处理示例...............................................................................................................137 9 直接内存访问(DirectMemoryAccess,DMA) ..............................................................................141 DMA模型 ..........................................................................................................................................141 设备DMA的类型 ............................................................................................................................142 总线主控器DMA .....................................................................................................................142 第三方DMA ..............................................................................................................................142 目录 编写设备驱动程序 • 2010年9月 6 第一方DMA ..............................................................................................................................143 主机平台DMA的类型 ...................................................................................................................143 DMA软件组件:句柄、窗口和Cookie .....................................................................................143 DMA操作 ..........................................................................................................................................144 执行总线主控器DMA传送 ...................................................................................................144 执行第一方DMA传送 ............................................................................................................144 执行第三方DMA传送 ............................................................................................................145 DMA特性 ..................................................................................................................................145 管理DMA资源 ................................................................................................................................148 对象锁定 ....................................................................................................................................148 分配DMA句柄 .........................................................................................................................148 分配DMA资源 .........................................................................................................................149 确定最大突发流量大小 ..........................................................................................................151 分配专用DMA缓冲区 ............................................................................................................152 处理资源分配故障 ...................................................................................................................153 对DMA引擎进行编程 ............................................................................................................154 释放DMA资源 .........................................................................................................................155 释放DMA句柄 .........................................................................................................................156 取消DMA回调 .........................................................................................................................156 同步内存对象 ............................................................................................................................157 DMA窗口 ..........................................................................................................................................159 10 映射设备和内核内存 ...................................................................................................................... 163 内存映射概述 ...................................................................................................................................163 导出映射 ............................................................................................................................................163 segmap(9E)入口点 ....................................................................................................................163 devmap(9E)入口点 ....................................................................................................................165 将设备内存与用户映射相关联 ....................................................................................................166 将内核内存与用户映射相关联 ....................................................................................................168 为用户访问分配内核内存 ......................................................................................................168 将内核内存导出到应用程序 .................................................................................................170 释放为用户访问导出的内核内存.........................................................................................171 11 设备上下文管理 ............................................................................................................................... 173 设备上下文简介 ...............................................................................................................................173 目录 7 什么是设备上下文?...............................................................................................................173 上下文管理模型 .......................................................................................................................173 上下文管理操作 ...............................................................................................................................175 devmap_callback_ctl结构 ....................................................................................................175 用于设备上下文管理的入口点 .............................................................................................176 将用户映射与驱动程序通知关联.........................................................................................183 管理映射访问 ............................................................................................................................184 12 电源管理 ............................................................................................................................................ 187 电源管理框架 ...................................................................................................................................187 设备电源管理 ............................................................................................................................187 系统电源管理 ............................................................................................................................188 设备电源管理模型 ..........................................................................................................................188 电源管理组件 ............................................................................................................................189 电源管理状态 ............................................................................................................................189 电源级别 ....................................................................................................................................189 电源管理相关性 .......................................................................................................................191 设备的自动电源管理...............................................................................................................191 设备电源管理接口 ...................................................................................................................192 power()入口点 .........................................................................................................................193 系统电源管理模型 ..........................................................................................................................195 自动关闭阈值 ............................................................................................................................196 繁忙状态 ....................................................................................................................................196 硬件状态 ....................................................................................................................................196 系统的自动电源管理...............................................................................................................196 系统电源管理使用的入口点 .................................................................................................196 电源管理设备访问示例..................................................................................................................200 电源管理控制流程 ..........................................................................................................................201 电源管理接口的更改 ......................................................................................................................202 13 强化Solaris驱动程序 ......................................................................................................................205 Sun故障管理体系结构I/O故障服务 .........................................................................................205 什么是预测性自我修复? ......................................................................................................206 SolarisFaultManager ................................................................................................................206 错误处理 ....................................................................................................................................209 目录 编写设备驱动程序 • 2010年9月 8 诊断故障 ....................................................................................................................................222 事件注册表 ................................................................................................................................223 词汇表 .........................................................................................................................................223 资源 .............................................................................................................................................224 用于Solaris设备驱动程序的防御性编程方法 ..........................................................................224 使用单独的设备驱动程序实例 .............................................................................................225 独占使用DDI访问句柄 .........................................................................................................225 检测已损坏的数据 ...................................................................................................................225 DMA隔离 ..................................................................................................................................226 处理有问题的中断 ...................................................................................................................227 其他编程注意事项 ...................................................................................................................228 驱动程序强化测试工具..................................................................................................................229 故障注入 ....................................................................................................................................229 设置测试工具 ............................................................................................................................230 测试驱动程序 ............................................................................................................................231 使用脚本自动完成测试过程 .................................................................................................233 14 分层驱动程序接口(LayeredDriverInterface,LDI) ....................................................................237 LDI概述 .............................................................................................................................................237 内核接口 ............................................................................................................................................238 分层标识符-内核设备使用方 .............................................................................................238 分层驱动程序句柄-目标设备 .............................................................................................239 LDI内核接口示例 ....................................................................................................................242 用户接口 ............................................................................................................................................253 设备信息库接口 .......................................................................................................................253 列显系统配置命令接口 ..........................................................................................................254 设备用户命令接口 ...................................................................................................................257 第2部分 设计特定种类的设备驱动程序 .....................................................................................................259 15 字符设备驱动程序 .......................................................................................................................... 261 字符驱动程序结构概述..................................................................................................................261 字符设备自动配置 ..........................................................................................................................263 设备访问(字符驱动程序) .........................................................................................................264 目录 9 open()入口点(字符驱动程序) ........................................................................................264 close()入口点(字符驱动程序) ......................................................................................265 I/O请求处理 .....................................................................................................................................266 用户地址 ....................................................................................................................................266 向量化的I/O .............................................................................................................................266 同步I/O与异步I/O之间的差别 ..........................................................................................268 数据传输方法 ............................................................................................................................268 映射设备内存 ...................................................................................................................................274 对文件描述符执行多路复用I/O操作 ........................................................................................275 其他I/O控制 ....................................................................................................................................277 ioctl()入口点(字符驱动程序) ......................................................................................277 对有64位处理能力的设备驱动程序的I/O控制支持 .....................................................279 处理copyout()溢出 ................................................................................................................281 32位和64位数据结构宏................................................................................................................282 结构宏如何工作? ...................................................................................................................282 何时使用结构宏 .......................................................................................................................283 声明并初始化结构句柄 ..........................................................................................................283 结构句柄的操作 .......................................................................................................................283 其他操作 ....................................................................................................................................284 16 块设备驱动程序 ............................................................................................................................... 285 块驱动程序结构概述 ......................................................................................................................285 文件I/O ..............................................................................................................................................286 块设备自动配置 ...............................................................................................................................287 控制设备访问 ...................................................................................................................................288 open()入口点(块驱动程序) .............................................................................................288 close()入口点(块驱动程序)...........................................................................................290 strategy()入口点 ...................................................................................................................290 buf结构 ......................................................................................................................................291 同步数据传输(块驱动程序) ....................................................................................................292 异步数据传输(块驱动程序) ....................................................................................................296 检查是否有无效的buf请求 ..................................................................................................296 对请求进行排队 .......................................................................................................................296 开始第一个传输 .......................................................................................................................297 处理中断的设备 .......................................................................................................................298 目录 编写设备驱动程序 • 2010年9月 10 dump()和print()入口点 ..............................................................................................................299 dump()入口点(块驱动程序) .............................................................................................300 print()入口点(块驱动程序)...........................................................................................300 磁盘设备驱动程序 ..........................................................................................................................300 磁盘ioctl ..................................................................................................................................301 磁盘性能 ....................................................................................................................................301 17 SCSI目标驱动程序 ...........................................................................................................................303 目标驱动程序介绍 ..........................................................................................................................303 Sun公用SCSI体系结构概述 .........................................................................................................304 常规控制流程 ............................................................................................................................305 SCSA函数 ..................................................................................................................................305 硬件配置文件 ...................................................................................................................................306 声明和数据结构 ...............................................................................................................................307 scsi_device结构 .....................................................................................................................307 scsi_pkt结构(目标驱动程序) ........................................................................................308 SCSI目标驱动程序的自动配置 ....................................................................................................309 probe()入口点(SCSI目标驱动程序) .............................................................................310 attach()入口点(SCSI目标驱动程序) ...........................................................................311 detach()入口点(SCSI目标驱动程序) ...........................................................................314 getinfo()入口点(SCSI目标驱动程序).........................................................................314 资源分配 ............................................................................................................................................315 scsi_init_pkt()函数 .............................................................................................................315 scsi_sync_pkt()函数 .............................................................................................................316 scsi_destroy_pkt()函数 ......................................................................................................316 scsi_alloc_consistent_buf()函数 ...................................................................................316 scsi_free_consistent_buf()函数......................................................................................317 生成和传输命令 ...............................................................................................................................317 生成命令 ....................................................................................................................................317 设置目标功能 ............................................................................................................................318 传输命令 ....................................................................................................................................318 命令完成 ....................................................................................................................................319 重新使用包 ................................................................................................................................320 自动请求检测模式 ...................................................................................................................321 转储处理 ....................................................................................................................................322 目录 11 SCSI选项 ...........................................................................................................................................324 18 SCSI主机总线适配器驱动程序 .....................................................................................................327 主机总线适配器驱动程序介绍 ....................................................................................................327 SCSI接口 ...........................................................................................................................................328 SCSAHBA接口 ................................................................................................................................329 SCSAHBA入口点摘要 ...........................................................................................................329 SCSAHBA数据结构 ................................................................................................................330 按目标实例的数据 ...................................................................................................................335 传输结构克隆 ............................................................................................................................336 SCSAHBA函数 .........................................................................................................................337 HBA驱动程序的相关性和配置问题 ...........................................................................................338 声明和结构 ................................................................................................................................338 模块初始化入口点 ...................................................................................................................339 自动配置入口点 .......................................................................................................................341 SCSAHBA驱动程序入口点 ..........................................................................................................344 目标驱动程序实例初始化 ......................................................................................................345 资源分配 ....................................................................................................................................347 命令传输 ....................................................................................................................................356 功能管理 ....................................................................................................................................362 中止和重置管理 .......................................................................................................................366 动态重新配置 ............................................................................................................................368 SCSIHBA驱动程序特定问题 .......................................................................................................369 安装HBA驱动程序 .................................................................................................................369 HBA配置属性 ...........................................................................................................................370 x86目标驱动程序配置属性 ...................................................................................................371 排队支持 ............................................................................................................................................372 19 网络设备驱动程序 .......................................................................................................................... 373 GLDv3网络设备驱动程序框架 ....................................................................................................373 GLDv3MAC注册 .....................................................................................................................373 GLDv3功能 ...............................................................................................................................377 GLDv3数据路径 .......................................................................................................................380 GLDv3状态更改通知 ..............................................................................................................382 GLDv3网络统计信息 ..............................................................................................................382 目录 编写设备驱动程序 • 2010年9月 12 GLDv3属性 ...............................................................................................................................383 GLDv3接口汇总 .......................................................................................................................384 GLDv2网络设备驱动程序框架 ....................................................................................................386 GLDv2设备支持 .......................................................................................................................387 GLDv2DLPI提供者 .................................................................................................................388 GLDv2DLPI原语 .....................................................................................................................389 GLDv2I/O控制函数 ................................................................................................................390 GLDv2驱动程序需求 ..............................................................................................................391 GLDv2网络统计信息 ..............................................................................................................392 GLDv2声明和数据结构..........................................................................................................395 GLDv2函数参数 .......................................................................................................................399 GLDv2入口点 ...........................................................................................................................400 GLDv2返回值 ...........................................................................................................................403 GLDv2服务例程 .......................................................................................................................403 20 USB驱动程序.....................................................................................................................................407 Solaris环境中的USB .......................................................................................................................407 USBA2.0框架 ............................................................................................................................407 USB客户机驱动程序 ...............................................................................................................408 绑定客户机驱动程序 ......................................................................................................................410 USB设备如何显示在系统中 .................................................................................................410 USB设备和Solaris设备树 ......................................................................................................410 兼容设备名称 ............................................................................................................................410 具有多个接口的设备...............................................................................................................412 检查设备驱动程序绑定 ..........................................................................................................413 基本设备访问 ...................................................................................................................................413 连接客户机驱动程序之前 ......................................................................................................413 描述符树 ....................................................................................................................................413 注册驱动程序以获取设备访问权限 ....................................................................................415 设备通信 ............................................................................................................................................416 USB端点.....................................................................................................................................416 缺省管道 ....................................................................................................................................417 管道状态 ....................................................................................................................................417 打开管道 ....................................................................................................................................417 关闭管道 ....................................................................................................................................418 目录 13 数据传输 ....................................................................................................................................418 刷新管道 ....................................................................................................................................424 设备状态管理 ...................................................................................................................................424 热插拔USB设备.......................................................................................................................425 电源管理 ....................................................................................................................................427 序列化 .........................................................................................................................................431 实用程序函数 ...................................................................................................................................431 设备配置工具 ............................................................................................................................431 其他实用程序函数 ...................................................................................................................433 USB设备驱动程序样例 ..................................................................................................................434 第3部分 生成设备驱动程序 ...........................................................................................................................435 21 编译、装入、打包和测试驱动程序............................................................................................ 437 驱动程序开发摘要 ..........................................................................................................................437 驱动程序代码布局 ..........................................................................................................................438 头文件 .........................................................................................................................................438 源文件 .........................................................................................................................................439 配置文件 ....................................................................................................................................439 准备安装驱动程序 ..........................................................................................................................440 编译和链接驱动程序...............................................................................................................440 模块相关性 ................................................................................................................................441 编写硬件配置文件 ...................................................................................................................442 安装、更新和删除驱动程序 .........................................................................................................442 将驱动程序复制到模块目录 .................................................................................................442 使用add_drv安装驱动程序...................................................................................................443 更新驱动程序信息 ...................................................................................................................444 删除驱动程序 ............................................................................................................................444 装入和卸载驱动程序 ......................................................................................................................444 驱动程序打包 ...................................................................................................................................445 软件包后安装 ............................................................................................................................445 软件包预删除 ............................................................................................................................446 驱动程序测试条件 ..........................................................................................................................447 配置测试 ....................................................................................................................................447 功能测试 ....................................................................................................................................447 目录 编写设备驱动程序 • 2010年9月 14 错误处理 ....................................................................................................................................447 测试装入和卸载 .......................................................................................................................448 压力、性能和互操作性测试 .................................................................................................448 DDI/DKI兼容性测试 ..............................................................................................................449 安装和打包测试 .......................................................................................................................449 测试特定类型驱动程序 ..........................................................................................................449 22 调试、测试和调优设备驱动程序 ................................................................................................ 451 测试驱动程序 ...................................................................................................................................451 启用Deadman功能以避免硬挂起 .......................................................................................451 使用串行连接进行测试 ..........................................................................................................452 设置测试模块 ............................................................................................................................454 避免测试系统中发生数据丢失 .............................................................................................456 恢复设备目录 ............................................................................................................................458 调试工具 ............................................................................................................................................459 事后调试 ....................................................................................................................................460 使用kmdb内核调试程序 .........................................................................................................460 使用mdb模块调试程序 ...........................................................................................................463 使用kmdb和mdb执行的有用调试任务 ...............................................................................464 调优驱动程序 ...................................................................................................................................471 内核统计信息 ............................................................................................................................471 用于动态检测过程的DTrace.................................................................................................476 23 推荐的编码方法 ............................................................................................................................... 477 调试准备方法 ...................................................................................................................................477 使用唯一前缀来避免内核符号冲突 ....................................................................................477 使用cmn_err()记录驱动程序活动......................................................................................478 使用ASSERT()捕捉无效假设 ................................................................................................478 使用mutex_owned()验证和记录锁定要求 .........................................................................478 使用条件编译在开销较大的调试功能之间切换 ..............................................................479 将变量声明为可变变量..................................................................................................................480 可维护性 ............................................................................................................................................481 定期运行状况检查 ...................................................................................................................481

2013-04-02

Solaris链接程序和库指南

《多线程编程指南》介绍了SolarisTM操(SolarisOperatingSystem,SolarisOS中 POSIX®线程和Solaris线程的多线程编程接口。本指南将指导应用程序程序员如何创建新的多线程程序以及如何向现有的程序中添加多线程。尽管本指南同时介绍POSIX线程接口和Solaris线程接口,但大多数主题都以POSIX线程为重点。仅适用Solaris线程的信息将专门在一章中介绍。 目录 前言........................................................................................................................................................11 1 多线程基础介绍 ..................................................................................................................................15 定义多线程术语 ................................................................................................................................. 15 符合多线程标准 ................................................................................................................................. 16 多线程的益处 ..................................................................................................................................... 17 提高应用程序的响应................................................................................................................. 17 有效使用多处理器 ..................................................................................................................... 17 改进程序结构 .............................................................................................................................. 17 占用较少的系统资源................................................................................................................. 17 结合线程和RPC(远程过程调用) ...................................................................................... 18 多线程概念.......................................................................................................................................... 18 并发性和并行性 ......................................................................................................................... 18 多线程结构一览 ......................................................................................................................... 18 线程调度 ...................................................................................................................................... 19 线程取消 ...................................................................................................................................... 19 线程同步 ...................................................................................................................................... 20 使用64位体系结构 ........................................................................................................................... 20 2 基本线程编程 ......................................................................................................................................23 线程库 .................................................................................................................................................. 23 创建缺省线程 .............................................................................................................................. 23 等待线程终止 .............................................................................................................................. 25 简单线程的示例 ......................................................................................................................... 26 分离线程 ...................................................................................................................................... 28 为线程特定数据创建键 ............................................................................................................ 29 删除线程特定数据键................................................................................................................. 30 3 设置线程特定数据 ..................................................................................................................... 31 获取线程特定数据 ..................................................................................................................... 32 获取线程标识符 ......................................................................................................................... 36 比较线程ID ................................................................................................................................. 36 初始化线程 .................................................................................................................................. 37 停止执行线程 .............................................................................................................................. 38 设置线程的优先级 ..................................................................................................................... 38 获取线程的优先级 ..................................................................................................................... 39 向线程发送信号 ......................................................................................................................... 40 访问调用线程的信号掩码 ........................................................................................................ 41 安全地Fork .................................................................................................................................. 42 终止线程 ...................................................................................................................................... 42 结束 ............................................................................................................................................... 43 取消线程 ...................................................................................................................................... 43 取消线程 ...................................................................................................................................... 45 启用或禁用取消功能................................................................................................................. 45 设置取消类型 .............................................................................................................................. 46 创建取消点 .................................................................................................................................. 47 将处理程序推送到栈上 ............................................................................................................ 48 从栈中弹出处理程序................................................................................................................. 48 3 线程属性 ...............................................................................................................................................51 属性对象 .............................................................................................................................................. 51 初始化属性 .................................................................................................................................. 52 销毁属性 ...................................................................................................................................... 53 设置分离状态 .............................................................................................................................. 54 获取分离状态 .............................................................................................................................. 55 设置栈溢出保护区大小 ............................................................................................................ 56 获取栈溢出保护区大小 ............................................................................................................ 57 设置范围 ...................................................................................................................................... 58 获取范围 ...................................................................................................................................... 59 设置线程并行级别 ..................................................................................................................... 60 获取线程并行级别 ..................................................................................................................... 60 设置调度策略 .............................................................................................................................. 61 获取调度策略 .............................................................................................................................. 62 目录 多线程编程指南 • 2006年10月 4 设置继承的调度策略................................................................................................................. 63 获取继承的调度策略................................................................................................................. 64 设置调度参数 .............................................................................................................................. 64 获取调度参数 .............................................................................................................................. 65 设置栈大小 .................................................................................................................................. 67 获取栈大小 .................................................................................................................................. 68 关于栈 ........................................................................................................................................... 69 设置栈地址和大小 ..................................................................................................................... 71 获取栈地址和大小 ..................................................................................................................... 73 4 用同步对象编程 ..................................................................................................................................75 互斥锁属性.......................................................................................................................................... 76 初始化互斥锁属性对象 ............................................................................................................ 77 销毁互斥锁属性对象................................................................................................................. 78 设置互斥锁的范围 ..................................................................................................................... 79 获取互斥锁的范围 ..................................................................................................................... 80 设置互斥锁类型的属性 ............................................................................................................ 80 获取互斥锁的类型属性 ............................................................................................................ 82 设置互斥锁属性的协议 ............................................................................................................ 82 获取互斥锁属性的协议 ............................................................................................................ 84 设置互斥锁属性的优先级上限 ............................................................................................... 85 获取互斥锁属性的优先级上限 ............................................................................................... 86 设置互斥锁的优先级上限 ........................................................................................................ 87 获取互斥锁的优先级上限 ........................................................................................................ 88 设置互斥锁的强健属性 ............................................................................................................ 89 获取互斥锁的强健属性 ............................................................................................................ 90 使用互斥锁.......................................................................................................................................... 91 初始化互斥锁 .............................................................................................................................. 92 使互斥保持一致 ......................................................................................................................... 93 锁定互斥锁 .................................................................................................................................. 94 解除锁定互斥锁 ......................................................................................................................... 96 使用非阻塞互斥锁锁定 ............................................................................................................ 97 销毁互斥锁 .................................................................................................................................. 98 互斥锁定的代码示例................................................................................................................. 99 条件变量属性 ...................................................................................................................................105 目录 5 初始化条件变量属性...............................................................................................................106 删除条件变量属性 ...................................................................................................................106 设置条件变量的范围...............................................................................................................107 获取条件变量的范围...............................................................................................................108 使用条件变量 ...................................................................................................................................109 初始化条件变量 .......................................................................................................................109 基于条件变量阻塞 ...................................................................................................................111 解除阻塞一个线程 ...................................................................................................................112 在指定的时间之前阻塞 ..........................................................................................................114 在指定的时间间隔内阻塞 ......................................................................................................116 解除阻塞所有线程 ...................................................................................................................117 销毁条件变量状态 ...................................................................................................................119 唤醒丢失问题 ............................................................................................................................120 生成方和使用者问题...............................................................................................................120 使用信号进行同步 ..........................................................................................................................124 命名信号和未命名信号 ..........................................................................................................125 计数信号量概述 .......................................................................................................................125 初始化信号 ................................................................................................................................126 增加信号 ....................................................................................................................................128 基于信号计数进行阻塞 ..........................................................................................................129 减小信号计数 ............................................................................................................................129 销毁信号状态 ............................................................................................................................130 使用信号时的生成方和使用者问题 ....................................................................................131 读写锁属性........................................................................................................................................133 初始化读写锁属性 ...................................................................................................................134 销毁读写锁属性 .......................................................................................................................134 设置读写锁属性 .......................................................................................................................135 获取读写锁属性 .......................................................................................................................136 使用读写锁........................................................................................................................................136 初始化读写锁 ............................................................................................................................137 获取读写锁中的读锁...............................................................................................................138 读取非阻塞读写锁中的锁 ......................................................................................................139 写入读写锁中的锁 ...................................................................................................................139 写入非阻塞读写锁中的锁 ......................................................................................................140 解除锁定读写锁 .......................................................................................................................140 销毁读写锁 ................................................................................................................................141 目录 多线程编程指南 • 2006年10月 6 跨进程边界同步 ...............................................................................................................................142 生成方和使用者问题示例 ......................................................................................................142 比较元语 ............................................................................................................................................145 5 使用Solaris软件编程 ......................................................................................................................147 进程创建中的fork问题 .................................................................................................................147 Fork-One模型 ...........................................................................................................................148 Fork-all模型 ..............................................................................................................................151 选择正确的Fork .......................................................................................................................151 进程创建:exec和exit问题 .......................................................................................................152 计时器、报警与剖析 ......................................................................................................................152 每LWPPOSIX计时器 .............................................................................................................152 每线程报警 ................................................................................................................................153 剖析多线程程序 .......................................................................................................................153 非本地转向:setjmp和longjmp ..................................................................................................154 资源限制 ............................................................................................................................................154 LWP和调度类 ..................................................................................................................................154 分时调度 ....................................................................................................................................155 实时调度 ....................................................................................................................................155 公平共享调度程序 ...................................................................................................................155 固定优先级调度 .......................................................................................................................156 扩展传统信号 ...................................................................................................................................156 同步信号 ....................................................................................................................................157 异步信号 ....................................................................................................................................157 延续语义 ....................................................................................................................................157 对信号执行的操作 ...................................................................................................................158 定向于线程的信号 ...................................................................................................................160 完成语义 ....................................................................................................................................162 信号处理程序和异步信号安全 .............................................................................................163 中断对条件变量的等待 ..........................................................................................................165 I/O问题 ..............................................................................................................................................166 I/O作为远程过程调用 ............................................................................................................167 人为的异步性 ............................................................................................................................167 异步I/O ......................................................................................................................................167 共享的I/O和新的I/O系统调用 ..........................................................................................169 目录 7 getc和putc的替代项 .............................................................................................................169 6 安全和不安全的接口 ...................................................................................................................... 171 线程安全 ............................................................................................................................................171 MT接口安全级别 ............................................................................................................................173 不安全接口的可重复执行函数 .............................................................................................174 异步信号安全函数 ..........................................................................................................................175 库的MT安全级别 ...........................................................................................................................175 不安全库 ....................................................................................................................................176 7 编译和调试........................................................................................................................................ 177 编译多线程应用程序 ......................................................................................................................177 为编译做准备 ............................................................................................................................177 选择Solaris语义或POSIX语义 ............................................................................................178 包括<thread.h>或<pthread.h> ..........................................................................................178 定义_REENTRANT或_POSIX_C_SOURCE ..................................................................................179 使用libthread或libpthread链接 .....................................................................................179 与POSIX信号的-lrt链接 ....................................................................................................181 将原有模块与新模块链接 ......................................................................................................181 备用线程库........................................................................................................................................181 调试多线程程序 ...............................................................................................................................181 多线程程序中常见的疏忽性问题.........................................................................................181 使用TNF实用程序跟踪和调试 ............................................................................................182 使用truss ..................................................................................................................................182 使用mdb ......................................................................................................................................182 使用dbx ......................................................................................................................................183 8 Solaris线程编程 ................................................................................................................................185 比较Solaris线程和POSIX线程的API .......................................................................................185 API的主要差异 ........................................................................................................................185 函数比较表 ................................................................................................................................186 Solaris线程的独有函数 ..................................................................................................................189 暂停执行线程 ............................................................................................................................190 继续执行暂停的线程...............................................................................................................191 目录 多线程编程指南 • 2006年10月 8 相似的同步函数-读写锁 .............................................................................................................192 初始化读写锁 ............................................................................................................................192 获取读锁 ....................................................................................................................................194 尝试获取读锁 ............................................................................................................................194 获取写锁 ....................................................................................................................................195 尝试获取写锁 ............................................................................................................................196 解除锁定读写锁 .......................................................................................................................196 销毁读写锁的状态 ...................................................................................................................197 相似的Solaris线程函数 .................................................................................................................199 创建线程 ....................................................................................................................................199 获取最小栈大小 .......................................................................................................................201 获取线程标识符 .......................................................................................................................202 停止执行线程 ............................................................................................................................202 向线程发送信号 .......................................................................................................................203 访问调用线程的信号掩码 ......................................................................................................203 终止线程 ....................................................................................................................................204 等待线程终止 ............................................................................................................................204 创建线程特定的数据键 ..........................................................................................................206 设置线程特定的数据值 ..........................................................................................................207 获取线程特定的数据值 ..........................................................................................................208 设置线程的优先级 ...................................................................................................................208 获取线程的优先级 ...................................................................................................................210 相似的同步函数-互斥锁 .............................................................................................................210 初始化互斥锁 ............................................................................................................................210 销毁互斥锁 ................................................................................................................................213 获取互斥锁 ................................................................................................................................213 释放互斥锁 ................................................................................................................................214 尝试获取互斥锁 .......................................................................................................................214 相似的同步函数:条件变量 .........................................................................................................215 初始化条件变量 .......................................................................................................................215 销毁条件变量 ............................................................................................................................216 等待条件 ....................................................................................................................................217 等待绝对时间 ............................................................................................................................218 等待时间间隔 ............................................................................................................................218 解除阻塞一个线程 ...................................................................................................................219 解除阻塞所有线程 ...................................................................................................................220 目录 9 相似的同步函数:信号..................................................................................................................220 初始化信号 ................................................................................................................................220 增加信号 ....................................................................................................................................222 基于信号计数阻塞 ...................................................................................................................222 减小信号计数 ............................................................................................................................223 销毁信号状态 ............................................................................................................................224 跨进程边界同步 ...............................................................................................................................224 生成方和使用者问题示例 ......................................................................................................224 fork()和Solaris线程的特殊问题................................................................................................227 9 编程原则 ............................................................................................................................................ 229 重新考虑全局变量 ..........................................................................................................................229 提供静态局部变量 ..........................................................................................................................230 同步线程 ............................................................................................................................................231 单线程策略 ................................................................................................................................232 可重复执行函数 .......................................................................................................................232 避免死锁 ............................................................................................................................................234 与调用相关的死锁 ...................................................................................................................235 锁定原则 ....................................................................................................................................235 线程代码的一些基本原则 .............................................................................................................236 创建和使用线程 ...............................................................................................................................236 使用多处理器 ...................................................................................................................................237 基础体系结构 ............................................................................................................................237 线程程序示例 ...................................................................................................................................241 需要进一步阅读的内容 ..........................................................................................................241 A 样例应用程序:多线程grep .........................................................................................................243 tgrep的说明 .....................................................................................................................................243 B Solaris线程示例:barrier.c........................................................................................................301

2013-04-02

Solaris系统管理指南:高级管理

《系统管理指南:高级管理》是介绍OracleSolaris系统管理信息重要内容的一套文档中的组成部分。该指南包含基于SPARC和基于x86的系统的信息。 本书假设您已经安装了OracleSolaris操作系统(operatingsystem,OS)。同时假设您已经设置了任何计划使用的网络软件。 目录 前言........................................................................................................................................................15 1 管理终端和调制解调器(概述) ...................................................................................................19 管理终端和调制解调器方面的新增功能 ..................................................................................... 19 SPARC:相关控制台 ................................................................................................................... 19 SPARC:对如何设置控制台的$TERM值的更改 ................................................................. 20 系统控制台上由SMF管理的ttymon调用 ........................................................................... 20 终端、调制解调器、端口和服务 .................................................................................................. 20 终端描述 ...................................................................................................................................... 21 调制解调器描述 ......................................................................................................................... 21 端口描述 ...................................................................................................................................... 21 服务描述 ...................................................................................................................................... 22 端口监视器 .................................................................................................................................. 22 终端和调制解调器的管理工具 ...................................................................................................... 22 串行端口工具 .............................................................................................................................. 23 服务访问工具概述 ..................................................................................................................... 23 2 设置终端和调制解调器(任务) ...................................................................................................25 设置终端和调制解调器(任务列表) ......................................................................................... 25 使用串行端口工具设置终端和调制解调器(概述) ............................................................... 26 设置终端 ...................................................................................................................................... 26 设置调制解调器 ......................................................................................................................... 27 如何设置终端、调制解调器和初始化端口(任务) ............................................................... 29 ▼ 如何设置终端 .............................................................................................................................. 29 ▼ 如何设置调制解调器................................................................................................................. 30 ▼ 如何初始化端口 ......................................................................................................................... 31 解决终端和调制解调器问题 ........................................................................................................... 31 3 3 使用服务访问工具管理串行端口(任务) .................................................................................33 管理串行端口(任务列表) ........................................................................................................... 34 使用服务访问工具 ............................................................................................................................ 34 整体SAF管理(sacadm) .................................................................................................................... 35 服务访问控制器(SAC程序) ............................................................................................... 35 SAC初始化进程 ......................................................................................................................... 36 端口监视器服务管理(pmadm) .......................................................................................................... 36 ttymon端口监视器 ..................................................................................................................... 36 端口初始化进程 ......................................................................................................................... 37 双向服务 ...................................................................................................................................... 37 TTY监视器和网络侦听器端口监视器 ......................................................................................... 37 TTY端口监视器(ttymon)......................................................................................................... 38 ttymon和控制台端口 ................................................................................................................ 38 特定于ttymon的管理命令(ttyadm) ....................................................................................... 38 网络侦听器服务(listen) ......................................................................................................... 39 特殊listen专用管理命令(nlsadmin) .................................................................................. 39 管理ttymon端口监视器 .................................................................................................................. 40 ▼ 如何设置ttymon控制台终端类型 ......................................................................................... 40 ▼ 如何在ttymon控制台终端上设置波特率速度.................................................................... 40 ▼ 如何添加ttymon端口监视器 .................................................................................................. 41 ▼ 如何查看ttymon端口监视器状态 ......................................................................................... 42 ▼ 如何停止ttymon端口监视器 .................................................................................................. 43 ▼ 如何启动ttymon端口监视器 .................................................................................................. 43 ▼ 如何禁用ttymon端口监视器 .................................................................................................. 43 ▼ 如何启用ttymon端口监视器 .................................................................................................. 44 ▼ 如何删除ttymon端口监视器 .................................................................................................. 44 管理ttymon服务(任务列表) ..................................................................................................... 44 管理ttymon服务 ................................................................................................................................ 45 ▼ 如何添加服务 .............................................................................................................................. 45 ▼ 如何查看TTY端口服务的状态 .............................................................................................. 46 ▼ 如何启用端口监视器服务 ........................................................................................................ 48 ▼ 如何禁用端口监视器服务 ........................................................................................................ 48 服务访问工具管理(参考) ........................................................................................................... 48 与SAF相关联的文件 ................................................................................................................ 48 /etc/saf/_sactab文件 ............................................................................................................. 49 /etc/saf/pmtab/_pmtab文件 ................................................................................................. 49 目录 系统管理指南:高级管理 • 2011年8月 4 服务状态 ...................................................................................................................................... 51 端口监视器状态 ......................................................................................................................... 51 端口状态 ...................................................................................................................................... 51 4 管理系统资源(概述).....................................................................................................................53 系统资源管理方面的新增功能 ...................................................................................................... 53 用于显示产品名称的新增prtconf选项 ............................................................................... 53 识别芯片多线程功能的psrinfo命令选项 .......................................................................... 54 新增localeadm命令 .................................................................................................................. 54 管理系统资源(指南).................................................................................................................... 54 5 显示和更改系统信息(任务) .......................................................................................................57 显示系统信息(任务列表) ........................................................................................................... 57 显示系统信息 .............................................................................................................................. 58 ▼ 如何显示系统的物理处理器类型........................................................................................... 63 ▼ 如何显示系统的逻辑处理器类型........................................................................................... 64 ▼ 如何显示系统中安装的语言环境........................................................................................... 64 ▼ 如何确定系统中是否安装了语言环境 .................................................................................. 65 更改系统信息(任务列表) ........................................................................................................... 65 更改系统信息 ..................................................................................................................................... 66 ▼ 如何手动设置系统的日期和时间........................................................................................... 66 ▼ 如何设置每日消息 ..................................................................................................................... 67 ▼ 如何更改系统的主机名 ............................................................................................................ 68 ▼ 如何向系统中添加语言环境 ................................................................................................... 69 ▼ 如何从系统中删除语言环境 ................................................................................................... 69 6 管理磁盘使用(任务).....................................................................................................................71 管理磁盘使用(任务列表) ........................................................................................................... 71 显示有关文件和磁盘空间的信息 .................................................................................................. 72 ▼ 如何显示有关文件和磁盘空间的信息 .................................................................................. 72 检查文件大小 ..................................................................................................................................... 75 ▼ 如何显示文件大小 ..................................................................................................................... 75 ▼ 如何查找大文件 ......................................................................................................................... 76 ▼ 如何查找超过指定大小限制的文件 ...................................................................................... 77 目录 5 检查目录大小 ..................................................................................................................................... 78 ▼ 如何显示目录、子目录和文件的大小 .................................................................................. 78 ▼ 如何显示本地UFS文件系统的用户所有权......................................................................... 79 查找并删除旧文件或非活动文件 .................................................................................................. 80 ▼ 如何列出最新文件 ..................................................................................................................... 80 ▼ 如何查找并删除旧文件或非活动文件 .................................................................................. 81 ▼ 如何清除临时目录 ..................................................................................................................... 82 ▼ 如何查找并删除core文件 ...................................................................................................... 82 ▼ 如何删除故障转储文件 ............................................................................................................ 83 7 管理UFS配额(任务).....................................................................................................................85 什么是UFS配额? ............................................................................................................................ 85 使用UFS配额 ..................................................................................................................................... 85 设置UFS配额的软限制和硬限制 .......................................................................................... 86 磁盘块与文件限制之间的区别 ............................................................................................... 86 设置UFS配额 ..................................................................................................................................... 86 设置UFS配额的原则 ................................................................................................................ 87 设置UFS配额(任务列表) .......................................................................................................... 88 ▼ 如何为UFS配额配置文件系统............................................................................................... 88 ▼ 如何设置一个用户的UFS配额............................................................................................... 89 ▼ 如何设置多个用户的UFS配额............................................................................................... 90 ▼ 如何检查UFS配额一致性 ....................................................................................................... 90 ▼ 如何启用UFS配额 .................................................................................................................... 91 维护UFS配额(任务列表) .......................................................................................................... 92 检查UFS配额 ..................................................................................................................................... 92 ▼ 如何检查超过的UFS配额 ....................................................................................................... 92 ▼ 如何检查文件系统中的UFS配额 .......................................................................................... 93 更改和删除UFS配额........................................................................................................................ 94 ▼ 如何更改软限制缺省值 ............................................................................................................ 95 ▼ 如何更改用户的UFS配额 ....................................................................................................... 96 ▼ 如何禁用用户的UFS配额 ....................................................................................................... 97 ▼ 如何禁用UFS配额 .................................................................................................................... 98 8 调度系统任务(任务).....................................................................................................................99 创建和编辑crontab文件(任务列表) ...................................................................................... 99 目录 系统管理指南:高级管理 • 2011年8月 6 自动执行系统任务的方法 .............................................................................................................100 用于调度重复性作业:crontab ...........................................................................................100 用于调度单个作业:at ..........................................................................................................101 调度重复性系统任务(cron) ..........................................................................................................101 在crontab文件内 ....................................................................................................................102 cron守护进程处理调度的方法 ............................................................................................103 crontab文件项的语法 ............................................................................................................103 创建和编辑crontab文件 ..............................................................................................................104 ▼ 如何创建或编辑crontab文件 ..............................................................................................104 ▼ 如何验证crontab文件是否存在 ..........................................................................................105 显示crontab文件............................................................................................................................106 ▼ 如何显示crontab文件 ...........................................................................................................106 删除crontab文件............................................................................................................................107 ▼ 如何删除crontab文件 ...........................................................................................................107 控制对crontab命令的访问 ..........................................................................................................108 ▼ 如何拒绝crontab命令访问...................................................................................................108 ▼ 如何将crontab命令访问限制于指定的用户 ....................................................................109 如何验证受限的crontab命令访问 .....................................................................................110 使用at命令(任务列表) ............................................................................................................111 调度单个系统任务(at) ..................................................................................................................111 at命令的说明 ...........................................................................................................................111 控制对at命令的访问 .............................................................................................................112 ▼ 如何创建at作业 ......................................................................................................................112 ▼ 如何显示at队列 ......................................................................................................................113 ▼ 如何验证at作业 ......................................................................................................................113 ▼ 如何显示at作业 ......................................................................................................................114 ▼ 如何删除at作业 ......................................................................................................................114 ▼ 如何拒绝对at命令的访问 ....................................................................................................115 ▼ 如何验证at命令访问已被拒绝............................................................................................116 9 管理系统记帐(任务).................................................................................................................. 117 系统记帐方面的新增功能 .............................................................................................................117 OracleSolaris进程记帐和统计信息改进 .............................................................................117 什么是系统记帐? ..........................................................................................................................118 系统记帐的工作原理...............................................................................................................118 目录 7 系统记帐组件 ............................................................................................................................118 系统记帐(任务列表)..................................................................................................................122 设置系统记帐 ...................................................................................................................................122 ▼ 如何设置系统记帐 ...................................................................................................................123 对用户计费........................................................................................................................................125 ▼ 如何对用户计费 .......................................................................................................................125 维护记帐信息 ...................................................................................................................................126 修复损坏的文件并更正wtmpx错误 .....................................................................................126 ▼ 如何修复损坏的wtmpx文件 ..................................................................................................126 更正tacct错误 ........................................................................................................................126 ▼ 如何修复tacct错误................................................................................................................127 重新启动runacct脚本 ...........................................................................................................127 ▼ 如何重新启动runacct脚本...................................................................................................128 停止和禁用系统记帐 ......................................................................................................................128 ▼ 如何暂时停止系统记帐 ..........................................................................................................128 ▼ 如何永久禁用系统记帐 ..........................................................................................................129 10 系统记帐(参考) .......................................................................................................................... 131 runacct脚本 .....................................................................................................................................131 每日记帐报告 ...................................................................................................................................133 每日报告 ....................................................................................................................................134 每日使用情况报告 ...................................................................................................................135 每日命令摘要 ............................................................................................................................136 每月命令摘要 ............................................................................................................................137 上次登录报告 ............................................................................................................................137 使用acctcom检查pacct文件 ...............................................................................................137 系统记帐文件 ...................................................................................................................................139 runacct脚本生成的文件 ........................................................................................................141 11 管理系统性能(概述).................................................................................................................. 143 管理系统性能方面的新增功能 ....................................................................................................143 增强的pfiles工具 ..................................................................................................................143 CPU性能计数器 .......................................................................................................................143 有关系统性能任务的参考信息 ....................................................................................................144 系统性能和系统资源 ......................................................................................................................144 目录 系统管理指南:高级管理 • 2011年8月 8 进程和系统性能 ...............................................................................................................................145 关于监视系统性能 ..........................................................................................................................146 监视工具 ....................................................................................................................................146 12 管理系统进程(任务).................................................................................................................. 149 管理系统进程(任务列表) .........................................................................................................149 用于管理系统进程的命令 .............................................................................................................150 使用ps命令 ...............................................................................................................................150 使用/proc文件系统和命令 ..................................................................................................151 使用进程命令管理进程(/proc) ............................................................................................152 ▼ 如何列出进程 ............................................................................................................................153 ▼ 如何显示有关进程的信息 ......................................................................................................154 ▼ 如何控制进程 ............................................................................................................................155 终止进程 (pkill, kill) .......................................................................................................... 156 ▼ 如何终止进程(pkill) .............................................................................................................156 ▼ 如何终止进程(kill) ...............................................................................................................157 调试进程(pargs,preap) ..........................................................................................................157 管理进程类信息(任务列表) ....................................................................................................158 管理进程类信息 ...............................................................................................................................159 更改进程的调度优先级(priocntl) .....................................................................................159 ▼ 如何显示有关进程类的基本信息(priocntl) ....................................................................160 ▼ 如何显示进程的全局优先级 .................................................................................................160 ▼ 如何指定进程优先级(priocntl) ..........................................................................................161 ▼ 如何更改分时进程的调度参数(priocntl) ........................................................................161 ▼ 如何更改进程的类(priocntl) ..............................................................................................162 更改分时进程的优先级(nice) ..............................................................................................163 ▼ 如何更改进程的优先级(nice) ..............................................................................................163 系统进程问题的故障排除 .............................................................................................................164 13 监视系统性能(任务).................................................................................................................. 165 显示系统性能信息(任务列表) ................................................................................................165 显示虚拟内存统计信息(vmstat) .................................................................................................166 ▼ 如何显示虚拟内存统计信息(vmstat) .................................................................................167 ▼ 如何显示系统事件信息 (vmstat -s) .................................................................................... 167 ▼ 如何显示交换统计信息 (vmstat -S) .................................................................................... 168 目录 9 ▼ 如何显示每台设备的中断次数 (vmstat -i) ...................................................................... 168 显示磁盘使用率信息 ( iostat) .................................................................................................... 169 ▼ 如何显示磁盘使用率信息(iostat) .....................................................................................169 ▼ 如何显示扩展磁盘统计信息 (iostat -xtc) ....................................................................... 170 显示磁盘空间统计信息(df)..........................................................................................................171 ▼ 如何显示磁盘空间信息 (df -k) ............................................................................................ 171 监视系统活动(任务列表) .........................................................................................................172 监视系统活动(sar) .........................................................................................................................173 ▼ 如何检查文件访问 (sar -a) ................................................................................................... 174 ▼ 如何检查缓冲区活动 (sar -b) .............................................................................................. 174 ▼ 如何检查系统调用统计信息 (sar -c) ................................................................................. 176 ▼ 如何检查磁盘活动 (sar -d) ................................................................................................... 177 ▼ 如何检查页出和内存 (sar -g) .............................................................................................. 178 检查内核内存分配 ...................................................................................................................179 ▼ 如何检查内核内存分配 (sar -k) .......................................................................................... 180 ▼ 如何检查进程间通信 (sar -m) .............................................................................................. 181 ▼ 如何检查页入活动 (sar -p) ................................................................................................... 182 ▼ 如何检查队列活动 (sar -q) ................................................................................................... 183 ▼ 如何检查未使用的内存 (sar -r) .......................................................................................... 184 ▼ 如何检查 CPU 使用率 (sar -u) ............................................................................................. 185 ▼ 如何检查系统表状态 (sar -v) .............................................................................................. 186 ▼ 如何检查交换活动 (sar -w) ................................................................................................... 187 ▼ 如何检查终端活动 (sar -y) ................................................................................................... 188 ▼ 如何检查总体系统性能 (sar -A) .......................................................................................... 189 自动收集系统活动数据(sar) .......................................................................................................189 引导时运行sadc命令 .............................................................................................................189 使用sa1脚本定期运行sadc命令 ........................................................................................190 使用sa2Shell脚本生成报告 ..................................................................................................190 设置自动数据收集(sar) .........................................................................................................190 ▼ 如何设置自动数据收集 ..........................................................................................................192 14 软件问题故障排除(概述) ......................................................................................................... 193 故障排除方面的新增内容 .............................................................................................................193 CommonAgentContainer问题 .............................................................................................193 x86:SMF引导归档文件服务可能在系统重新引导期间失败 .........................................194 目录 系统管理指南:高级管理 • 2011年8月 10 动态跟踪功能 ............................................................................................................................194 kmdb取代kadb作为标准的Solaris内核调试程序 ............................................................194 有关软件故障排除任务的参考信息 ............................................................................................195 系统崩溃故障排除 ..........................................................................................................................195 系统崩溃时应执行的操作 ......................................................................................................195 收集故障排除数据 ...................................................................................................................196 系统崩溃故障排除核对表 .............................................................................................................197 15 管理系统消息 ................................................................................................................................... 199 查看系统消息 ...................................................................................................................................199 ▼ 如何查看系统消息 ...................................................................................................................200 系统日志轮转 ...................................................................................................................................201 定制系统消息日志 ..........................................................................................................................202 ▼ 如何定制系统消息日志 ..........................................................................................................203 启用远程控制台消息传送 .............................................................................................................204 在运行级转换期间使用辅助控制台消息传递 ...................................................................204 在交互式登录会话期间使用consadm命令 ........................................................................205 ▼ 如何启用辅助(远程)控制台 .............................................................................................206 ▼ 如何显示辅助控制台的列表 .................................................................................................206 ▼ 如何在系统重新引导期间启用辅助(远程)控制台 .....................................................206 ▼ 如何禁用辅助(远程)控制台 .............................................................................................207 16 管理核心转储文件(任务) ......................................................................................................... 209 管理核心转储文件(任务列表) ................................................................................................209 管理核心转储文件概述..................................................................................................................210 配置核心转储文件路径 ..........................................................................................................210 扩展的核心转储文件名 ..........................................................................................................210 设置核心转储文件名称模式 .................................................................................................211 启用setuid程序以生成核心转储文件 ...............................................................................212 如何显示当前的核心转储配置 .............................................................................................212 ▼ 如何设置核心转储文件名称模式.........................................................................................212 ▼ 如何启用每进程核心转储文件路径 ....................................................................................213 ▼ 如何启用全局核心转储文件路径.........................................................................................213 核心转储文件问题故障排除 .........................................................................................................214 检查核心转储文件 ..........................................................................................................................214 目录 11 17 管理系统故障转储信息(任务) ................................................................................................ 215 管理系统故障转储信息中的新增内容 .......................................................................................215 快速故障转储工具 ...................................................................................................................215 管理系统故障转储信息(任务列表) .......................................................................................216 系统崩溃(概述) ..........................................................................................................................216 交换区域和转储设备的OracleSolarisZFS支持 ................................................................217 x86:GRUB引导环境中的系统崩溃......................................................................................217 系统故障转储文件 ...................................................................................................................217 保存故障转储 ............................................................................................................................217 dumpadm命令 ..............................................................................................................................218 dumpadm命令的工作原理 ........................................................................................................219 转储设备和卷管理器...............................................................................................................219 管理系统故障转储信息..................................................................................................................219 ▼ 如何显示当前的故障转储配置 .............................................................................................219 ▼ 如何修改故障转储配置 ..........................................................................................................220 ▼ 如何检查故障转储 ...................................................................................................................221 ▼ 如何从完整的故障转储目录中恢复(可选的) ..............................................................222 ▼ 如何禁用或启用故障转储的保存.........................................................................................223 18 各种软件问题的故障排除(任务)............................................................................................ 225 重新引导失败时应执行的操作 ....................................................................................................225 忘记超级用户口令时应执行的操作 ............................................................................................226 x86:SMF引导归档文件服务在系统重新引导期间失败时应执行的操作 ..........................229 系统挂起时应执行的操作 .............................................................................................................230 文件系统已满时应执行的操作 ....................................................................................................230 由于创建了大文件或目录导致文件系统已满 ...................................................................231 由于系统内存不足导致TMPFS文件系统变满 ....................................................................231 复制或恢复后文件ACL丢失时应执行的操作 .........................................................................231 备份问题故障排除 ..........................................................................................................................231 备份文件系统后根(/)文件系统变满 ..................................................................................231 确保备份和恢复命令相匹配 .................................................................................................232 检查以确保当前目录正确 ......................................................................................................232 交互命令 ....................................................................................................................................232 OracleSolarisOS中CommonAgentContainer问题的故障排除 ..........................................233 端口号冲突 ................................................................................................................................233 目录 系统管理指南:高级管理 • 2011年8月 12 ▼ 如何检查端口号 .......................................................................................................................233 超级用户口令的安全性被破坏 .............................................................................................234 ▼ 如何为OracleSolarisOS生成安全密钥...............................................................................234 19 文件访问问题故障排除(任务) ................................................................................................ 235 解决搜索路径的问题 (Command not found) ................................................................................235 ▼ 如何诊断和更正搜索路径问题 .............................................................................................236 解决文件访问问题 ..........................................................................................................................237 更改文件和组的所有权 ..........................................................................................................237 识别网络访问问题 ..........................................................................................................................238 20 解决UFS文件系统不一致问题(任务) ....................................................................................239 fsck错误消息 ...................................................................................................................................240 一般fsck错误消息 ..................................................................................................................241 初始化阶段的fsck消息 .........................................................................................................243 阶段1:检查块和大小消息 ...................................................................................................245 OracleSolaris10:阶段1B:重新扫描更多DUPS消息 ..................................................249 阶段1B:重新扫描更多DUPS消息 ....................................................................................250 阶段2:检查路径名消息 .......................................................................................................250 阶段3:检查连通性消息 .......................................................................................................256 阶段4:检查引用计数消息 ...................................................................................................258 阶段5:检查柱面组消息 .......................................................................................................261 阶段5:检查柱面组消息 .......................................................................................................262 fsck摘要消息 ...........................................................................................................................263 清除阶段消息 ............................................................................................................................263 21 软件包问题故障排除(任务) .................................................................................................... 265 软件包符号链接问题故障排除 ....................................................................................................265 特定软件包安装错误 ......................................................................................................................266 一般软件包安装问题 ......................................................................................................................266

2013-04-02

Solaris应用程序包开发者指南

《应用程序包开发者指南》提供设计、生成和验证软件包的逐步说明以及相关的背景信息。本指南还包括在软件包创建过程中可能非常有用的高级技术。 目录 前言..........................................................................................................................................................9 1 设计软件包...........................................................................................................................................13 在何处找到打包任务 ........................................................................................................................ 13 什么是软件包? ................................................................................................................................. 13 软件包组件.......................................................................................................................................... 14 必需的软件包组件 ..................................................................................................................... 15 可选软件包组件 ......................................................................................................................... 15 生成软件包之前的注意事项 ........................................................................................................... 16 使软件包可远程安装................................................................................................................. 17 针对客户机/服务器配置进行优化 ......................................................................................... 17 根据功能边界打包 ..................................................................................................................... 17 根据版税边界打包 ..................................................................................................................... 17 根据系统相关性打包................................................................................................................. 17 消除软件包中的重叠................................................................................................................. 18 根据本地化边界打包................................................................................................................. 18 映像包管理系统(ImagePackagingSystem,IPS)软件包 ............................................................ 18 打包命令、文件和脚本.................................................................................................................... 19 2 生成软件包...........................................................................................................................................21 软件包生成过程(任务图) ........................................................................................................... 21 软件包环境变量 ................................................................................................................................. 22 关于使用环境变量的一般规则 ............................................................................................... 22 软件包环境变量汇总................................................................................................................. 23 创建pkginfo文件.............................................................................................................................. 23 定义软件包实例 ......................................................................................................................... 24 定义软件包名称(NAME) ............................................................................................................. 25 3 定义软件包类别(CATEGORY)..................................................................................................... 26 ▼ 如何创建pkginfo文件 ............................................................................................................. 26 组织软件包的内容 ............................................................................................................................ 27 ▼ 如何组织软件包的内容 ............................................................................................................ 27 创建prototype文件 ......................................................................................................................... 28 prototype文件的格式 .............................................................................................................. 28 从头创建prototype文件 ......................................................................................................... 33 示例-使用 pkgproto 命令创建 prototype 文件 .................................................................33 优化使用pkgproto命令创建的prototype文件 ................................................................. 34 向 prototype 文件添加功能 .....................................................................................................36 ▼ 如何使用pkgproto命令创建prototype文件 ..................................................................... 38 生成软件包.......................................................................................................................................... 40 使用最简单的pkgmk命令 ......................................................................................................... 40 pkgmap文件 .................................................................................................................................. 40 ▼ 如何生成软件包 ......................................................................................................................... 41 3 增强软件包的功能(任务) ............................................................................................................45 创建信息文件和安装脚本(任务图) ......................................................................................... 45 创建信息文件 ..................................................................................................................................... 46 定义软件包相关性 ..................................................................................................................... 46 ▼ 如何定义软件包相关性 ............................................................................................................ 47 编写版权信息 .............................................................................................................................. 49 ▼ 如何编写版权信息 ..................................................................................................................... 49 在目标系统上保留额外空间 ................................................................................................... 50 ▼ 如何在目标系统上保留额外空间........................................................................................... 51 创建安装脚本 ..................................................................................................................................... 52 软件包安装期间的脚本处理 ................................................................................................... 52 软件包删除期间的脚本处理 ................................................................................................... 53 对脚本可用的软件包环境变量 ............................................................................................... 53 为脚本获取软件包信息 ............................................................................................................ 55 脚本的退出代码 ......................................................................................................................... 55 编写request脚本 ...................................................................................................................... 56 ▼ 如何编写request脚本 ............................................................................................................. 57 使用checkinstall脚本收集文件系统数据 ........................................................................ 58 ▼ 如何收集文件系统数据 ............................................................................................................ 59 目录 应用程序包开发者指南 • 2009年4月 4 编写过程脚本 .............................................................................................................................. 60 ▼ 如何编写过程脚本 ..................................................................................................................... 61 编写类操作脚本 ......................................................................................................................... 62 ▼ 如何编写类操作脚本................................................................................................................. 68 创建带签名的软件包 ........................................................................................................................ 69 带签名的软件包 ......................................................................................................................... 69 证书管理 ...................................................................................................................................... 70 创建带签名的软件包................................................................................................................. 72 ▼ 如何创建不带签名的目录格式的软件包 ............................................................................. 72 ▼ 如何将证书导入到软件包密钥库........................................................................................... 73 ▼ 如何对软件包签名 ..................................................................................................................... 74 4 验证和转换软件包 .............................................................................................................................77 验证和转换软件包(任务图) ...................................................................................................... 77 安装软件包.......................................................................................................................................... 78 安装软件数据库 ......................................................................................................................... 78 与pkgadd命令交互 .................................................................................................................... 78 在同构环境中的独立系统或服务器上安装软件包 ............................................................ 79 ▼ 如何在独立系统或服务器上安装软件包 ............................................................................. 79 验证软件包的完整性 ........................................................................................................................ 80 ▼ 如何验证软件包的完整性 ........................................................................................................ 80 显示有关已安装的软件包的附加信息 ......................................................................................... 81 pkgparam命令.............................................................................................................................. 81 ▼ 如何使用 pkgparam 命令获取信息 ..........................................................................................82 pkginfo命令 ................................................................................................................................ 83 ▼ 如何使用 pkginfo 命令获取信息 ............................................................................................86 删除软件包.......................................................................................................................................... 86 ▼ 如何删除软件包 ......................................................................................................................... 86 将软件包转换为分发介质 ............................................................................................................... 87 ▼ 如何将软件包转换为分发介质 ............................................................................................... 87 5 软件包创建案例研究 .........................................................................................................................89 请求来自管理员的输入.................................................................................................................... 89 技术 ............................................................................................................................................... 89 方法 ............................................................................................................................................... 90 目录 5 案例研究文件 .............................................................................................................................. 91 在安装时创建文件并在删除期间保存文件 ................................................................................ 92 技术 ............................................................................................................................................... 92 方法 ............................................................................................................................................... 93 案例研究文件 .............................................................................................................................. 94 定义软件包兼容性和相关性 ........................................................................................................... 95 技术 ............................................................................................................................................... 95 方法 ............................................................................................................................................... 96 案例研究文件 .............................................................................................................................. 96 使用标准类和类操作脚本修改文件 .............................................................................................. 97 技术 ............................................................................................................................................... 97 方法 ............................................................................................................................................... 97 案例研究文件 .............................................................................................................................. 98 使用sed类和postinstall脚本修改文件 .................................................................................100 技术 .............................................................................................................................................100 方法 .............................................................................................................................................100 案例研究文件 ............................................................................................................................101 使用build类修改文件 ...................................................................................................................102 技术 .............................................................................................................................................102 方法 .............................................................................................................................................102 案例研究文件 ............................................................................................................................103 在安装期间修改crontab文件 ......................................................................................................103 技术 .............................................................................................................................................103 方法 .............................................................................................................................................104 案例研究文件 ............................................................................................................................104 使用过程脚本安装和删除驱动程序 ............................................................................................106 技术 .............................................................................................................................................106 方法 .............................................................................................................................................106 案例研究文件 ............................................................................................................................107 使用sed类和过程脚本安装驱动程序 ........................................................................................109 技术 .............................................................................................................................................109 方法 .............................................................................................................................................109 案例研究文件 ............................................................................................................................110 目录 应用程序包开发者指南 • 2009年4月 6 6 创建软件包的高级技术.................................................................................................................. 115 指定基目录........................................................................................................................................115 缺省管理文件 ............................................................................................................................115 使用BASEDIR参数 ....................................................................................................................117 使用参数化基目录 ...................................................................................................................117 管理基目录 ................................................................................................................................119 适应重定位........................................................................................................................................119 遍历基目录 ................................................................................................................................120 在异构环境中支持重定位 .............................................................................................................127 传统方法 ....................................................................................................................................128 超越传统 ....................................................................................................................................131 使软件包可远程安装 ......................................................................................................................136 示例-安装到客户机系统 ......................................................................................................136 示例-安装到服务器或独立系统.........................................................................................137 示例-挂载共享文件系统 ......................................................................................................137 修补软件包........................................................................................................................................138 checkinstall脚本 ...................................................................................................................139 preinstall脚本 .......................................................................................................................143 类操作脚本 ................................................................................................................................148 postinstall脚本 .....................................................................................................................153 patch_checkinstall脚本 ......................................................................................................158 patch_postinstall脚本.........................................................................................................160 升级软件包........................................................................................................................................161 request脚本 ..............................................................................................................................162 postinstall脚本 .....................................................................................................................163 创建类归档软件包 ..........................................................................................................................163 归档软件包目录的结构 ..........................................................................................................164 支持类归档软件包的关键字 .................................................................................................165 faspac实用程序 .......................................................................................................................166

2013-04-02

GO 语言(中文版PDF)

GO 语言(中文版PDF)

2011-12-10

PHP & MySQL范例精解

PHP & MySQL范例精解.。。。。。

2011-11-16

Delphi 2005程序设计教程_实例源文件和教学课件

Delphi 2005程序设计教程_实例源文件和教学课件

2011-11-16

Delphi 7 程序设计教程

相关代码及。。。 [Delphi 7 程序设计教程].zip\书籍源码

2011-11-16

python-2.7.2 for windows

python开发环境。。。Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。

2011-11-16

Jython是用Java语言实现的Python解释器

•Jython是用Java语言实现的Python解释器。这意味着你可以用Python语言编写程序而同时使用Java库!Jython是一个稳定成熟的软件。如果你也是一个Java程序员,我强烈建议你尝试一下Jython

2011-11-16

[启用IIS的批处理]iis7_setup-Win7Vista2008.rar

[启用IIS的批处理]iis7_setup-Win7Vista2008

2011-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除