1.电脑代码视频文件代码电脑文件类型代码
2.代码是负源什么意思?
3.rhce课ç¨
4.搜一下导航完整程序源码
5.字符设备中的几个函数分析
电脑代码视频文件代码电脑文件类型代码
A. 怎么查寻网页上视频的源代码
方法一、在源代码中搜索视频格式为FLV、码负码反码补码MP4等视频格式,负源可以找到视频文件的码负码反码补码绝对路径或相对路径,将其复制到下载工具中就可以下载了。负源
方法二、码负码反码补码多空资金量柱副图公式源码有的负源视频在源代码中是直接找不到的,他们是码负码反码补码通过播放器调用JS代码中的视频地址,这种情况就要找到被调用的负源JS代码,在JS代码里面就可以搜索到视频文件的码负码反码补码地址。
方法三、负源还有一种情况是码负码反码补码页面嵌入的另外一个视频播放页面,需要找到另外一个页面的负源源代码,在其中去搜索视频地址。码负码反码补码
总之要根据实际情况去分析视频地址隐藏于何处,负源找到它就可以下载了。
源代码主要有以下2种作用:
生成目标代码,即计算机可以识别的代码。
对软件进行说明,即对软件的编写进行说明。
为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
(需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。 )
版权
如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。
参考链接:网络_源代码 (示例源程序)
B. 电脑文件类型代码
Windows系统文件类型概览[推荐]
大家知道,Windows系统文件按照不同的格式和用途分很多种类,为便于管理和识别,在对文件命名时,是以扩展名加以区分的,即文件名格式为: "主文件名.扩展名"。这样就可以根据文件的扩展名,判定文件的种类,从而知道其格式和用途。例如:
"文件名1.DOC"的扩展名"DOC"表示本文件是一个"Microsoft Word 文档",
"文件名2.XLS"的扩展名"XLS"表示本文件是一个"Microsoft Excel 工作表",
"文件名3.BMP"的扩展名"BMP"表示本文件是一个"BMP格式图像",
"文件名4.MP3"的扩展名"MP3"表示本文件是一个"MP3 格式声音",
"文件名5.MPEG"的知识付费源码培训扩展名"MPEG"表示本文件是一个"**文件(MPEG)"。
下面列出Windows系统文件的扩展名及其分类对照表,以备查阅:
1. "" "H. Internet 电话技术"
2. "" "虚拟设备驱动程序"
3. "ACA" "Microsoft Agent Character File (HTTP format)"
4. "ACF" "Microsoft Agent Character File (HTTP format)"
5. "ACG" "Microsoft Agent 预览文件"
6. "ACL" "自动更正列表文件"
7. "ACS" "Microsoft Agent Character File"
8. "ACW" "辅助功能向导设置"
9. "ADE" "Microsoft Access 项目扩展"
. "ADN" "Microsoft Access 空白项目模板"
. "ADP" "Microsoft Access 项目"
. "AIF" "AIFF 格式声音"
. "AIFC" "AIFF 格式声音"
. "AIFF" "AIFF 格式声音"
. "ANI" "动画光标"
. "ASA" "活动服务器文档"
. "ASD" "ASF Stream Description File"
. "ASF" "Windows Media 音频/视频文件"
. "ASP" "活动服务器文档"
. "ASX" "Windows Media 音频/视频快捷方式"
. "AU" "AU 格式声音"
. "AUDIOCD" "AudioCD"
. "AVI" "视频剪辑"
. "AW" "应答向导文件"
. "BKF" "Windows 备份文件"
. "BLG" "性能监视器文件"
. "BMP" "BMP 图像"
. "CAT" "安全编录"
. "CDA" "CD 音频曲目"
. "CDF" "频道文件"
. "CDX" "活动服务器文档"
. "CER" "安全证书"
. "CHK" "还原了文件碎片"
. "CHM" "已编译的 HTML 帮助文件"
. "CLP" "剪贴板剪贴"
. "CNF" "快速拨号"
. "COL" "HTML 帮助文件"
. "CPL" "控制面板扩展"
. "CRL" "证书吊销列表"
. "CRT" "安全证书"
. "CSS" "级联样式表文档"
. "CSV" "Microsoft Excel 逗号分隔值文件"
. "CUR" "光标"
. "DB" "数据库文件"
. "DCS" "数据库内容源"
. "DER" "安全证书"
. "DESKLINK" "DESKLINK 文件"
. "DET" "Office Data File"
. "DIB" "BMP 图像"
. "DIC" "文本文档"
. "DIF" "Microsoft Excel 数据交换格式"
. "DOC" "Microsoft Word 文档"
. "DOCHTML" "Microsoft Word HTML 文档"
. "DOCMHTML" "DOCMHTML 文件"
. "DOT" "Microsoft Word 模板"
. "DOTHTML" "Microsoft Word HTML 模板"
. "DQY" "Microsoft Excel ODBC 查询文件"
. "DRV" "设备驱动程序"
. "DSN" "数据源名称"
. "DUN" "拨号网络文件"
. "DVD" "DVD"
. "ECS" "Exchange Server 内容源"
. "ELM" "Microsoft Office 主题文件"
. "EMF" "EMF 图像"
. "EML" "Outlook Express 邮件消息"
. "EXC" "文本文档"
. "FAD" "Office 数据文件"
. "FAV" "FAV 文件"
. "FCS" "文件共享内容源"
. "FFA" "文件检索索引"
. "FFL" "文件检索索引"
. "FFT" "文件检索索引"
. "FFX" "文件检索索引"
. "FON" "字体文件"
. "FPDOCLIB" "Microsoft FrontPage Document Library"
"FPHOMEOP" Microsoft FrontPage Home Page Open"
. "FPHOMEPG" "Microsoft FrontPage 主页"
. "FPHTML""Microsoft FrontPage HTML 文档"
. "FPLIST" "Microsoft FrontPage List"
. "FPNOPUB" "Microsoft FrontPage Dont Publish"
. "FPOPEN" "Microsoft FrontPage 打开文件"
. "FPSURVEY" "Microsoft FrontPage Survey"
. "FPWEB" "FPWEB 文件"
. "FRG" "FRG 文件"
. "GIF" "GIF 图像"
. "GRA" "Microsoft Graph 图表"
. "GRP" "Microsoft 程序组"
. "HLP" "帮助文件"
. "HOL" "Microsoft Outlook Holidays"
. "HT" "超级终端文件"
. "HTA" "HTML Application"
. "HTC" "HTC 文件"
. "HTM" "HTML Document"
. "HTML" "HTML Document"
. "HTT" "HyperText 模板"
. "HTX""用于 Internet 数据库的 HTML 模板"
. "ICC" "ICC 配置文件"
. "ICM" "ICC 配置文件"
. "ICO" "图标"
. "ICS" "iCalendar 文件"
. "IDC" "IDC 文件"
. "III" "Intel IPhone 兼容"
. "INF" "安装信息"
. "INI" "配置设置"
. "INS" "Internet 通讯设置"
. "IQY" "Microsoft Excel Web 查询文件"
. "ISP" "Internet 通讯设置"
. "ITS" "Internet Document Set"
. "ITSS" "Microsoft Infotech Storage System File"
. "IVF" "Indeo 视频文件"
. "JFIF" "JPEG 图像"
. "JOB" "任务对象"
. "JOD" "Microsoft.Jet.OLEDB.4.0"
. "JPE" "JPEG 图像"
. "JPEG" "JPEG 图像"
. "JPG" "JPEG 图像"
. "JS" "JScript Script File"
. "JSE" "JScript Encoded Script File"
. "LDB" "Microsoft Access 记录锁定信息"
. "LEX" "词典文件"
. "LOG" "文本文档"
"LWV" Microsoft Linguistically Enhanced Sound File"
. "M1V" "**文件(MPEG)"
. "M3U" "M3U 文件"
. "MAD" "Microsoft Access 模块快捷方式"
. "MAF" "Microsoft Access 窗体快捷方式"
. "MAG" "Microsoft Access 图表快捷方式"
. "MAM" "Microsoft Access 宏快捷方式"
. "MAPIMAIL" "MAPIMAIL 文件"
. "MAQ" "Microsoft Access 查询快捷方式"
. "MAR" "Microsoft Access 报表快捷方式"
. "MAS"Microsoft Access 存储过程快捷方式"
. "MAT" "Microsoft Access 表快捷方式"
. "MAU" "MAU 文件"
. "MAV" "Microsoft Access 视图快捷方式"
"MAW"Microsoft Access 数据访问页快捷方式"
. "MDA" "Microsoft Access 加载项"
. "MDB" "Microsoft Access 应用程序"
. "MDBHTML" "Microsoft Access HTML 文档"
. "MDE" "Microsoft Access MDE 数据库"
. "MDN""Microsoft Access 空白数据库模板"
. "MDT" "Microsoft Access 加载项数据"
. "MDW" "Microsoft Access 工作组信息"
. "MDZ""Microsoft Access 数据库向导模板"
. "MGC" "媒体目录文件"
. "MHT" "MHTML Document"
. "MHTML" "MHTML Document"
. "MID" "MIDI 序列"
. "MIDI" "MIDI 序列"
. "MML" "媒体目录文件"
. "MMM" "媒体剪辑"
. "MMW" "媒体目录文件"
. "MP2" "**文件(MPEG)"
. "MP2V" "**文件(MPEG)"
. "MP3" "MP3 格式声音"
. "MPA" "**文件(MPEG)"
. "MPE" "**文件(MPEG)"
. "MPEG" "**文件(MPEG)"
. "MPF" "Media Package 文件"
. "MPG" "**文件(MPEG)"
. "MPV2" "**文件(MPEG)"
. "MSC" "Microsoft 通用管理文档"
. "MSG" "Outlook 项目"
. "MSI" "Windows Installer 软件包"
. "MSP" "Windows Installer 修补程序"
. "MSRCINCIDENT" "Microsoft 远程访问事件"
. "MSSTYLES" "Windows 可视化风格文件"
. "MSWMM" "Windows Movie Maker 项目"
. "NCS" "Lotus Notes 内容源"
. "NFO" "MSInfo 文档"
. "NICK" "Office 数据文件"
. "NK2" "Office 数据文件"
."NMW""Microsoft NetMeeting T 兼容白板文档"
. "NWS" "Outlook Express 新闻消息"
. "OBD" "OBD 文件"
. "OBT" "OBT 文件"
. "OBZ" "OBZ 文件"
. "OCX" "ActiveX 控件"
. "ODC" "Microsoft Office 数据连接"
. "ODCCUBEFILE" "ODCCUBEFILE 文件"
. "ODCDATABASEFILE" "ODCDATABASEFILE 文件"
. "ODCNEWFILE" "ODCNEWFILE 文件"
. "ODCTABLEFILE" "ODCTABLEFILE 文件"
. "OFT" "Outlook 项目模板"
. "OPC" "Microsoft 清理向导文件"
. "OPS" "Office 设置文件"
. "OQY" "Microsoft Excel OLAP 查询文件"
. "OSS" "Office 搜索"
. "OST" "Office 数据文件"
. "OTF" "OpenType 字体文件"
. "P" "证书申请"
. "P" "Personal Information Exchange"
. "P7B" "PKCS #7 证书"
. "P7C" "数字标识文件"
. "P7M" "PKCS #7 MIME 消息"
. "P7R" "PKCS #7 证书"
. "P7S" "PKCS #7 签名"
. "PAB" "Office 数据文件"
. "PBK" "拨号电话簿"
. "PCB" "PCB 文件"
. "PCD" "Photo CD 图像"
. "PCX" "PCX 图像"
. "PFM" "Type 1 字体文件"
. "PFX" "Personal Information Exchange"
. "PIP" "Microsoft Office 设置文件"
. "PKO" "公钥安全对象"
. "PMA" "性能监视器文件"
. "PMC" "性能监视器文件"
. "PML" "性能监视器文件"
. "PMR" "性能监视器文件"
. "PMW" "性能监视器文件"
. "PNG" "PNG 图像"
. "POT" "Microsoft PowerPoint 模板"
. "POTHTML" "Microsoft PowerPoint HTML 模板"
. "PPA" "Microsoft PowerPoint 加载项"
. "PPS" "Microsoft PowerPoint 幻灯片放映"
. "PPT" "Microsoft PowerPoint 演示文稿"
. "PPTHTML" "Microsoft PowerPoint HTML 文档"
. "PPTMHTML" "PPTMHTML 文件"
. "PRF" "msrating.dll,-"
. "PST" "Office 数据文件"
. "PSW" "Password Backup"
. "PWZ" "Microsoft PowerPoint 向导"
. "QDS" "目录查询"
. "RAT" "msrating.dll,-"
. "RDP" "远程桌面连接"
. "REG" "注册表项"
. "RMI" "MIDI 序列"
. "RNK" "拨号快捷方式"
. "RQY" "Microsoft Excel OLE DB 查询文件"
. "RTF" "RTF 格式"
. "RWZ" "Office 数据文件"
. "SC2" "Microsoft Schele+ 应用程序"
. "SCD" "Microsoft Schele+ 应用程序"
. "SCH" "Microsoft Schele+ 应用程序"
. "SCP" "文本文档"
. "SCT" "Windows Script Component"
. "SDB" "Appfix 软件包"
. "SHB" "将快捷方式插入到文档"
. "SHS" "片段对象"
. "SHTM" "HTML Document"
. "SHTML" "HTML Document"
. "SLK" "Microsoft Excel SLK 数据导入格式"
. "SLL" "SLL 文件"
. "SND" "AU 格式声音"
. "SNP" "Snapshot 文件"
. "SPC" "PKCS #7 证书"
. "SPL" "Shockwave Flash Object"
. "SST" "Microsoft 系列证书存储"
. "STF" "Microsoft 安装文件"
. "STL" "证书信任列表"
. "STM" "HTML Document"
. "SWF" "Shockwave Flash Object"
. "SYS" "系统文件"
. "TCS" "Tahoe Server 内容源"
. "THEME" "Windows 主题文件"
. "TIF" "TIF 图像"
. "TIFF" "TIF 图像"
. "TTC" "TrueType Collection 字体文件"
. "TTF" "TrueType 字体文件"
. "TXT" "文本文档"
. "UDL" "Microsoft 数据链接"
. "ULS" "Internet 定位服务"
. "URL" "Internet 快捷方式"
. "VBE" "VBScript Encoded Script File"
. "VBS" "VBScript Script File"
. "VCF" "vCard 文件"
. "VCS" "vCalendar 文件"
. "VXD" "虚拟设备驱动程序"
. "WAB" "数字标识文件"
. "WAV" "波形声音"
. "WAX" "Windows Media 音频快捷方式"
. "WBK" "Microsoft Word 备份文档"
. "WCS" "Web 站点内容源"
. "WEB" "Office 数据文件"
. "WEBPNP" "Webpnp"
. "WHT" "Microsoft NetMeeting 旧白板文档"
. "WIZ" "Microsoft Word 向导"
. "WIZHTML" "Microsoft Access HTML 模板"
. "WLL" "WLL 文件"
. "WM" "Windows Media 音频/视频文件"
. "WMA" "Windows Media 音频文件"
. "WMD" "Windows Media Player 下载软件包"
. "WMF" "WMF 图像"
. "WMP" "Windows Media Player 文件"
. "WMS" "Windows Media Player 外观文件"
. "WMV" "Windows Media 音频/视频文件"
. "WMX" "Windows Media 音频/视频快捷方式"
. "WMZ" "Windows Media Player 外观程序包"
. "WPS" "WPS 文件"
. "WRI" "写入文档"
. "WSC" "Windows Script Component"
. "WSF" "Windows Script File"
. "WSH" "Windows Script Host Settings File"
. "WTX" "文本文档"
. "WVX" "Windows Media 音频/视频快捷方式"
. "XLA" "Microsoft Excel 加载宏"
. "XLB" "Microsoft Excel 工作表"
. "XLC" "Microsoft Excel 图表"
. "XLD" "Microsoft Excel 5.0 对话框编辑表"
. "XLK" "Microsoft Excel 备份文件"
. "XLL" "Microsoft Excel XLL 加载宏"
. "XLM" "Microsoft Excel 4.0 宏"
. "XLS" "Microsoft Excel 工作表"
. "XLSHTML" "Microsoft Excel HTML 文档"
. "XLSMHTML" "XLSMHTML 文件"
. "XLT" "Microsoft Excel 模板"
. "XLTHTML" "Microsoft Excel HTML 模板"
. "XLV" "Microsoft Excel VBA 模块"
. "XLW" "Microsoft Excel 工作区"
. "XML" "XML 文档"
. "XNK" "Exchange 快捷方式"
. "XSL" "XSL 样式表"
. "ZAP" "软件安装设置"
. "ZIP" "压缩(zipped)文件夹"
代码是什么意思?
代码 含意
0 0x 作业完成。
1 0x 不正确的函数。
2 0x 系统找不到指定的档案。
3 0x 系统找不到指定的路径。
4 0x 系统无法开启档案。
5 0x 拒绝存取。
6 0x 无效的代码。
7 0x 储存体控制区块已毁。
8 0x 储存体空间不足,无法处理这个指令。
9 0x 储存体控制区块地址无效。
0xA 环境不正确。
0xB 尝试加载一个格式错误的程序。
0xC 存取码错误。
0xD 资料错误。
0xE 储存体空间不够,无法完成这项作业。
0xF 系统找不到指定的磁盘驱动器。
0x 无法移除目录。
0x 无法移除目录。
0x 系统无法将档案移到 其它的磁盘驱动器。
0x 没有任何档案。
0x 储存媒体为写保护状态。
0x 系统找不到指定的装置。
0x 装置尚未就绪。
0x 装置无法识别指令。
0x 资料错误 (cyclic redundancy check)
0x 程序发出一个长度错误的指令。
0x 磁盘驱动器在磁盘找不到 持定的扇区或磁道。
0xA 指定的磁盘或磁盘无法存取。
0xB 磁盘驱动器找不到要求的扇区。
0xC 打印机没有纸。
0xD 系统无法将资料写入指定的磁盘驱动器。
0xE 系统无法读取指定的装置。
0xF 连接到系统的某个装置没有作用。
0x The process cannot access the file because it is being
used by another process.
0x 档案的一部份被锁定, 现在无法存取。
0x 磁盘驱动器的磁盘不正确。 请将 %2 (Volume Serial
Number: %3) 插入磁盘机%1。
0x 开启的分享档案数量太多。
0x 到达档案结尾。
0x 磁盘已满。
0x 不支持这种网络要求。
0x 远程计算机无法使用。
0x 网络名称重复。
0x 网络路径找不到。
0x 网络忙碌中。
0x The specified network resource or device is no longer
available.
0x The network BIOS command limit has been reached.
0x 网络配接卡发生问题。
0xA 指定的服务器无法执行要求的作业。
0xB 网络发生意外错误。
0xC 远程配接卡不兼容。
0xD 打印机队列已满。
0xE 服务器的黑马指标源码设置空间无法储存等候打印的档案。
0xF 等候打印的档案已经删除。
0x 指定的网络名称无法使用。
0x 拒绝存取网络。
0x 拒绝存取网络。
0x 网络资源类型错误。
0x 网络名称找不到。
0x 超过区域计算机网络配接卡的名称限制。
0x 超过网络 BIOS 作业阶段的限制。
0x 远程服务器已经暂停或者正在起始中。
0x 由于联机数目已达上限,此时无法再联机到这台远程计算机。
0x 指定的打印机或磁盘装置已经暂停作用。
0x 档案已经存在。
0x 无法建立目录或档案。
0x INT 0x 处理这项要求的储存体无法使用。
0x 近端装置名称已经在使用中。
0x 指定的网络密码错误。
0x 参数错误。
0x 网络发生资料写入错误。
0x 此时系统无法执行其它行程。
0x 无法建立其它的系统 semaphore。
0x 属于其它行程专用的 semaphore.
0x semaphore 已经设定,而且无法关闭。
0x 无法指定 semaphore 。
0x 在岔断时间无法要求专用的 semaphore 。
0x 在岔断时间无法要求专用的 semaphore 。
0x 此 semaphore 先前的拥有权已经结束。
0xA 请将磁盘插入 %1。
0xB 因为代用的磁盘尚未插入,所以程序已经停止。
0xC 磁盘正在使用中或被锁定。
0xD Pipe 已经中止。
0xE 系统无法开启指定的 装置或档案。
0xF 档名太长。
0x 磁盘空间不足。
0x 没有可用的内部档案标识符。
0x 目标内部档案标识符不正确。
0x 由应用程序所执行的 IOCTL 呼叫 不正确。
0x 写入验证参数值不正确。
0x 系统不支持所要求的指令。
0x 此项功能仅在 Win 模式有效
0x semaphore 超过逾时期间。
0xA 传到系统呼叫的资料区域 太小。
0xB 文件名、目录名称或储存体卷标语法错误。
0xC 系统呼叫层次不正确。
0xD 磁盘没有设定卷标。
0xE 找不到指定的模块。
0xF 找不到指定的程序。
0x 没有子行程可供等待。
0x 没有子行程可供等待。
0x %1 这个应用程序无法在 Win 模式下执行。
0x Attempt to use a file handle to an open disk
partition for an operation other than raw disk I/O.
0x 尝试将档案指针移至档案开头之前。
0x 无法在指定的济南到德州源码装置或档案,设定档案指针。
0x JOIN 或 SUBST 指令 无法用于 内含事先结合过的磁盘驱动器。
0x 尝试在已经结合的磁盘驱动器,使用 JOIN 或 SUBST 指令。
0x 尝试在已经替换的磁盘驱动器,使 用 JOIN 或 SUBST 指令。
0x 系统尝试删除 未连结过的磁盘驱动器的连结关系。
0xA 系统尝试将磁盘驱动器结合到已经结合过之磁盘驱动器的目录。
0xB 系统尝试将磁盘驱动器替换成已经替换过之磁盘驱动器的目录。
0xC 系统尝试将磁盘驱动器替换成已经替换过之磁盘驱动器的目录。
0x 系统尝试将磁盘驱动器 SUBST 成已结合的磁盘驱动器 目录。
0xE 系统此刻无法执行 JOIN 或 SUBST。
0xF 系统无法将磁盘驱动器结合或替换同一磁盘驱动器下目录。
0x 这个目录不是根目录的子目录。
0x 目录仍有资料。
0x 指定的路径已经被替换过。
0x 资源不足,无法处理这项 指令。
0x 指定的路径这时候无法使用。
0x 指定的路径这时候无法使用。
0x 尝试要结合或替换的磁盘驱动器目录,是已经替换过的的目标。
0x CONFIG.SYS 文件未指定系统追踪信息,或是追踪功能被取消。
0x 指定的 semaphore事件 DosMuxSemWait 数目不正确。
0x DosMuxSemWait 没有执行;设定太多的 semaphore。
0x DosMuxSemWait 清单不正确。
0xA 您所输入的储存媒体标 元长度限制。
0xB 无法建立其它的执行绪。
0xC 接收行程拒绝接受信号。
0xD 区段已经被舍弃,无法被锁定。
0xE 区段已经解除锁定。
0xF 执行绪识别码的地址不正确。
0xA0 传到 DosExecPgm 的自变量字符串不正确。
0xA1 指定的路径不正确。
0xA2 信号等候处理。
0xA4 系统无法建立执行绪。
0xA7 无法锁定档案的部份范围。
0xAA 所要求的资源正在使用中。
0xAD 取消范围的锁定要求不明显。
0xAE 档案系统不支持自动变更锁定类型。
0xB4 系统发现不正确的区段号码。
0xB6 操作系统无法执行 %1。
0xB6 操作系统无法执行 %1。
0xB7 档案已存在,无法建立同一档案。
0xBA 传送的旗号错误。
0xBB 指定的系统旗号找不到。
0xBC 操作系统无法执行 %1。
0xBD 操作系统无法执行 %1。
0xBE 操作系统无法执行 %1
0xBF 无法在 Win 模式下执行 %1。
0xC0 操作系统无法执行 %1。开源码怎么开发
0xC1 %1 不是正确的 Win 应用程序。
0xC2 操作系统无法执行 %1。
0xC3 操作系统无法执行 %1。
0xC4 操作系统无法执行 这个应用程序。
0xC5 操作系统目前无法执行 这个应用程序。
0xC6 操作系统无法执行 %1。
0xC7 操作系统无法执行 这个应用程序。
0xC8 程序代码的区段不可以大于或等于 KB。
0xC9 操作系统无法执行 %1。
0xCA 操作系统无法执行 %1。
0xCB 系统找不到输入的环境选项。\r
0xCD 在指令子目录下,没有任何行程有信号副处理程序。
0xCE 文件名称或扩展名太长。
0xCF ring 2 堆栈使用中。
0xCF ring 2 堆栈使用中。
0xD0 输入的通用档名字元 * 或 ? 不正确, 或指定太多的通用档名字元。
0xD1 所传送的信号不正确。
0xD2 无法设定信号处理程序。
0xD4 区段被锁定,而且无法重新配置。
0xD6 附加到此程序或动态连结模块的动态连结模块太多。
0xD7 Can’t nest calls to LoadModule.
0xE6 The pipe state is invalid.
0xE7 所有的 pipe instances 都在忙碌中。
0xE8 The pipe is being closed.
0xE9 No process is on the other end of the pipe.
0xEA 有更多可用的资料。
0xF0 作业阶段被取消。
0xFE 指定的延伸属性名称无效。
0xFF 延伸的属性不一致。
0x 没有可用的资料。
0xA 无法使用 Copy API。
0xB 目录名称错误。
0x 延伸属性不适用于缓冲区。
0x 在外挂的档案系统上的延伸属性档案已经毁损。
0x 延伸属性表格文件满。
0x 指定的延伸属性代码无效。
0x 指定的延伸属性代码无效。
0xA 外挂的这个档案系统不支持延伸属性。
0x 意图释放不属于叫用者的 mutex。
0xA semaphore 传送次数过多。
0xB 只完成 Read/WriteProcessMemory 的部份要求。
0xD 系统找不到位于讯息文件 %2 中编号为 0x%1 的讯息。
0xE7 尝试存取无效的地址。
0x 运算结果超过 位。
0x 信道的另一端有一个行程在接送资料。
0x 等候行程来开启信道的另一端。
0xE2 存取延伸的属性被拒。
0xE3 由于执行绪结束或应用程序要求,而异常终止 I/O 作业。
0xE4 重叠的 I/O 事件不是设定成通知状态。
0xE5 正在处理重叠的 I/O 作业。
0xE6 对内存位置的无效存取。
0xE7 执行 inpage 作业发生错误。
0xE9 递归太深,堆栈满溢。
0xEA 窗口无法用来传送讯息。
0xEB 无法完成这项功能。
0xEC 旗号无效。
0xED 储存媒体未含任何可辨识的档案系统。 请确定以加载所需
的系统驱动程序,而且该储存媒体并未毁损。
0xEE 储存该档案的外部媒体发出警告,表示该已开启档案已经无效。
0xEF 所要求的作业无法在全屏幕模式下执行。
0xF0 An attempt was made to reference a token that does
not exist.
0xF1 组态系统登录数据库毁损。
0xF2 组态系统登录机码无效。
0xF3 无法开启组态系统登录机码。
0xF4 无法读取组态系统登录机码。
0xF5 无法写入组态系统登录机码。
0xF6 系统登录数据库中的一个档案必须使用记录或其它备份还
原。 已经还原成功。
0xF7 系统登录毁损。其中某个档案毁损、或者该档案的 系统映
对内存内容毁损、会是档案无法复原。
0xF8 系统登录起始的 I/O 作业发生无法复原的错误。 系统登录
无法读入、写出或更新,其中的一个档案 内含系统登录在内存中的内容。
0xF9 系统尝试将档案加载系统登录或将档案还原到系统登录中,
但是,指定档案的格式不是系统登录文件的格式。
0xFA 尝试在标示为删除的系统登录机码,执行不合法的操作。
0xFA 尝试在标示为删除的系统登录机码,执行不合法的操作。
0xFB 系统无法配置系统登录记录所需的空间。
0xFC 无法在已经有子机码或数值的系统登录机码建立符号连结。
0xFD 无法在临时机码下建立永久的子机码。
0xFE 变更要求的通知完成,但信息 并未透过呼叫者的缓冲区传
回。呼叫者现在需要自行列举档案,找出变更的地方。
0xB 停止控制已经传送给其它服务 所依峙的一个服务。
0xC 要求的控制对此服务无效
0xF8 系统登录起始的 I/O 作业发生无法复原的错误。 系统登录
无法读入、写出或更新,其中的一个档案 内含系统登录在内存中的内容。
0xF9 系统尝试将档案加载系统登录或将档案还原到系统登录中,
但是,指定档案的格式不是系统登录文件的格式。
0xFA 尝试在标示为删除的系统登录机码,执行不合法的操作。
0xFA 尝试在标示为删除的系统登录机码,执行不合法的操作。
0xFB 系统无法配置系统登录记录所需的空间。
0xFC 无法在已经有子机码或数值的系统登录机码建立符号连结。
0xFD 无法在临时机码下建立永久的子机码。
0xFE 变更要求的通知完成,但信息 并未透过呼叫者的缓冲区传
回。呼叫者现在需要自行列举档案,找出变更的地方。
0xB 停止控制已经传送给其它服务 所依峙的一个服务。
0xC 要求的控制对此服务无效
0xC 要求的控制对此服务无效
0xD The service did not respond to the start or control
request in a timely fashion. 0xE 无法建立服务的执行绪。
0xF 服务数据库被锁定。
0x 这种服务已经在执行。
0x 帐户名称错误或者不存在。
0x 指定的服务暂停作用,无法激活。
0x 指定循环服务从属关系。
0x 指定的服务不是安装进来的服务。
0x 该服务项目此时无法接收控制讯息。
0x 服务尚未激活。
0x 无法联机到服务控制程序。
0x 处理控制要求时,发生意外状况。
0x 指定的数据库不存在。
0xA 服务传回专属于服务的错误码。
0xB The process terminated unexpectedly.
0xC 从属服务或群组无法激活。
0xD 因为登入失败,所以没有激活服务。
0xE 在激活之后,服务在激活状态时当机。
0xF 指定服务数据库锁定无效。
0x 指定的服务已经标示为删除。
0x 指定的服务已经存在。
0x 系统目前正以上一次执行成功的组态执行。
0x 从属服务不存在,或已经标示为删除。
0x 目前的激活已经接受上一次执行成功的 控制设定。
0x 上一次激活之后,就没有再激活服务。
0x 指定的名称已经用于服务名称或服务显示 名称。
0xC 已经到了磁带的最后。
0xD 到了档案标示。
0xE 遇到磁带的开头或分割区。
0xC 已经到了磁带的最后。
0xD 到了档案标示。
0xE 遇到磁带的开头或分割区。
0xF 到了档案组的结尾。
0x 磁带没有任何资料。
0x 磁带无法制作分割区。
0x 存取多重容体的新磁带时,发现目前 区块大小错误。
0x 加载磁带时,找不到磁带分割区信息。
0x 无法锁住储存媒体退带功能。
0x 无法锁住储存媒体退带功能。
0x 无法解除加载储存媒体。
0x 磁盘驱动器中的储存媒体已经变更。
0x 已经重设 I/O 总线。
0x 磁盘驱动器没有任何储存媒体。
0x 目标 multi-byte code page,没有对应 Unicode 字符。
0xA 动态链接库 (DLL) 起始例程失败。
0xB 系统正在关机。
0xC 无法中止系统关机,因为没有关机的动作在进行中。
0xD 因为 I/O 装置发生错误,所以无法执行要求。
0xE 序列装置起始失败,会取消加载序列驱动程序。
0xF 无法开启装置。这个装置与其它装置共享岔断要求 (IRQ)。
至少已经有一个使用同一IRQ 的其它装置已经开启。
0x A serial I/O operation was completed by another
write to the serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.)
0x 因为已经过了逾时时间,所以序列 I/O 作业完成。
(IOCTL_SERIAL_XOFF_COUNTER 不是零。)
0x 在磁盘找不到任何的 ID 地址标示。
0x 磁盘扇区 ID 字段与磁盘控制卡追踪地址 不符。
0x 软式磁盘驱动器控制卡回报了一个软式磁盘驱动器驱动程序无法识别的错误。
0x 软式磁盘驱动器控制卡传回与缓存器中不一致的结果。
0x 存取硬盘失败,重试后也无法作业。
0x 存取硬盘失败,重试后也无法作业。
0x 存取硬盘时,必须重设磁盘控制卡,但是 连重设的动作也失败。
0x 到了磁带的最后。
0xA 可用服务器储存空间不足,无法处理这项指令。
0xB 发现潜在的死锁条件。
0xC 指定的基本地址或档案位移没有适当 对齐。
0x 尝试变更系统电源状态,但其它的应用程序或驱动程序拒绝。
0x 系统 BIOS 无法变更系统电源状态。
0xE 指定的程序需要新的 Windows 版本。
0xF 指定的程序不是 Windows 或 MS-DOS 程序。
0x 指定的程序已经激活,无法再激活一次。
0x 指定的程序是为旧版的 Windows 所写的。
0x 执行此应用程序所需的链接库档案之一毁损。
0x 没有应用程序与此项作业的指定档案建立关联。
0x 传送指令到应用程序发生错误。
0x 找不到执行此应用程序所需的链接库档案。
0xB0 指定的装置名称无效。
0xB1 装置现在虽然未联机,但是它是一个记忆联机。
0xB2 尝试记忆已经记住的装置。
0xB3 提供的网络路径找不到任何网络提供程序。
0xB3 提供的网络路径找不到任何网络提供程序。
0xB4 指定的网络提供程序名称错误。
0xB5 无法开启网络联机设定文件。
0xB6 网络联机设定文件坏掉。
0xB7 无法列举非容器。
0xB8 发生延伸的错误。
0xB9 指定的群组名称错误。
0xBA 指定的计算机名称错误。
0xBB 指定的事件名称错误。
0xBC 指定的网络名称错误。
0xBD 指定的服务名称错误。
0xBE 指定的网络名称错误。
0xBF 指定的资源共享名称错误。
0xC0 指定的密码错误。
0xC1 指定的讯息名称错误。
0xC2 指定的讯息目的地错误。
0xC3 所提供的条件与现有的条件组发生冲突。
0xC4 尝试与网络服务器联机,但是 与该服务器的联机已经太多。
0xC5 其它网络计算机已经在使用这个工作群组或网域名称。
rhce课ç¨
1. linuxçº¢å¸½è®¤è¯ éè¦ä»ä¹ææ,å»åªèè¯.
linux红帽认è¯ä¸è¬å½å°çå¹è®æºæå°±å¯ä»¥æ¥åèè¯çã
éè¦turbolinuxç¨æ·åºç¡ï¼turbolinuxç³»ç»ç®¡çåturbolinuxç½ç»ç®¡çè¿ä¸å¼ è¯ä¹¦ï¼åæ¶ä¹å°±éè¦è¿ä¸æ¬ææï¼çè¿ä¸å¼ è¯ä¹¦é½è¿äºä»¥åå°±ä¼åä¸å¼ ï¼turbolinux认è¯å·¥ç¨å¸ï¼è¯ä¹¦ã
红帽RHCE认è¯èè¯æ¯æ以æ éæé¤åç³»ç»ç»´æ¤ä»¥åå®è£ åé ç½®çå®é æä½è½å为åºç¡ç红帽认è¯èè¯ï¼ä¸»è¦èå¯èçå¨ç°åºç³»ç»ä¸çå®é è½åã
è¦è·å¾RHCE认è¯ï¼èçåªæå éè¿äºRHCSAï¼æè½èåRHCEã
è¦åå RHCAèè¯ï¼èçå¿ é¡»å·²ç»è·å¾RedHat认è¯å·¥ç¨å¸ï¼RHCEï¼è¯ä¹¦ã
(1)rhce课ç¨æ©å±é 读ï¼
红帽ä¼ä¸æ¶æå¸è¯¾ç¨ä¸»è¦é¢åé£äºè´è´£é¨ç½²å管ç大åä¼ä¸ç¯å¢ä¸ä¼å¤ç³»ç»çé«çº§Linuxç³»ç»ç®¡çåæä¾æ·±å ¥çå®é æä½å¹è®ã
红帽认è¯æ¶æå¸æ¯çº¢å¸½å ¬å¸ç»§çº¢å¸½è®¤è¯æå¸å红帽认è¯å·¥ç¨å¸ï¼è®¤è¯ä¹åæ¨åºçææ°é¡¶çº§è®¤è¯ï¼ä¹æ¯Linuxé¢åå ¬è®¤çæå欢è¿çãææçç认è¯ã
RHå¹è®æ¨å¨æé«å¨é¨ç½²å管ç红帽系ç»æ¹é¢çæè½æ°´å¹³åç«äºåï¼ä»¥æ»¡è¶³ä¼ä¸å¨å¯é æ§ï¼å¯ç¨æ§ï¼å¯æ©å±æ§åå¯ç®¡çæ§ï¼RASMï¼æ¹é¢çæ åã
RHå¹è®é¢åRHCEæ°´å¹³çä¸ä¸äººå£«ï¼ç®æ æ¯æé«åºäºçº¢å¸½ä¼ä¸Linuxç³»ç»çé¨ç½²å管çç®å½æå¡çæè½æ°´å¹³åç«äºåã课ç¨çæ ¸å¿å´ç»ç解ï¼é ç½®å管çåºäºLDAPçæå¡ã
2. rhceè¦èå é¨è¯¾ç¨ä¸å ±éè¦å¤å°é±
èè¯å æ¬ä¸ååä¸åï¼ä¸åèï¼ä¸ªé¢é½æ¯å¨æçï¼æå®8个就å¯ä»¥äº 2.5h
ä¸åæ¯ä¸ä¸ªç³»ç»å®è£ çè¦æ±ï¼è¦æ±å®æç³»ç»çå®è£ åé¨åæå¡çé ç½® 3.0h
æ åè´¹ç¨
3. RHCAæ¯ä»ä¹
åè¡¥å ç¹ï¼å¦æä½ è¦èè¿rhcaï¼å°±å¾å èè¿RHCEï¼ç¶åæè½èRHCAï¼èä¸ä½ å¾èè¿ä»¥ä¸äºé¨è¯¾ç¨ï¼æè½å¤è·å¾RHCAè¯ä¹¦
RHS Red Hatä¼ä¸çº§ç½ç»æå¡å®å ¨ç®¡ç
RH Red Hatä¼ä¸çº§ç³»ç»ç®¡çåé¨ç½²
RH Red Hatä¼ä¸çº§ç®å½æå¡å身份认è¯
RH Red Hatä¼ä¸çº§åå¨ç®¡ç
RH Red Hatä¼ä¸çº§ç³»ç»ä¼ååè°æ´
4. å¦ä¹ rhceåå¦ä¹ ocpæèç³»å æç°å¨ç课ç¨æ¯ccna+ocp+rhce æç®åä¸æ³èè¯
ccna - cisco 认è¯ä½ç³» ï¼æç§è®¾å¤ï¼è·¯ç±ï¼äº¤æ¢ï¼
ocp - oracle 认è¯ä½ç³» (æ°æ®åºï¼
rhce - red hat linux 认è¯ä½ç³» ï¼æä½ç³»ç»)
è½ç¶é½å±äºITèç´ä¸ï¼ä½æ¯ä¸ä¸ªè¯¾ç¨ä¹å±é´çå å¨èç³»ä¸æ¯å¾å¤ï¼å ä¹æ²¡æã
5. æ人ä¸è¿ä¸æ¹çéçRHCE课ç¨å¹è®å
ä¸ç¥éï¼æè¿ä¹æ³åå è¿ä¸ªå¹è®å¢ï¼æå»ä¸è½¯ççäºçï¼è¯´æ¯ä¸ä¸ªäººå¯ä»¥ææï¼è¿æå°±æ¯ä¸ç¥éæå¹´éä¸éä»·ãå¯ä»¥çè¯æ们èç³»ä¸ä¸oneword@
6. 请é®å¦å®ä¸å¥å å«äºçº¢å¸½RHCEï¼æç§CCNPï¼oracle OCPå微软MCITPç课ç¨ä¹åï¼æ¯ä¸å¥½æ¾å·¥ä½åå¾ä»ä¹æ¹å
å¾çæ°ï¼ä¸ç¥é楼主è½ä¸è½åæä¸æ¥
åªæ¯CCNPå¦è´¹å èè¯å°±å Käºï¼è¦æ²å¥½ä¹ çå½ä»¤äº
ä¸è¿åengineerè¿æ¯è¦å®è·µç»éªçï¼çä¸ç¶èåºæ¥ä¹æ¯paperãä¸è¿æ¯æ²¡æè¯ä¹¦è¿æ¯å¼ºä¸å°
èå·4å¹´å·¦å³CCIEä¸è¬8K-2W
7. rhceæ¯ä»ä¹
RHCE认è¯ç®å½ï¼
æ¦è¿°
RHCE课ç¨è®¾ç½®
RHCE认è¯èè¯å 容åæµç¨
RHCE认è¯èè¯è´¹ç¨
RHCEè¯ä¹¦ä»·å¼åéåå°±ä¸é¢å
è¡ä¸å ç人æéæ±ä¸ç°ç¶
æ¦è¿°
1ã RHCE认è¯ï¼RHCEæ¯Red Hat Certified Engineerçç®ç§°ï¼å³çº¢å¸½è®¤è¯å·¥ç¨å¸ãï¼RHCEï¼è®¤è¯å±ç¤ºäºé«çº§ç³»ç»ç®¡çååºææ¡çæè½ãä¸å红帽认è¯å·¥ç¨å¸é¤äºè¦ææ¡çº¢å¸½è®¤è¯æå¸å ·å¤ç æææè½ï¼è¿åºå ·æé ç½®ç½ç»æå¡åå®å ¨çè½åï¼ä»/她åºè¯¥å¯ä»¥å³å®å ¬å¸ç½ç»ä¸åºè¯¥é¨ç½²åªç§æå¡ä»¥å å ·ä½çé¨ç½²æ¹å¼ã
2ã RHCE认è¯å æ¬DNSãNFSãSambaãSendmailãPostfixãApacheåå ³é®å®å ¨åè½ç详ç»å 容ãå§äºå¹´3æã红帽认è¯å·¥ç¨å¸ï¼RHCEï¼å红帽认è¯æå¸ï¼RHCTï¼æ¯ä»¥å®é æä½è½å为åºç¡çæµè¯é¡¹ç®ï¼ä¸»è¦èå¯èçå¨ç°åºç³»ç»ä¸çå®é è½åã
红帽ä¼ä¸ç®ä»
红帽æ¯å ¨çé¢å çå¼æ¾æºç ä¾åºåï¼çº¢å¸½ä¼ä¸Linux产åå å ¨çLinuxå¸åºï¼ 以ä¸çå¸åºä»½é¢ã红帽æ´ç解å¼æ¾æºç ï¼äºè§£å¦ä½æé«ç³»ç»çæ§è½ãå¯é æ§ï¼æå¾å¦ä½éè¿ææ¯åæ°æ§å¶åè约ææ¬ã
红帽软件(å京)å ¬å¸äºå¹´æ设ç«ãä½ä¸ºçº¢å¸½å ¬å¸çå ¨èµåå ¬å¸ï¼çº¢å¸½è½¯ä»¶ï¼å京ï¼å ¬å¸å°ä¸ºä¸å½ç¨æ·æä¾æ´å å¿«æ·åä¼ç§çæ¬å°ææ¯æ¯æã
çº¢å¸½å ¬å¸æ¯å¼æºé¢åçé¢å¯¼è ï¼æ¯æ为纯粹%产åå¼æºå ¬å¸ï¼å¨å¼æºç¤¾åºï¼çº¢å¸½çå·¥ç¨å¸åææ¯äººåå¨ä»£ç æ交åå ¶ä»æ¹é¢å¯¹ç¤¾åºçè´¡ç®æ大ãä½ä¸ºæä¼ç§çå¼æ¾æºç ç³»ç»æä¾åï¼çº¢å¸½å¨å¼æ¾æºç 社åºçå个æ¹é¢ä½åºäºé大çè´¡ç®ï¼å¦Linuxï¼GNUåApache Webæå¡å¨çã许å¤Red Hatçåå·¥æ¬èº«å°±æ¯æ°åºçå¼æ¾æºç å¼å人ååå¼æºç¤¾åºçä¼åã
红帽ä¸å½å°è´åäºæ¨å¨ä¸å½ä¼ä¸ä¿¡æ¯å建设åä¸å½Linuxè¡ä¸çåå±ï¼ä¸ºä¸å½ç¨æ·æä¾æ´å¥½ç产ååæå¡ãæ®IDCé¢è®¡ï¼å¨å¹´åå¸çæææå¡å¨ä¸ï¼åºäºLinuxçå°ä¼å %ï¼å ±è®¡äº¿ç¾å ï¼èä¸å½Linuxå¸åºå¹´å°å¹´çå¹´å¹³åå¢é¿çå°ä¸º.9%ï¼å ¶ä¸Red Hat å¸åºä»½é¢ä¸º.7% ,并ä¿æå¢é¿æå¿ã
å¨çº¢å¸½å ¬å¸å¹´6æ份å®æ对å¼æºä¸é´ä»¶çé¢å¯¼åå JBossçæ¶è´åï¼JBosså·²ç»æä¸ºçº¢å¸½å ¬å¸éé级çåºç¨æå¡å¨äº§åï¼ä»æ¤å¼æºç³»ç»æ¶æå·²ç»è½å¤æ¯ææ´ä¸ªITç³»ç»ãJBossæ¯ä¸ä¸ªåæ¶è¿è¡WebåEJBçJ2EEåºç¨æå¡å¨ãå®æ¯å¼æ¾æºä»£ç ç项ç®ï¼éµå¾ªææ°çJ2EEè§èï¼æ 论æ¯å¦ä¹ è¿æ¯åºç¨ï¼JBoss为æ们æä¾äºä¸ä¸ªé常ä¼ç§çå¹³å°ã
红帽ç客æ·å æ¬ä¼ä¸ãå¦æ¯ç 究ãç§ç æºæå *** é¨é¨ãå ¨çç¨æ·å æ¬ï¼Amazon, AOLï¼ç¾å½å¨çº¿ï¼, Merrill Lynchï¼ç¾æï¼, Credit Suisse First Bostonï¼ç士信贷第ä¸æ³¢å£«é¡¿ï¼, DreamWorksï¼æ¢¦å·¥åï¼, Lithonia Lighting, VeriSignï¼å¨çä¿¡ï¼, Charles Schwabï¼åä¿¡çè´¢ï¼, Lehman Brothersï¼é·æ¼å å¼ï¼, UBS Warburgï¼çé¶åå®ï¼, Man Stanleyï¼æ©æ ¹æ¯ä¸¹å©ï¼, Goodyearï¼åºç¹å¼ï¼çï¼ä¸å½ä¸»è¦å®¢æ·å æ¬ä¸å½å»ºè®¾é¶è¡ï¼å¹³å®ä¿é©ï¼ä¸å½çµä¿¡ï¼ä¸ç³æ²¹ï¼å®é¢ï¼æé¦è®°ï¼ä¸å½æ°è±¡å±ï¼èæç½çåè¡ä¸ï¼ä¸»è¦åä½ä¼ä¼´å æ¬IBM, Dell, HP, Oracle, Sun, Fujitsu, Intel, NEC, Hitachi, BEAçã
å°ç®å为æ¢ï¼çº¢å¸½å¾å°è¶ è¿å®¶ç¡¬ä»¶è®¤è¯å家软件ä¼ä¸åºç¨è®¤è¯ï¼æ¯æåç§ä¸»æµç¡¬ä»¶ï¼ä»¥ååºç¨è½¯ä»¶ãä½ä¸ºå ¨ä¸çæ大çå¼æºäº§ååæå¡ä¾åºåï¼çº¢å¸½å ¬å¸è´åäºåå±åå ¨ä¸çåå½çæè²å¹è®æºæçé¿è¿åä½å ³ç³»ã
RED HATæ¯å ¨çæ大çå¼æºææ¯å家ï¼å ¶äº§åRED HAT LINUXä¹æ¯å ¨ä¸çåºç¨æ广æ³çLINUXãRED HATå ¬å¸æ»é¨ä½äºç¾å½åå å©ç¦å°¼äºãå¨å ¨çæ¥æ个åé¨ã对äºRED HATæ¥è¯´ï¼å¼æ¾æºä»£ç å·²ç»ä¸åªæ¯ä¸ä¸ªè½¯ä»¶æ¨¡åï¼è¿æ£æ¯RED HATçåä¸æ¨¡å¼ãå 为RED HATåä¿¡åªæåä½ï¼ä¼ä¸æè½åé åºéå¡è´¨éåä»·å¼ç产åã
è¿ä»ä¸ºæ¢ï¼RED HATå·²ç»ä¸ºå ¨çä¸å°æå¡å¨æä¾ä¸å¥è½¯ä»¶ï¼æä¸ºå ¨çä¼ä¸æéè¦çLINUXåå¼æºææ¯æä¾åï¼æ¤å¤ï¼
* RED HATæ¯ç®åå ¨çæå èªè´çäºçLINUXä¼ä¸ï¼NASDAQä¸å¸å ¬å¸ï¼é¶è¡ç°éé«è¾¾äº¿ç¾å ï¼
* RED HATæ¯å¯ä¸è·å¾å ¨ç顶å°ISVï¼ç¬ç«è½¯ä»¶æä¾åï¼å¹¿æ³æ¯æçLINUXååï¼
* æ¯COMPAQ, DELL, IBM, INTELçä¸æµçITä¼ä¸çåä½ä¼ä¼´ï¼
* RED HATæ¥æï¼ çLINUXæä½ç³»ç»å¸åºä»½é¢ï¼
å¨RED HATçåå·¥ç¨å¸ä¸ï¼æ6åæ¥èªäºå ¨ä¸çæ顶å°çåLINUXæ ¸å¿å¼åè ï¼7åæ¥èªå ¨çæåºè²åLINUXå¼åå·¥å ·å·¥ç¨å¸ãå ¨ä¸çï¼ä¹è®¸åªæRED HATè½å¤æLINUXåå¼æºææ¯ä»¥åä¼ä¸çº§çå¹è®ãææ¯æ¯æåå¨è¯¢èåå¾å¦æ¤ç¾å¦ãRED HATçå¹è®å认è¯è¢«è®¤ä¸ºæ¯LINUX认è¯çæ åã
课ç¨è®¾ç½®
é¦å æ¥è®¤è¯ä¸ä¸REDHAT LINUXç课ç¨è®¾ç½®ããå½é IT认è¯ä¸çä¸å¹é»é©¬---RHCE.DOCãä¸è¯´è¿ï¼RED HATå®æ¹å°RHCEèè¯å为两个级å«ï¼ä¸å®¶çº§åæ å级ãå ¶ä¸æ å级æ¯é对大å¤æ°æ²¡æUNIX/LINUXç³»ç»ç®¡çç»éªçèç设置çï¼ä¸»è¦æä¸é¨è¯¾ç¨ï¼RHï¼RED HAT LINUXå ¥é¨ç¥è¯ï¼é对MCSEãMCPãCNEç没æUNIX/LINUX使ç¨ç»éªçèçå¼è®¾ï¼RHï¼RED HAT管çåå ¥é¨ï¼é对æåºæ¬å½ä»¤è¡ä½¿ç¨ç»éªçèçå¼è®¾ï¼RHï¼RED HATç½ç»ç®¡çä¸å®å ¨ç®¡çå ¥é¨ï¼é对é£äºéè¿äºRHèè¯ãè¿æ³ç»§ç»ææ¡å ³é®çç½ç»æå¡è®¾ç½®åå®å ¨æ§å¶çèç设置ã
ä¸. RH RED HAT LINUX åºç¡è¯¾ç¨
课ç¨æè¿°:
éç¨äºLINUXçæ°ä½¿ç¨è ï¼ä»ä»¬å¸æäºè§£å¹¶ææ¡åºæ¬ç¥è¯ï¼ä»¥é¡ºå©ä½¿ç¨ä»ä»¬èªå·±çRED HAT LINUXç³»ç»ãå®ææ¤è¯¾ç¨åï¼RED HAT LINUX使ç¨è å¯é«æçå°ä½¿ç¨åèªè®¢RED HATç³»ç»ï¼å¹¶æ§è¡å¸¸è§çæ令è¡å¤çä¸åç§æ¡é¢å·¥ä½ã
éåºåå 人群ï¼
没æå¨LINUXæUNIXçæ令è¡ç»éªèæ³æå为使ç¨åå®åä»ä»¬èªå·±çRED HAT LINUXå·¥ä½ç«æè½ç人ã
äºï¼RH RED HAT LINUX ç³»ç»ç®¡ç
课ç¨æè¿°:
为LINUXæUNIXçç¨æ·æ³å¼å§å¼åRED HAT LINUXä¸çç³»ç»ç®¡çï¼å°è¾¾å¯ä»¥é ç½®ç°æç½ç»çæ°´å¹³ãåè§ä»¥ä¸ç»èã
课ç¨ç®æ :
è½æ§è¡æ åçç³»ç»ç®¡çä»»å¡, 为ä¸ä¸ªç°æç½ç»å®è£ ãé ç½®ä¸å°æ°çæRED HAT LINUX å·¥ä½ç«çæä½åã
éåºçåå 人群ï¼
å¨å¼å§æ为系ç»ç®¡çåä¹åï¼äºè§£RED HAT LINUX åºæ¬ç¥è¯å¹¶æ¸´ææ¯è¾è¿ä¸æ¥çææ¯è®ç»çLINUX OR UNIX ç¨æ·ã
é¢å¤ç¥è¯ï¼å¦ä¹ æ¬è¯¾ç¨ï¼æ¨å¿ é¡»å ·å¤ä»¥ä¸è½å
RH RED HAT LINUXè¦ç¹æRED HAT LINUXççæç»éªã
ä¸ï¼RH RED HAT LINUX ç½ç»åå®å ¨ç®¡ç
课ç¨æè¿°
为LINUXæUNIXçç¨æ·æ³å¼å§å¼åRED HAT LINUXä¸çç½ç»ç®¡çï¼å°è¾¾å¯ä»¥é ç½®ç°æç½ç»åå®å ¨ç®¡ççRED HAT LINUXæ°´å¹³ãåè§ä»¥ä¸ç»èã
课ç¨ç®æ :
é£äºæ³è®¾ç½®RED HAT LINUXæå¡å¨åé ç½®å设å®ä¸è¬ç½ç»æå¡å®å ¨çç³»ç»ç®¡çåã
éåºçåå 人群ï¼
éåæå®é å·¥ä½ç»éªçLINUX æUNIXç³»ç»ç®¡çåæå ´è¶£å°è¯å¨RED HAT LINUXç¯å¢ä¸è®¾å®ç³»ç»ç®¡çãç½ç»æå¡åç½ç»å®å ¨çã
é¢å¤ç¥è¯ï¼å¦ä¹ æ¬è¯¾ç¨ï¼æ¨å¿ é¡»å ·å¤ä»¥ä¸è½å
RH RED HAT LINUX ç³»ç»ç®¡ç æRED HAT LINUXçæç»éªï¼LAN/WANåºæ¬åçæçå¼ï¼ç¨TCP/IPæ¥äºèå·¥ä½æçå¼ã
èè¯å 容åæµç¨
å¨å家å½é æ§çææ¯è®¤è¯å¶åº¦å½ä¸ï¼ç± RED HAT å ¬å¸ææ¨åºçRHCE ( RED HAT CERTIFIED ENGINEER ) 认è¯å ¶æ大ä¹ä¸åç¹åå ¶ä»·å¼ï¼å³å¨äºå¼ºè°åæµèçäºåæµæ¶å®é å¨æç PERFORMANCE-BASE æµéªæ¹å¼ï¼å®å ¨æ ¹æ® RED HAT LINUX å¹³å°ä¸çæ£å¿ è¦çåç§ç½ç»æå¡è¿è¡å®è£ ãç»æãé¤éã以å设å®åç§ç½ç»ç¯å¢ï¼å®å¡æä½è½åæµéªã
åå RHCEèè¯æ´ä¸ªèè¯è¿ç¨å¤§çº¦å å°æ¶ï¼å½ä¸çº¦æä¸ä¸ªå°æ¶ç¨æ¥ä½çææ¯æ§å¤ééæ©é¢ï¼å ¶ä½åæ¯åéå¨ç±èçèªå·±å¨æåä¹å®åæµéªãæ¯ä¸åå èè¯ç为éå·è¿è¡ï¼åæ¶ä¸¥ç¦èçåç¬è®°æåé¢ç®åçæ¡ãèé¢ç为å®åµæ¼åºï¼èçå¿ é¡»æå¾è§åãå¤æ并æåºè§£å³æ¹æ¡æè½éè¿æµéªã
RHCE认è¯èè¯æ6å°æ¶é¿ï¼è¦ç¨å»åºè¯äººåä¸å¤©çæ¶é´ãèè¯å3个é¨åï¼å ¶ä¸å æ¬ï¼
·1ãæ¶å2å°4个é®é¢çè°è¯æµéªï¼Debug Examï¼ï¼è¯¥èè¯æ¶é¿2.5å°æ¶ï¼æ»¡åï¼ï¼ç®çæ¯æ£éªåºè¯è ç综åææ¯è½åã
·2ãå¤éé¢æµéªï¼æ»å ±æå°éææ¯é®é¢ï¼æ¶é¿1个å°æ¶ï¼æ»¡åï¼ã
·3ãæå¡å¨å®è£ åç½ç»æå¡è®¾ç½®æµéªï¼ä¹æ¯ç»¼åçææ¯è½åèè¯ï¼æ¶é¿2.5个å°æ¶ï¼æ»¡åï¼ã
为äºéè¿èè¯ï¼åºè¯äººåå¿ é¡»å¨å ¨é¨ä¸é¨åèè¯ä¸å¹³åå¾å°åï¼èä¸å ¶ä¸ä»»ä½ä¸é¨åçå¾åé½ä¸è½ä½äºåã该项èè¯åªå¨Red Hat认è¯å¹è®ä¸å¿ä¸¾åï¼å¹´ä»·æ ¼æ¯ç¾å ãå ¨ç¾åå æ¿å¤§å·²ç»è®¾ç«äºä¸ªæ¤ç±»å¹è®ä¸å¿ãå¨ä¸å½ï¼å京ãä¸æµ·ã广å·ãæé½çå°ä¹å·²æå®æ¹ææå¹è®ä¸å¿å»ºç«ã
èè¯è´¹ç¨ï¼å¹´ææ°ä»·æ ¼ï¼ï¼å¹è®+èè¯è´¹ç¨ï¼å ï¼å æ¬ååææåèè¯è´¹ç¨ï¼
RHCEè¯ä¹¦çä»·å¼åå°±ä¸é¢å
RHCE认è¯å¨linuxè¡ä¸éå±äºå«ééè¾é«çä¸ä¸ªè®¤è¯ï¼éåºçå°±ä¸é¢åä¹è¾å¤ï¼å¦ï¼äºèç½æ¶æå¸ãå®å ¨æ¶æå¸ãè¿ç»´æ¶æå¸ãç³»ç»éææ¶æå¸ãç³»ç»å·¥ç¨å¸ãå®åå·¥ç¨å¸çã
èä¸ç¹å¾åæï¼
Linuxå¹³å°ç管çæè å¼å人åææ¾æ¯Windowså¹³å°å°å¾å¤ï¼ä½æ¯æ 论æ¯å½å ï¼è¿æ¯å½é ä¸å¯¹Linuxææ¯äººæçéæ±å´è¶ ä¹äººä»¬çæ³åãä¸æ¹é¢æ¯å 为å½åITè¡ä¸çå»åæçäºèç½åæ°æ®ä¸å¿åå±ï¼ä¼ä¸å¯»æ±å¨Linuxå¹³å°ä¸æçæ´ä¸ªä¼ä¸ä¿¡æ¯ååºç¡ï¼æ¯å¦Googleä» å¹´å°±å·²ç»æ¥æä¸å°Linuxæå¡å¨ï¼çè³å¾®è½¯è¿æ ·ç巨人é½è¦è°æ±æ¶è´yahooæ¥ç»´ææ°äºèç½æ¶ä»£çä¼å¿ï¼è¿ä¸¤å¹´çå ¨çLinuxworld大ä¼ï¼å¾®è½¯æ´æ¯æ¯«ä¸é¿è®³çåºç°å¨ä¼åºï¼å¯è§Linux对è¡ä¸å¸¦æ¥çæ¯å¨ã
å¦ä¸æ¹é¢å 为Linuxå¹³å°å¤ªä¸å®ä¸æï¼ä¸ç»åå¾é¿æ¶é´ç磨ç»æ没æä¸ä¸äººå£«æ导ï¼è¿æ¥å¾æ ¢ãæææ¯ä¾æ¯Windowså¹³å°äººæä½å¾å¤ï¼å°¤å ¶æ¯ææ¡é«çº§æè½ç人æï¼è½å¤æä¾è¡ä¸è§£å³æ¹æ¡çæ¶æå¸ãæ´æ¯å°ä¹åå°ãç®åå¾å¤æè°Linux人æå¤æ°å¯¹Linuxä¸å¸¸è§çä¸äºæå¡æµ å°å³æ¢ï¼æ ¹æ¬è¿æ³å©ç¨å¤§éçå¼æºè½¯ä»¶èµæºï¼æ´æ²¡æåå°è¿æ´ä¸ªå¼æºäº§ä¸é¾ä¸åç§ææ¯çé¤ç¼ãå¾å¤äºèç½å ¬å¸å 为人åç´ è´¨é®é¢ï¼å¯¹äºLinuxåå¼æºçåºç¨ä»æ¯è½åçãèä¸åæ¶å¯¹UNIX/Linuxç³»ç»ãOracleæ°æ®åºé½çæçææ¯äººææ´å å°ã
è¡ä¸å ç人æéæ±ä¸ç°ç¶
æå½ Linux æ£åå±å°ä¸ä¸ªå ³é®æ¶æï¼ç¶é¢æåºä¹è¶æ¥è¶ææ¾ãæ们尴尬å°åç°ï¼Linux ä¸ä¸äººæï¼å°¤å ¶æ¯æ¬å°åçä¸ä¸äººæè¿è¿ä¸å¦ Windows ç³»ç»ä¸ç人æââä¸è®ºæ¯æ°éè¿æ¯è´¨éã
对äºæå½ Linux é¢ä¸´çè¿ä¸ææï¼åªå åé¢å£«æ¾ä¸éè§è¡å°æåºï¼äººæå³å®ä¸åï¼æäºæ´å¤ãæ´å¥½ç Linux å¼å人åï¼å°±ä¼ä¿è¿ Linux å¨ä¸å½çæ®åãç¸åï¼å¦æ大å¤æ°å¼å人åé½åªæ Windows ï¼é£ä¹ Linux å°±å¾é¾åå±äºã
åä¸å½ Linux çåºç¨æ°´å¹³è¿è½åäºåè¾¾å½å®¶ï¼ä¸»è¦è¡¨ç°å¨æå½çæ Linux ç人åä¸å¤ï¼å¨ Linux ä¸å¼åçåºç¨ä¸ä¸°å¯ï¼ä¸å½äººå¯¹äº Linux çè´¡ç®è¿å¾å°çã
éç Linux å¨å½å çæ¥çæ®åï¼ä¼ä¸å¯¹ Linux 人æçéæ±ä¹ä¼æç»å温ï¼å¹¶ä¸è¡¨ç°å¨å±æ¬¡ä¸ä¹æ´å 丰å¯ãæ¯å¦ï¼å¨ç³»ç»çº§çæ°æ®åºãæ¶æ¯ç®¡çã Web åºç¨æ¹é¢ï¼å¨æ¡é¢åå ¬æ¹é¢ãå¨åç§åµå ¥å¼å¼åæ¹é¢ççãLinux ç¸å ³äººæå¯ä»¥è·å¾çèªæ°´ï¼ä¹æ®éæ¯Windowsç¸å ³äººæå¤-%ã
ä¸è¿°è¯´æ³å¯ä»¥å¨ä¸å½ç¥åçæèç½ç«job ä¸åä¸ä¸ªéªè¯ãå¨è¿å®¶ç½ç«ä¸æ¯å¦å京å°åºçIT人ææèä¸ï¼åå«é®å ¥å ³é®åâWindowsâ åâLinuxâï¼å ¨å½æææèä¿¡æ¯ä¸ï¼å¯ä»¥çå°å ³é®åâWindowsâ人æéæ±æ¯äººï¼å ³é®åâLinuxâ人æéæ±æ¯äººï¼ä¸¤ä¸ªæ°ååºæ¬æå¹³ï¼ä½ä»å¸åºä¸ç人æä¾åºéæ¥çï¼Linux人æè¿åç°å¤§æ¯ä¾ç缺çç¶åµãï¼
8. ç¾åº¦ç½çä¸è½½çå°è§RHCE课ç¨å¹è®éå®æ´ç.zipæå¯ç æ人ç¥éæ¯å¥å
oracle
9. RHCEè¦å¦åªäºå 容å课ç¨
RHCEç课æ¬é½æ¯è±æçãã
è¦å¦ç课ç¨æ¯ linuxåºæ¬æä½ï¼ æå¡å¨é ç½®ï¼å æ ¸ç¼è¯ï¼åºæ¬çshellç¼ç¨
. RHCE认è¯ç课ç¨è®¾ç½®
é¦å æ¥è®¤è¯ä¸ä¸REDHAT LINUXç课ç¨è®¾ç½®ããå½é IT认è¯ä¸çä¸å¹é»é©¬---RHCE.DOCãä¸è¯´è¿ï¼RED HATå®æ¹å°RHCEèè¯å为两个级å«ï¼ä¸å®¶çº§åæ å级ãå ¶ä¸æ å级æ¯é对大å¤æ°æ²¡æUNIX/LINUXç³»ç»ç®¡çç»éªçèç设置çï¼ä¸»è¦æä¸é¨è¯¾ç¨ï¼RHï¼RED HAT LINUXå ¥é¨ç¥è¯ï¼é对MCSEãMCPãCNEç没æUNIX/LINUX使ç¨ç»éªçèçå¼è®¾ï¼RHï¼RED HAT管çåå ¥é¨ï¼é对æåºæ¬å½ä»¤è¡ä½¿ç¨ç»éªçèçå¼è®¾ï¼RHï¼RED HATç½ç»ç®¡çä¸å®å ¨ç®¡çå ¥é¨ï¼é对é£äºéè¿äºRHèè¯ãè¿æ³ç»§ç»ææ¡å ³é®çç½ç»æå¡è®¾ç½®åå®å ¨æ§å¶çèç设置ã 课ç¨ä»ç»
RHCEå¹è®çº¢å¸½ç³»ç»ç®¡çI(RH)é对ä¸äºè§£LinuxçITä¸ä¸äººåè设计çã课ç¨æ¨å¨å¯¹ç产ç¯å¢çå·¥ä½ä»»å¡è¿è¡è¯¦ç»è®²è§£ï¼æ¨¡æå·¥ä½ç¯å¢æ¨å¨å¦åå¦ä¹ 积ææ§ï¼éè¿å¤§éå®è·µå»ºè®®å¦ä¹ ææï¼åæ¶å¹å »å¦åå¦ä¹ è½åãå¨æè½åãRHCE6.0å¹è®è¯¾ç¨ä¸»è¦åºäºå¾å½¢å·¥å ·ä½¿å¾å¦åå¯ä»¥å¿«éå ¥é¨ï¼éæ¥éåºå½ä»¤è¡å·¥ä½æ¹å¼ãåå RHCE6.0å¹è®åï¼å¦åå°è½å¤æ§è¡å®è£ æä½ç³»ç»ã建ç«ç½ç»è¿æ¥ã管çç©çåå¨è®¾å¤ï¼å¹¶æ§è¡åºç¡çå®å ¨ç®¡çä»»å¡ã
éå人群
é对éè¦å¿«éææ¡æ ¸å¿çº¢å¸½ä¼ä¸çLinuxè½åçMicrosoft Windowsç³»ç»ç®¡çå,éè¦ä½¿ç¨Linuxè¿è¡æ¥å¸¸ç®¡çå·¥ä½çç³»ç»ç®¡çåãç½ç»ç®¡çååå ¶ä»ITä¸ä¸äººå,å¸ææä¸ºå ¨èLinuxç³»ç»ç®¡çåçéLinux ITä¸ä¸äººåã
å¹è®ç®æ æä½ç³»ç»çå®è£ 管çç£çè®¾å¤ å½ä»¤è¡ç®ä» å®è£ åé ç½®æ¬å°ç»ä»¶ä¸æå¡ å»ºç«ç½ç»ï¼ç¡®ä¿ç½ç»æå¡çå®å ¨ 管çåä¿è¯æ件çå®å ¨ 管çç¨æ·åç» é¨ç½²æ件æå¡ è¯¾ç¨æ¦è¿°
å å«RHCSAèè¯ç红帽系ç»ç®¡çIIèè¯ Exam (RH) ï¼
å¨ç³»ç»ç®¡çIåºç¡ä¸æ·±å ¥å¦ä¹ ä¼ä¸Linuxï¼è½å¤å¯¹æ件系ç»åååºè¿è¡ç®¡çåæ éæé¤ï¼é»è¾å·ç®¡çãæ¥å ¥æ§å¶åç¨åºå 管çãåå 红帽系ç»ç®¡çIåIIçå¦åå°ä¸ºåå 红帽系ç»ç®¡ç(RHCSA)èè¯å好å ååå¤ã
éå对象
å·²ç»åå 红帽系ç»ç®¡çIï¼å¹¶å¸ææä¸ºå ¨èä¼ä¸Linux管çåå/æè·å¾RHCSA认è¯çITä¸ä¸äººå
å¹è®ç®æ ç½ç»é ç½®ä¸æ éæé¤ ç®¡çæ件系ç»åé»è¾å· æ§å¶ç¨æ·åæä»¶è®¿é® å®è£ å管çæå¡ä¸æµç¨ åºæ¬å½ä»¤è¡æä½ æ éæé¤ è¯¾ç¨æ¦è¿°
å å«RHCEèè¯ç红帽系ç»ç®¡çIIIèè¯ Exam (RH) ï¼éè¿æ¬è¯¾ç¨å¦ä¹ å¯ä»¥å®å ¨é ç½®é¨ç½²ä¸ç®¡çLinuxç½ç»æå¡ï¼å å«DNSãApacheãSMTPåç½ç»æä»¶å ±äº«ï¼æ¤å¤æ¬è¯¾ç¨æ³¨éå®å ¨æ§ï¼å æ¬çæ§ãæ°æ®å è¿æ»¤ãæ¥å ¥æ§å¶åSELinuxãæ¬è¯¾ç¨å¦å®å¯ä»¥åå RHCSAåRHCEèè¯ã
éå对象
éè¦ç½ç»åå®å ¨ç®¡ççé«çº§Linuxç³»ç»ç®¡çå
æ¥æRHCEæè RHCSAè¯ä¹¦æå ·å¤åçè½åçLINUXä¸ä¸äººå
å¹è®ç®æ å¢å¼ºç¨æ·å®å ¨ å©ç¨iSCSI è¿è¡ç£ç管ç ç³»ç»ä¸ç½ç»æ´»å¨çæ§ ç½ç»ç®¡çä¸æ°æ®å è¿æ»¤ 软件管ç Webæå¡ç®¡ç 跨平å°æä»¶å ±äº« åºæ¬SMTP管ç
搜一下导航完整程序源码
本导航完整程序源码包含两个模板,能够灵活切换。
运行环境要求使用Nginx服务器,并设置伪静态规则,具体规则如下:在配置文件中设置 location / { index index.php index.html; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php last; } }。
底部内容可编辑,只需在文件 templates/souyix/footer.php 中进行修改。
数据库导入和配置可在根目录下的config.php文件中完成,只需填写数据密码和用户名即可。
图标获取地址的修改需在include/api.php文件的第行和include/lib/dada.php文件的第行进行。
文字广告位置在模板list.php文件的第行,广告则在第行和第行。若广告理解有困难,建议不做修改,后台无法添加文字广告。
获取学习资料,请访问导航源码.zip文件在蓝奏云的下载链接。
字符设备中的几个函数分析
1.在内核中, dev_t 类型(在 <linux/types.h>中定义)用来持有设备编号 — 主次部分都包括.其中dev_t 是 位的量, 位用作主编号, 位用作次编号
1 #ifndef _LINUX_TYPES_H
2 #define _LINUX_TYPES_H
3
4 #include <asm/types.h>
5
6 #ifndef __ASSEMBLY__
7 #ifdef __KERNEL__
8
9 #define DECLARE_BITMAP(name,bits) /
unsigned long name[BITS_TO_LONGS(bits)]
#endif
#include <linux/posix_types.h>
#ifdef __KERNEL__
typedef __u __kernel_dev_t;
typedef __kernel_fd_set fd_set;
typedef __kernel_dev_t dev_t; //用来持有设备编号的主次部分
typedef __kernel_ino_t ino_t;
typedef __kernel_mode_t mode_t;
...
2.在 <linux/kdev_t.h>中的一套宏定义. 为获得一个 dev_t 的主或者次编号, 使用:
2.1设备编号的内部表示
MAJOR(dev_t dev);
MINOR(dev_t dev);
2.在有主次编号时, 需要将其转换为一个 dev_t, 可使用:
MKDEV(int major, int minor);
在linux/kdev_t.h中有下了内容
...
4 #define MINORBITS
5 #define MINORMASK ((1U << MINORBITS) - 1)
6
7 #define MAJOR(dev) ((unsigned int) ((dev) >> MINORBITS))
8 #define MINOR(dev) ((unsigned int) ((dev) & MINORMASK))
9 #define MKDEV(ma,mi) (((ma) << MINORBITS) | (mi))//高为表示主设备号,低位表示次设备号
...
3.分配和释放设备编号register_chrdev_region函数
下面摘自文件fs/char_dev.c内核源代码
/
*** register_chrdev_region() - register a range of device numbers
* @from: the first in the desired range of device numbers; must include
* the major number.
* @count: the number of consecutive device numbers required
* @name: the name of the device or driver.
*
* Return value is zero on success, a negative error code on failure.
*/
int register_chrdev_region(dev_t from, unsigned count, const char *name)
{
struct char_device_struct *cd;
dev_t to = from + count; //计算分配号范围中的最大值+=
dev_t n, next;
for (n = from; n < to; n = next) { /*每次申请个设备号*/
next = MKDEV(MAJOR(n)+1, 0);/*主设备号加一得到的设备号,次设备号为0*/
if (next > to)
next = to;
cd = __register_chrdev_region(MAJOR(n), MINOR(n),
next - n, name);
if (IS_ERR(cd))
goto fail;
}
return 0;
fail:/*当一次分配失败的时候,释放所有已经分配到地设备号*/
to = n;
for (n = from; n < to; n = next) {
next = MKDEV(MAJOR(n)+1, 0);
kfree(__unregister_chrdev_region(MAJOR(n), MINOR(n), next - n));
}
return PTR_ERR(cd);
}
这里, from是要分配的起始设备编号. from 的次编号部分常常是 0, 但是没有要求是那个效果. count是你请求的连续设备编号的总数. 注意, 如果count 太大, 要求的范围可能溢出到下一个次编号;但是只要要求的编号范围可用, 一切都仍然会正确工作. 最后, name 是应当连接到这个编号范围的设备的名子; 它会出现在 /proc/devices 和 sysfs 中.如同大部分内核函数, 如果分配成功进行, register_chrdev_region 的返回值是 0. 出错的情况下, 返回一个负的错误码, 不能存取请求的区域.
4.下面是char_device_struct结构体的信息
fs/char_dev.c
static struct char_device_struct {
struct char_device_struct *next; // 指向散列冲突链表中的下一个元素的指针
unsigned int major; // 主设备号
unsigned int baseminor; // 起始次设备号
int minorct; // 设备编号的范围大小
const char *name; // 处理该设备编号范围内的设备驱动的名称
struct file_operations *fops; // 没有使用
struct cdev *cdev; /* will die指向字符设备驱动程序描述符的指针*/
} *chrdevs[MAX_PROBE_HASH];
/
** Register a single major with a specified minor range.
*
* If major == 0 this functions will dynamically allocate a major and return
* its number.
*
* If major > 0 this function will attempt to reserve the passed range of
* minors and will return zero on success.
*
* Returns a -ve errno on failure.
*/
/
*** 该函数主要是注册注册注册主设备号和次设备号
* major == 0此函数动态分配主设备号
* major > 0 则是申请分配指定的主设备号
* 返回0表示申请成功,返 回负数说明申请失败
*/
static struct char_device_struct
*__register_chrdev_region(unsigned int major, unsigned int baseminor,
int minorct, const char *name)
{ /*以下处理char_device_struct变量的初始化和注册*/
struct char_device_struct *cd, **cp;
int ret = 0;
int i;
//kzalloc()分配内存并且全部初始化为0,
cd = kzalloc(sizeof(struct char_device_struct), GFP_KERNEL);
if (cd == NULL)
//ENOMEM定义在include/asm-generic/error-base.h中,
// #define ENOMEM /* Out of memory */
return ERR_PTR(-ENOMEM);
mutex_lock(&chrdevs_lock);
/* temporary */
if (major == 0) { //下面动态申请主设备号
for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i—) {
//ARRAY_SIZE是定义为ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
//#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
if (chrdevs[i] == NULL)
//chrdevs是内核中已经注册了的设备好设备的一个数组
break;
}
if (i == 0) {
ret = -EBUSY;
goto out;
}
major = i;
ret = major;//这里得到一个位使用的设备号
}
//下面四句是对已经申请到的设备数据结构进行填充
cd->major = major;
cd->baseminor = baseminor;
cd->minorct = minorct;/*申请设备号的个数*/
strlcpy(cd->name, name, sizeof(cd->name));
/*以下部分将char_device_struct变量注册到内核*/
i = major_to_index(major);
for (cp = &chrdevs[i]; *cp; cp = &(*cp)->next)
if ((*cp)->major > major || //chardevs[i]设备号大于主设备号
((*cp)->major == major &&
(((*cp)->baseminor >= baseminor) || //chardevs[i]主设备号等于主设备号,并且此设备号大于baseminor
((*cp)->baseminor + (*cp)->minorct > baseminor))))
break;
//在字符设备数组中找到现在注册的设备
/* Check for overlapping minor ranges. */
if (*cp && (*cp)->major == major) {
int old_min = (*cp)->baseminor;
int old_max = (*cp)->baseminor + (*cp)->minorct - 1;
int new_min = baseminor;
int new_max = baseminor + minorct - 1;
/* New driver overlaps from the left. */
if (new_max >= old_min && new_max <= old_max) {
ret = -EBUSY;
goto out;
}
/* New driver overlaps from the right. */
if (new_min <= old_max && new_min >= old_min) {
ret = -EBUSY;
goto out;
}
}
/*所申请的设备好号能够满足*/
cd->next = *cp;/*按照主设备号从小到大顺序排列*/
*cp = cd;
mutex_unlock(&chrdevs_lock);
return cd;
out:
mutex_unlock(&chrdevs_lock);
kfree(cd);
return ERR_PTR(ret);
}
以上程序大体上分为两个步骤:
1.char_device_struct类型变量的分配以及初始化~行
2.将char_device_struct变量注册到内核,行页到行
1.char_device_struct类型变量的分配以及初始化
(1)首先,调用 kmalloc 分配一个 char_device_struct 变量cd。
检查返回值,进行错误处理。
(2)将分配的char_device_struct变量的内存区清零memset。
(3)获取chrdevs_lock读写锁,并且关闭中断,禁止内核抢占,write_lock_irq。
(4)如果传入的主设备号major不为0,跳转到第(7)步。
(5)这时,major为0,首先需要分配一个合适的主设备号。
将 i 赋值成 ARRAY_SIZE(chrdevs)-1,其中的 chrdevs 是包含有个char_device_struct *类型的数组,
然后递减 i 的值,直到在chrdevs数组中出现 NULL。当chrdevs数组中不存在空值的时候,
ret = -EBUSY; goto out;
(6)到达这里,就表明主设备号major已经有合法的值了,接着进行char_device_struct变量的初始化。
设置major, baseminor, minorct以及name。
2.将char_device_struct变量注册到内核
(7)将 i 赋值成 major_to_index(major)
将major对取余数,得到可以存放char_device_struct在chrdevs中的索引
(8)进入循环,在chrdevs[i]的链表中找到一个合适位置。
退出循环的条件:
(1)chrdevs[i]为空。
(2)chrdevs[i]的主设备号大于major。
(3)chrdevs[i]的主设备号等于major,但是次设备号大于等于baseminor。
注意:cp = &(*cp)->next,cp是char_device_struct **类型,(*cp)->next是一个char_device_struct
*类型,所以&(*cp)->next,就得到一个char_device_struct **,并且这时候由于是指针,所以
对cp赋值,就相当于对链表中的元素的next字段进行操作。
(9)进行冲突检查,因为退出循环的情况可能造成设备号冲突(产生交集)。
如果*cp不空,并且*cp的major与要申请的major相同,此时,如果(*cp)->baseminor < baseminor + minorct,
就会发生冲突,因为和已经分配了的设备号冲突了。出错就跳转到ret = -EBUSY; goto out;
()到这里,内核可以满足设备号的申请,将cd链接到链表中。
()释放chrdevs_lock读写锁,开中断,开内核抢占。
()返回加入链表的char_device_struct变量cd。
()out出错退出
a.释放chrdevs_lock读写锁,开中断,开内核抢占。
b.释放char_device_struct变量cd,kfree。
c.返回错误信息
下面程序出自fs/char_dev.c
动态申请设备号
...
/
*** alloc_chrdev_region() - register a range of char device numbers
* @dev: output parameter for first assigned number
* @baseminor: first of the requested range of minor numbers
* @count: the number of minor numbers required
* @name: the name of the associated device or driver
*
* Allocates a range of char device numbers. The major number will be
* chosen dynamically, and returned (along with the first minor number)
* in @dev. Returns zero or a negative error code.
*/
int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count,
const char *name)
{
/* dev:
仅仅作为输出参数,成功分配后将保存已分配的第一个设备编号。
baseminor:
被请求的第一个次设备号,通常是0。
count:
所要分配的设备号的个数。
name:
和所分配的设备号范围相对应的设备名称。
b.返回值:
成功返回0,失败返回负的错误编码
*/
struct char_device_struct *cd;
cd = __register_chrdev_region(0, baseminor, count, name);
if (IS_ERR(cd))
return PTR_ERR(cd);
*dev = MKDEV(cd->major, cd->baseminor);
return 0;
}
...