Linux . , , lilo ( linux loader). R ( , ), - ( ) . , , R .
lilo, R, . ( , Linux ) ( LILO boot.:). , ( ) /etc/lilo.nf. , . ( rt):
# lilo
. (, Windows) ( lilo ), Linux, ( ). : setup() I startup_32(). setup(), .
. (Linux IOS). setup() , , , , , , startup_32(), .
startup_32() , . , , startup_32(). Linux ( 0), ( , ), , () , start_kernel ().
start_kernel () 0, . , :
|
|
;
;
;
;
;
( , ).
, kernel_thread() ( 1), init(). /shin/init, init. , init ( /lib , /).
, start_kernet () (idle loop), . init.
Windows
Windows . ntldr , . , , : F , NTFS .
ntldr . 16- , , boot.n . boot.n:
[boot loader]
timeout=30
default=multi(0) disk(0) rdisk(0) partition(1)\WINDOWS
[operating systems]
multi (0) disk(0) rdisk(0) partition(1)\WINDOWS=Windows XP"
:\="windows 98"
[ boot loader ] , , [ ting systems ] - . :
WINDOWS ( Windows );
, ;
.
( ) ntidr bootsec.dos ( Windows DOS Consumer Windows, Windows ), .
, ntldr ; , , , Linux, ntldr , :
: boots. lnx="linux"
Windows . , Windows boot.ini , , .
|
|
, , . ntldr ntdetect.com, ( , setup() Linux BIOS). , . . F8 ( ).
ntldr ntoskrnl. ( Windows ), bootvid.dll ( , ), hat.dll ( ) . , (, , ) ( ). . ntldr , ntoskrnl. .
ntoskrnl. : 0 1. , , .
0 , . , 1. , , - Idle, System 1.
0 , . 1 bootvid.dll, ( 1). ( , , , , ). - ( 50 % ) , (boot-start), (system-start). 1 (smss.).
, 2: smss., winiogon. (SCM, services.). Win32 ( , ), winiogon..
, .
(S) , . . .
. , , . , .
|
|
, , , . .
1. , -?
2. R .
3. , . , . ?
4. init , , Linux. init , . ?
5. , Linux loadlin. S-DOS Windows Linux F. , 9.2.(2) .