Solaris系统启动:init与OpenBoot过程详解
需积分: 41 132 浏览量
更新于2024-07-11
收藏 2.88MB PPT 举报
"系统启动过程-init-Solaris_SICT"
在 Solaris 操作系统中,系统启动过程的关键步骤涉及到了 `init` 和 `OpenBoot PROM`。`init` 是系统启动后第一个用户空间进程,它根据 `/etc/inittab` 配置文件来管理和服务其他进程。`OpenBoot PROM` 是系统硬件层面的引导程序,负责硬件初始化和系统加载。
`/etc/inittab` 文件是 `init` 进程的核心配置文件,它定义了系统的默认运行级别、进程的启动、监控以及进程异常退出后的重启动策略。文件中的每个条目由四个字段组成:id(标识符),rstate(运行级别),action(动作)和process(需要执行的进程)。例如,`ap::sysinit:/sbin/autopush -f /etc/iu.ap` 表示在系统启动过程中执行 `/sbin/autopush` 命令。
`initdefault` 行定义了系统默认的运行级别,例如 `is:3:initdefault:` 指出默认运行级别为3。`respawn` 动作表示如果进程终止,`init` 将重新启动它,`sysinit` 动作则是在访问控制台前启动进程并等待其完成,而 `wait` 则是在执行下一运行级别之前等待进程结束。
`OpenBoot PROM` 是 Sun 硬件的引导固件,它包含了 POST(加电自检)、驱动加载、用户接口和默认设置。在 OpenBoot 状态下,用户可以使用一系列命令进行操作,如 `banner` 显示系统信息,`show-devs` 查看设备,`boot` 引导系统,`printenv` 显示环境变量,`setenv` 修改环境变量等。`probe-scsi` 命令用于检测 SCSI 设备,而 `reset` 命令则重启系统。
系统启动流程中,OpenBoot PROM 执行 POST 和硬件诊断,然后加载 bootblock 程序,接着 bootblock 加载 ufsboot 引导程序,最终 ufsboot 加载内核。内核初始化后启动 `init` 进程,`init` 会依据 `/etc/inittab` 文件启动运行级别的控制脚本,完成系统的启动服务和用户登录环境的建立。在这一过程中,`set-defaults` 命令可以设置 PROM 的默认配置,而通过 `eeprom` 命令可以查看和修改 EEPROM 中的参数,如默认引导设备和自动启动设置。
Solaris 系统的启动是一个涉及硬件初始化、软件加载、系统服务启动的复杂过程,其中 `init` 和 OpenBoot PROM 起着至关重要的作用。理解这些概念有助于系统管理员更好地管理和维护 Solaris 系统。
2011-03-14 上传
2011-01-09 上传
2023-06-07 上传
2021-04-29 上传
2023-02-13 上传
2023-02-13 上传
清风杏田家居
- 粉丝: 21
- 资源: 2万+
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建