易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux操作系统启动流程与Grub的配置方法

 作者:sixth
一、Linux的启动流程
 
1. 从BIOS到KERNEL
BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核初始化->内核启动
2. 内核启动:创建1#进程并执行,由它创建若干内核线程(kernel thread),然后装入并执行程序/sbin/init(变成一个用户进程)。此后,init根据/etc/inittab配置文件来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等。
 
对于Redhat来说,执行的顺序为:
/etc/rc.d/rc.sysinit # 由init执行的第一脚本
/etc/rc.d/rc $RUNLEVEL # init执行指定运行级别($RUNLEVEL为缺省的运行模式)的各脚本;
/etc/rc.d/rc.local #运行模式2、3、5时会运行的脚本
/sbin/mingetty(或getty) # 等待用户登录
 
/etc/inittab中指定了系统的运行级别(RUNLEVEL),init根据运行级别启动相关的服务(一些后台进程),实现不同的功能。
 
RUNLEVEL值为:0-6
 
0:halt, 1:单用户,2:多用户,3:多用户并启动NFS服务
4:保留,5:运行xdm(X window)以图形界面方式登录
6:reboot
 
3./etc/inittab文件
 
/etc/inittab的文件内容如下:
 
# 设定系统开机预设的RUNLEVEL:
id:3:initdefault:
 
# 开始进行RUNLEVEL的服务启动前,使用来侦测与初始化系统环境的设定文件:
si::sysinit:/etc/rc.d/rc.sysinit
 
# 7 个不同 run level 的,需要启动的服务的 scripts 放置路径:
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
 
# 是否允许按下 [ctrl]+[alt]+[del] 就重新开机的设定项目:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
 
# 本机端终端机启动的个数:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
 
# 在 X Window (RUNLEVEL 5) 环境下的启动 script 设定项目:
 
x:5:once:/etc/X11/prefdm -nodaemon
 
这个文件的语法是这样的:
 
标识符:级别:init 的动作行为:指令项


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

linux札记

 :::::::Linux 下的一些常用命令
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源 ......

linux获取网络接口名:如eth0

 #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<net/if.h>
static char *bad_interface_names[] = {
            "lo:",
            "lo",
&n ......

一步一学Linux与Windows 共享文件Samba (v0.2b)

 
作者:
北南南北,正在增加中... ... 需要您的参与;
来自:
LinuxSir.Org
简介:
本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 ... ... 谢谢;
目录
 
0.1 查看文件 ......

关于Linux Kernel中的宏定义likely和unlikely

转自http://blog.163.com/ericxia_gnikam/blog/static/969208792008102545614453/
 
在Linux kernel的源代码中,经常能见到if(likely(x))或if(unlikely(x))之类的用法,其确切含义需要说明一下,以便更好的理解kernel的源代码。
likely与unlikely这两个宏在linux/compiler.h中的定义如下:
#define likely ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号