OS X、Linux启动流程.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OS X、Linux启动流程

OS X:(来自站点) 1. BootROM 当一台Macintosh被启动时,BootROM固件同时也被激活。BootROM(也是电脑的一个硬件)拥有两个主要职责:初始化系统的硬件和选择一个操作系统来启动。BootROM拥有两个部分来帮助它实现这两个职责: ? POST(Power-On Self Test,开机自检)初始化硬件接口,验证是否有足够可用RAM以支持系统运行,并检查可用RAM是否处于正常状态。 ? 在PowerPC架构的Macintosh电脑上,Open Firmware初始化剩下的硬件,建立最初的设备树(类似目录树,一个用层级关系的方式来表示各硬件与主机间的逻辑关系),并且选择操作系统来启动。 在 Intel架构的Macintosh电脑上,EFI来处理基本的硬件初始化,并且选择一个操作系统来启动。如果安装有多个可启动的Mac OS X系统,BootROM会选择那个最后被系统预置中启动磁盘设置项选择的操作系统。用户可以在电脑启动时按住Option键来自行选择启动的系统,这个做 法会让Open Firmware或者EFI显示一个选择启动宗卷的界面。 2. 启动引导器 一旦BootROM的工作完成,并且选择了个Mac OS X分区被选择用其启动,控制权就被传递给BootX(PowerPC平台)或者boot.efi(Intel平台)启动引导器。启动引导器的主要工作就是加载内核环境, 作此工作时,启动引导器会在屏幕上显示一个启动画面。在“exotic”(译者注,字面意思是“外来的,外国的”,但显然这里不是只外接硬盘的意思。)模式下启动的时候,比如说从一个软RAID宗卷上启动的时候,一个启动引导器会保存在一个叫做独立的HFS+的“辅助”宗卷上来启动系统。在一些版本的Mac OS X上,内核和mkext缓存的拷贝亦会保存在辅助宗卷里。也就是,这种情况下,根分区下面的引导器和其他一些部件不起作用。 启动过程最开始,启动引导器尝试加载一个包含了所有设备驱动程序的预链接(译者注,原文prelink,这个词的意思是,为了节省时间而预先把一些动态链接库的连接方式记录在执行档中) 的内核版本。预链接这些设备驱动程序可以缩短系统启动时间。如果预链接版本的内核丢失,已经过期,或者已损坏,启动引导器会加载一个包含了与预连接内核所列相同驱动的单独压缩包,此包被称作 mkext缓存。如果mkext缓存包过期,丢失,或者已损坏,启动引导器会搜索/System/Library/Extensions,寻找 OSBundleRequired属性根据启动类型(例如本地启动或者网络启动)所列的驱动列表来加载驱动。一旦内核和所有为启动而必需的驱动加载成功,启动引导器就启动内核的初始化进程。此时应该有足够的驱动被加载,以找到根设备(译者注,原文root device)来加载内核。也是在此时开始,PowerPC架构的Macintosh电脑上,Open Firmware不再被访问(静默状态)。内核初始化Mach和BSD数据结构以及I/O Kit。I/O Kit使用设备树作为根据来连接那些已经加载进内核的驱动。一旦内核找到根设备,BSD将把此为root(*)来启动。 3. 系统初始化 Mac OS X v10.4以前,系统初始化一直是交给mach_init和init来处理。初始化过程中,这两个处理进程调用不同的系统脚本,启动程序,为用户准备系统。Mac OS X v10.4以后,这些系统脚本和守候进程的调用交由launchd来处理。除了初始化系统以外,launchd进程还协调系统守候进程秩序地调用。就像inetd进程一样,launchd按需启动守候进程。然后,launchd 启动SystemStarter,后者用来启动那些非按需启动的守候进程。系统初始化的最后阶段,launchd启动loginwindow。loginwindow程序控制了用户会话各自的外观和登录窗口的调整以及用户登录认证。 4. 用户认证 Mac OS X要求用户在进入系统前进行验证。loginwindow程序分为登录部分(显示为用户输入用户名和密码的窗口)以及安全部分(处理用户的认证信息)。一 旦通过安全系统的认证,loginwindow程序开始配置用户环境。有两种情况loginwindow会忽略通常的登录方式而直接开始用户会话。第一种 是当系统管理员设定计算机自动以一个指定的用户登录的时候。另一种是安装软件时,如果installer程序在电脑重启后立即运行的时候。 5. 配置用户会话 用户成功认证后,loginwindow会马上配置用户环境并且记录这次登录信息。此时会进行如下任务: ? 对未经授权的远程登录会话采取安全措施。未经注册(译者注,原

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档