Linux 啟動過程

2021-05-24 10:34:07 字數 2234 閱讀 6725

fae

將porting

好的linux

提供,幾乎都在寫應用**,空閒時間整理一下

b1202

系統啟動的過程 通過

/boot/vm

進行啟動

vmlinuz

init

程序會讀取

/etc/inittab

,/etc/inittab

先/etc/rc.d/rc.sysinit

,再/etc/rc.d/rc3.d/

等等啟動

login

登入介面

login

在使用者登入的時候執行

sh指令碼的順序:每次登入的時候都會完全執行的

/etc/profile.d/file

/etc/profile

/root/.bashrc

/root/.profile 1.

init

讀核心**

init/main.c

-->kernel_init

if (!ramdisk_execute_command)

ramdisk_execute_command = "/init"; 在

b1202中

init -> bin/busybox

init

只是乙個

busybox

的快捷方式,

busybox

程式中調

/etc/inittab

指令碼,

如果沒有

busybox

就按照inittab

走,有busybox

就先執行

busybox

,最後會調

/etc/inittab 2.

/etc/inittab

內容/etc/inittab

會呼叫/etc/rc.d/rcs

,/bin/login 等

# see busybox-1.00rc2/examples/inittab for more examples

::sysinit:/etc/rc.d/rcs

#::respawn:-/bin/sh

::respawn:/bin/login

::ctrlaltdel:/sbin/reboot

::shutdown:/etc/rc.d/rcs stop

::shutdown:/bin/umount -a -r

::shutdown:/sbin/swapoff -a

::restart:/sbin/init

/etc/rc.d/rc.conf

/etc/rc.d/rcs

根據/etc/rc.d/rc.conf

的配置

/etc/rc.d/init.d/$i

這行的意思就是逐個載入這些指令碼的

可以看到

syslog

這個指令碼,就是列印除錯用的,由

busybox

的提供的

這個指令碼是載入驅動,應用,防火牆,

fe基本配置等等

#!/bin/sh

. /etc/rc.d/rc.conf

mode=$

if [ $mode = "start" ]

then

services=$cfg_services

else

services=$cfg_services_r fi

cfg_services=$

# run the configured sequence

for i in $cfg_services do

if [ -x /etc/rc.d/init.d/$i ]

then

/etc/rc.d/init.d/$i $mode fi

done

if [ $# -ge 2 ]

then

exit 0 fi

if [ -x /etc/rc.d/rc.local ]

then

/etc/rc.d/rc.local fi

/bin/login

就是登陸程式 3.

程序執行緒

用程序還是執行緒,這個個人覺得按功能來分

m個程序,關係緊密的

n個模組起

n個執行緒放乙個程序中,

m個程序之間最好通訊單一,

b1202

就是這樣來實現的 4.

分塊詳解

Linux啟動過程

1 開啟 pc電源 pc加電後,乙個特殊的硬體電路會觸發 cpu 的 reset 腳的邏輯值,然後一些 cpu 暫存器,如 cs eip 等被給定乙個值,接著 cpu 跳轉到乙個固定位址開始執行 bios 2 bios 自檢,按設定的裝置啟動 bios 對硬體進行一系列徹底的檢查,如 cpu 型別 ...

Linux啟動過程

1.加電時由硬體將bios載入到記憶體末尾.這時是實模式,定址空間為1m.2.由硬體將cs段暫存器強制設定為0xffff,ip指令暫存器設定為0x0000.這樣cs ip指向了oxffff0的位址位置.這個位置就是bios程式的入口位址.3.執行bios程式.在記憶體起始位址0x00000設定1k大...

Linux啟動過程

linux啟動過程 前言 linux是一種自由和開放源 的類unix作業系統。該作業系統的核心由林納斯 托瓦茲在1991年10月5日首次發布。在加上使用者空間的應用程式之後,成為linux作業系統。linux是自由軟體和開放源 軟體發展中最著名的例子。接觸linux的時間也不算短了,一直都是直接使用...