欢迎投稿

今日深度:

linux 下 osw随操作系统启动而自动启动的标准脚本

linux 下 osw随操作系统启动而自动启动的标准脚本,linuxosw


linux 下 osw随操作系统启动而启动的标准脚本。osw是指--os watcher,这是一个监控os各项指标的shell脚本。osw的监控数据一般用于oracle技术人员评估os各项资源的使用情况,该使用情况会作为oracle 技术人员评估一些oracle 数据库行为(比如节点驱逐等)的参考依据。

 

[oracle@rac2 ~]$ cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local     /bin/sh /home/oracle/oswbb/autostartosw.sh --->上面一行是新加的

/home/oracle/oswbb/autostartosw.sh的脚本内容如下: cd /home/oracle/oswbb /usr/bin/nohup /home/oracle/oswbb/startOSWbb.sh &   注意:此时的osw安装在/home/oracle/oswbb目录中。

 


linux操作系统的详细启动过程,(硬件启动的先后顺序)

当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,
接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,
接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系
统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登
录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。

加载内核

LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核。请记住此时的计算机内存中还不存在任何操作系统, PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存。因此,内核就必须完整地加载到可用RAM的第一个兆字节之内。为了实现这个目的,内核是被压缩了的。这个文件的头部包含着必要的代码,先设置CPU进入安全模式(以此解除内存限制),再对内核的剩余部分进行解压缩。

执行内核

内核在内存中解压缩之后,就可以开始运行了。此时的内核只知道它本身内建的各种功能,也就是说被编译为模块的内核部分还不能使用。最基本的是,内核必须有足够的代码设置自己的虚拟内存子系统和根文件系统(通常就是ext2文件系统)。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统之后,将启动并运行一个叫做 init的程序。

注意:在这里我们故意略去了Linux内核启动的许多细节,这些细节只有内核开发人员才感兴趣。如果你好奇的话,可以访问http://www.redhat.com:8080地址处的 “Kernel Hackers Guide”。

init进程

init进程是非内核进程中第一个被启动运行的,因此它的进程编号PID的值总是1。init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel)。从根本上说,运行级别规定了整个系统的行为,每个级别(分别由0到6的整数表示)满足特定的目的。如果定义了 initdefault级别,这个值就直接被选中,否则需要由用户输入一个代表运行级别的数值。

输入代表运行级别的数字之后,init根据/etc/inittab文件中的定义执行一个命令脚本程序。缺省的运行级别取决于安装阶段对登录程序的选择:是使用基于文本的,还是使用基于X-Window的登录程序。

rc命令脚本程序

我们已经知道,当运行级别发生改变时,将由/etc/inittab文件定义需要运行哪一个命令脚本程序。这些命令脚本程序负责启动或者停止该运行级别特定的各种服务。由于需要管理的服务数量很多,因此需要使用rc命令脚本程序。其中,最主要的一个是/etc/rc.d/rc,它负责为每一个运行级别按照正确的顺序调用相应的命令脚本程序。我们可以想象,这样一个命令脚本程序很容易变得难以控制!为了防止这类事件的发生,需要使用精心设计的方案。

对每一个运行级别来说,在/etc......余下全文>>
 

LINUX操作系统的启动过程

当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,
接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,
接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系
统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登
录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。

加载内核

LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核。请记住此时的计算机内存中还不存在任何操作系统, PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存。因此,内核就必须完整地加载到可用RAM的第一个兆字节之内。为了实现这个目的,内核是被压缩了的。这个文件的头部包含着必要的代码,先设置CPU进入安全模式(以此解除内存限制),再对内核的剩余部分进行解压缩。

执行内核

内核在内存中解压缩之后,就可以开始运行了。此时的内核只知道它本身内建的各种功能,也就是说被编译为模块的内核部分还不能使用。最基本的是,内核必须有足够的代码设置自己的虚拟内存子系统和根文件系统(通常就是ext2文件系统)。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统之后,将启动并运行一个叫做 init的程序。

注意:在这里我们故意略去了Linux内核启动的许多细节,这些细节只有内核开发人员才感兴趣。如果你好奇的话,可以访问http://www.redhat.com:8080地址处的 “Kernel Hackers Guide”。

init进程

init进程是非内核进程中第一个被启动运行的,因此它的进程编号PID的值总是1。init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel)。从根本上说,运行级别规定了整个系统的行为,每个级别(分别由0到6的整数表示)满足特定的目的。如果定义了 initdefault级别,这个值就直接被选中,否则需要由用户输入一个代表运行级别的数值。

输入代表运行级别的数字之后,init根据/etc/inittab文件中的定义执行一个命令脚本程序。缺省的运行级别取决于安装阶段对登录程序的选择:是使用基于文本的,还是使用基于X-Window的登录程序。

rc命令脚本程序

我们已经知道,当运行级别发生改变时,将由/etc/inittab文件定义需要运行哪一个命令脚本程序。这些命令脚本程序负责启动或者停止该运行级别特定的各种服务。由于需要管理的服务数量很多,因此需要使用rc命令脚本程序。其中,最主要的一个是/etc/rc.d/rc,它负责为每一个运行级别按照正确的顺序调用相应的命令脚本程序。我们可以想象,这样一个命令脚本程序很容易变得难以控制!为了防止这类事件的发生,需要使用精心设计的方案。

对每一个运行级别来说,在/etc......余下全文>>
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2267.html NewsArticle linux 下 osw随操作系统启动而自动启动的标准脚本,linuxosw linux 下 osw随操作系统启动而启动的标准脚本。osw是指--os watcher,这是一个监控os各项指标的shell脚本。osw的监控数据一般用于...
评论暂时关闭