Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5600762
  • 博文数量: 745
  • 博客积分: 10075
  • 博客等级: 上将
  • 技术积分: 7716
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-29 12:09
文章分类

全部博文(745)

文章存档

2019年(1)

2016年(1)

2010年(31)

2009年(88)

2008年(129)

2007年(155)

2006年(197)

2005年(143)

分类:

2005-05-09 17:25:05

启动和关闭程序.

基本内容
介绍运行等级的基础知识
介绍系统启动的各个阶段
控制启动进程
执行系统关闭程序
各级运行级别:
0:关闭Solaris操作环境,显示boot PROM ok提示符,用于安全关闭系统电源
s or S:Soaris OE单用户模式
1:系统运行在单用户管理状态,所有文件系统都可访问
2:系统支持多用户操作,多个用户可以访问系统.所有系统守护进程都被运行,除了NFS服务
3:系统支持多用户操作,并且NFS共享可用,这是系统/etc/inittab文件中指定的默认级别
4:空缺的运行级别
5:系统关闭并且关闭电源
6:系统关闭并重启到默认的运行级别
判断系统当前的运行级别,用who -r命令,其参数分别指的是:
可以通过init命令来更改运行级别,也可以通过shutdown,halt,reboot,poweroff命令来更改
启动进程分四个阶段:
boot PROM阶段
boot程序阶段
内核初始化阶段
init阶段
*boot PROM阶段
在启动过程的第一部分,boot PROM阶段执行下面这些步骤:
1,boot PROM固件运行POST,确认系统的硬件和内存,如果自检成功完成,开始它的顺序启动.
2,PROM显示系统标识,模式类型,处理器类型和速度,键盘状态,PROM版本号,RAM数量,NVRAM
系列号,以太网址和host ID.
3,boot PROM确定启动设备,通过读取PROM参数boot-device
4,boot PROM读位于默认启动磁盘设备上的位于0扇区的磁盘卷标
5,boot PROM从PROM中获得默认启动设备的启动程序
6,boot PROM读取叫做bootblk的系统主引导程序(位于1-15扇区),它包括一个UNIX 文件系统
读取器.(在系统安装期间,bootblk程序被installboot程序放置在磁盘上)
7.Boot命令把bootblk程序从本地设备导入内存.
*boot程序阶段
接下来描述boot程序阶段:
1,bootblk从boot设备导入第二boot程序ufsboot到内存
2,到ufsboot的路径被记录在bootblk 程序中,bootblk 程序由Solaris OE指令installboot安
装.
3,Ufsboot程序本地化,并且导入适当的两部分kernel
Kernel的内核是两片叫做genunix和unix的静态代码,genunix是与平台无关的通用kernel文件
,unix是指定平台的kernel文件. 当usfboot把这两个文件导入到内存后,他们被组合成运行的
kernel的形式.
在运行于32位模式的系统上,这两部分kernel位于目录/platform/'uname –m'/kernel
在运行于64位模式的系统上,这两部分kernel位于目录/platform/'uname –m'/kernel/sparcv9
*kernel初始阶段
下面描述kernen初始化阶段:
1,kernel读它的配置文件,调用/etc/system
2,kernel初始化自身,并且开始导入模块
3,kernel启动/etc/init进程
SunOS kernel是一个很小的内核,由genunix和unix和很多动态导入的kernel模块组成.
模块由设备驱动,支持文件系统的二进制文件,流文件,也包括其他类型的为指定的系统任务使
用的模块组成.组成内核的典型模块位于目录/kernel和/usr/kernel 中,同平台相关的模块位
于目录/platform/'uname –m'/kernel和/platform/'uname –i'/kernel目录中.
下面描述各模块子目录的类型:
drv:设备驱动
exec:可执行文件形式
fs:文件系统类型
misc:各种混杂的模块(虚拟交换)
sched:调度类(继承执行调度)
strmod:流模块(归纳了用户和设备驱动间的连接)
sys:系统调用(定义应用所使用的接口)
在启动时或需要的时候,如果应用发出要求,需要的模块被自动导入,当一个模块不再使用,它
所使用的内存被另外一个任务需要的时候,它可能被卸载
动态kernel安排的优点是使得整个kernel的大小更小,更有效的使用内存,允许简单的改变或
调整
修改内核参数要编辑/etc/system文件,修改之前要进行备份工作,以免系统不能启动
# cp /etc/system /etc/system.orig
# vi /etc/system
因为/etc/system损坏而不能打开root进程的时候就启动命令boot -a,当提示输入系
统名称的时候就输入/etc/system.orig
启动的最后一个阶段是init进程的执行,然后就启动图形界面GUI
启动系统或者更换run levels的时候,init进程启动或者停止,或者通过读/etc/inittab
文件来执行启动和执行
init S 切换到单用户模式
init 1 切换到单用户模式
init 0 关闭系统并切换到ok状态下
init 5 关闭系统以及电源
init 6 关闭系统并重启
shutdown命令也可以执行系统关闭,重启等操作,不同的是在系统即将被关闭的时候要
通知所有正在访问系统的用户,并将关闭时间延后到1分钟后执行,在这段时间,管理员
可以发送通告给所有用户报告将要执行的操作
一般的格式是shutdown -y -g grace-period -i init-state
eg: #shutdown -y -g120 -i6 "the system is being rebooted"
halt:立即关闭系统并进入到ok模式,不提示用户,也没有延迟时间
poweroff:立即关闭系统,不提示用户,也没有延迟时间
start run control scripts,比如说S80lp代表启动打印机进程
stop run control scripts,比如说K28nfs.server代表关闭nfs进程
/etc/rc2.d:包括在level 2里面开始,结束的进程

阅读(2266) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~