MacOSX系统启动过程_百度文库.doc_第1页
MacOSX系统启动过程_百度文库.doc_第2页
MacOSX系统启动过程_百度文库.doc_第3页
MacOSX系统启动过程_百度文库.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一课资料网/1、电源开启。2、执行固件中的代码。3、收集硬件信息并初始硬件。4、选择启动项(通常是选择 OS ,但有时会选择硬件测试等类似情况。用户可能会被提示进行启动选择。5、控制权交给 /System/Library/CoreServices/BootX (启动引导器。 BootX 载入内核并描绘OS 标识(如有。BootX 尝试载入先前缓存的设备驱动列表(根据 /usr/sbin/kextcache 进行创建或更新。缓存的类型为 mkext 且为多内核扩展包含了信息词典(info dictionaries与二进制文件。注意:如果 mkext 缓存丢失或损坏,BootX 将在 /System/Library/Extensions 中搜索当前方案中所需要的扩展(由该扩展包中 Info.plist 文件的 OSBundleRequired 属性值进行决定。6、执行内核中的 init 例程。决定要启动之系统的根设备。从此刻起,将不再使用固件中的程序。7、由内核初始各种 Mach/BSD 数据结构。8、初始 I/O (输入输出设备。9、内核开始运行 /sbin/mach_init ,Mach 服务命名(引导程序后台。mach_init 为服务名和要准备访问其它服务所用的 Mach 端口提供映射。到这步时,启动开始转为用户等级:10、 mach_init 开始 /sbin/init,传统的 BSD 初始化(init进程。初始化将决定运行等级,并运行 /etc/rc.boot (设置让机器能够运行单用户-single user 模式。在此步中,将执行: rc.boot 与其它 rc 脚本源程序 /etc/mon,一个包含实用功能的 shell 脚本,如 CheckForNetwork( (检查如网络已启动, GetPID(, purgedir( (仅删除目录内容,而非结构,等。11、 rc.boot 会显示要启动的类型(多用户,安全模式,光驱,网络等等。网络启动的情况下( sysctl 的变量 boot 将会为何种情况而设之为 1 ,其将用一个启动参数来运行/etc/boot 。/etc/boot 会处理网络启动的参数特征。例如:执行网络和(如有本地挂载。其还会呼叫/usr/bin/nbst 来关联当作根设备使用的磁盘镜像到一个影子文件(shadow file。此方法是将那个希望处于本地存储器的文件(磁盘重定向写入到影子文件。12、 rc.boot 会在必须进行文件系统一致性检查(file system consistency check, fsck时,显示图形。单用户模式和用光盘启动时不会运行 fsck。安全模式启动时总会运行 fsck。rc.boot 也会处理 fsck 的返回状态。13、如果 rc.boot 成功退出, /etc/rc 多用户启动脚本将会运行。如果正在从一个光驱启动,脚本将切换到 /etc/rc.cdrom (安装。14、 /etc/rc 挂载本地文件系统 (HFS+、HFS、UFS、/dev/fd、/.vol,确保目录 /private/var/tmp 存在,然后运行 /etc/rc.installer_cleanup 如果有(重启前,会由安装器离开。15、 /etc/rc.cleanup 运行。其将“清理”一定数量的 Unix 与 Mac 特殊目录/文件。16、启动缓存(BootCache开始。17、各种 sysctl 变量被设置(如:vnodes 的最大值、System V IPC 等。如果 /etc/sysctl.conf 已存在 (在 Mac OS X Server 中为 /etc/sysctl-macosxserver.conf,它将读取和设置 sysctl 变量为已包含在其中的。18、 syslogd 开始。19、创建机器检查符号文件(Mach symbol file。20、 /etc/rc 开始 kextd 后台进程,用来从内核或委托进程(client processes加载所需的内核扩展。21、 /usr/libexec/register_mach_bootstrap_servers 将运行以加载包含在 /etc/mach_init.d 中的各种 Mach 引导程序所基于的服务。22、 portmap 与 netinfo 开始。23、如 /System/Library/Extensions.mkext 旧于 /System/Library/Extensions, /etc/rc 将删除已存在的 mkext 并创建一个新的(不存在时,会创建。24、 /etc/rc 启动 /usr/sbin/update,一个后台程序,用来频繁地清空磁盘上的互联网文件系统缓存。25、 /etc/rc 启动虚拟内存系统。设置 /private/var/vm 为一个交换目录。/sbin/dynamic_pager 以适当的参数启动(交换文件名路径模板、已创建的交换文件大小、当创建额外交换文件或删除已存在文件时,指定高、低水平的警报切换开关。26、 /etc/rc 启动 /usr/libexec/fix_prebinding 以修复错误地预连编二进制文件(prebound binaries27、 /etc/rc 执行 /etc/rc.cleanup 以清除并重置文件与设备。28、 /etc/rc 最后将启动 /sbin/SystemStarter ,处理启动项从下列位置:/System/Library/StartupItems 与 /Library/StartupItems。一个启动项是一个程序、一个 shell 脚本、匹配一个文件夹名的名称。文件夹包含一个属性列表文件含有一些配对的关键值,如: Description、Provides、Requires、 OrderPreference、启动与停止信息等等。您可以运行SystemStarter -n -D 以作为根用户 (root 来进行程序打印调试与从属信息(不包含现在已经在运行的任何项目。29、 CoreGraphics 启动开始 Apple 类型服务后台(ATSServer 和 Window 服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论