, , , . Linux LILO (LInux LOader) GRUB (GRand Unified Bootloader). ,
.
1. , , , . ³ .
2. ( - ), - . , : -, , -, . , LILO GRUB, , .
3. , , (, ), , , GRUB, . - ' ( - , - ), .
42. . Linux.
: .
, . . , ' . : ' , , , , ' . ', - .
, , , , , .
. ' , . - , ', , ( , , . .) , , . ( Linux) ( dmesg).
|
|
. - Linux, . 䳿, , , . ps-ef , , Linux ( '), k: [kswapd], [keventd] . .
() ( - root = / dev/hda5). ϳ (read-only): , , , fsck (file system check). ϳ, , .
, / sbin / init . (PID) , - , , . init - , , ( UNIX, ), 1.
init
43. init. /etc/inittab, /etc/rc.d/rc.sysinit.
Init . - / etc / inittab. , init getty , . ³ , - . г - , . , init , / etc / inittab.
, , / sbin / init . init . , , , ( , IP-, ), 䳿.
Unix / Linux init . г - . : init / etc / inittab. , Linux Unix System V BSD- .
, 7 :
0 -
1 -
2 -
3 -
4 -
5 -
|
|
6 -
init n ( ), n - , .
/etc/inittab
id:5:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
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
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:5:respawn:/etc/X11/prefdm -nodaemon
. . . , :
1 -
2345 - ,
respawn - , init .
/ sbin / mingetty tty6 - ( ), .
, ( 4 7, 8...), / etc / inittab / etc / rc.d / rc *. D
44. . .
:
1) ,
2)
3)
4)
5)
- , , . , CPU, . , d, - binfmpt-support brltty.
, , ' . . Linux , , - , . , ' Bluetooth; , '. ' , . , .
, . - ' . . , - , . , , , web- Apache -. , web- , Mandriva web- . , , , , , .
: AppArmor, Apport, Avahi-deamon, Bluetooth, CUPS, GPM, KLogd, NTP, Powersaver, Powernowd, Laptop-mode.
|
|
45. . . .
46. . .
47. . . .
48. . .
49. , .
, , , g (1). makefile, . ' . ' ..
䳿 ' id ' , , . ' : , . , ' ' ( .), , . , '
( .so). , '. ' a.out
:
$ make prog $ cc o prog prog.c
' prog. ' (a.out) prog .
, 䳿 , id. , cc ', .
.
$ cc c file1. c file2.c ' file1.o file2.o
$ cc o prog file1.o file2.o -lnsl '
prog, ' libnsl.a libnsl.so
( ), . , ,
Linux Unix- . Linux ˳ (Linus Torvalds) (Գ) Minix - UNIX-, Andry Tanenbaum. Linux ' 80386. ˳ " , Minix ".
UNIX- , "Bourne shell" (shell shell). UNIX- C shell, , ѳ.
50. . , . . .
|
|
. . , (-).
- ' .
' , ' . :
, .
- , ,
. ³ , .
( , ) ᒺ . , . , 䳿 ᒺ . , , File Create Open .
' , , ( ) . , 볺 , . , binder, .
, .
51. . . , .
' .
, (, Fortran ), ' , () ( Microsoft Windows .lib, UNIX- .a). , , .
(. shared library), , (. Dynamic Link Library, DLL). , . ', . ', , '.
. , .library Libs: AmigaOS; Microsoft Windows OS/2 .dll; UNIX- .so; MacOS .dylib.
ar.
~/SPOS/clib/exemple.1
1- ᒺ
gcc c test1.c test2.c
2) ᒺ ᒺ arc r libtest.a test1.o test2.o library.a( )
3) app.c ᒺ
gcc c app.c => app.o
, . l test gcc
4) :
gcc o app app.o L. ltest
L. , .
./app
. .. ᒺ
gcc c fPIC test1.c test2.c
fPIC - ᒺ
|
|
2) gcc c app.c => app.o - application.c
3) gcc shared fPIC o libtest.so test1.o test2.o
shared ...
4) gcc o app app.o L. ltest , . , (.)
export LD_LIBRARY_PATH=.
echo $ LD_LIBRARY_PATH
52. .
' . , .
, , .
' .
, (, Fortran ), ' , () ( Microsoft Windows .lib, UNIX- .a). , , .
(. shared library), , (. Dynamic Link Library, DLL). , . ', . ', , '.
. , .library Libs: AmigaOS; Microsoft Windows OS/2 .dll; UNIX- .so; MacOS .dylib.
( ), - - . ͳ , .
53. . . .
, , . - .
́ ́ , . , .
- , '.
' . , : ' , (, ). ' , . .
(' ) - , , ( ) . , , , .
, , () :
inode , . : inode', . .
, . , , , .
, ' , . ' , .
54. Գ . . .
.
:
;
' ;
;
.
Գ ', . - . - , '.
- , '.
. - . . -, , , ' , -, , , ( 1 ) .
- ' '. , - , . , .
- , , . .
55. . . .
UNIX 6 ,
:
1. (regular file)
2. (directory)
3. (special device file)
4. FIFO (named pipe)
5. ' (link)
6.
UNIX - .
, UNIX , , .
UNIX : (user owner)
(group owner). , - , 䳺 .
- ,
.
, .
.
: (read), (write) (execute). ֳ
: , , ,
() .
, -
(, , ls). . , .
, ( , ).
cd.
56. .
- . :
1)
2)
3)
4)
UNIX :
1) (6 )
2)
3)
4)
5) .
6)
4 :
1)
2)
3) SUID(set user ID)
4) GUID(get user ID)
, .
57. : mkdir, mknod, mkfifo, cp, mv, rename.
mkdir - . mkdir , , , "rwxrwxrwx'' (0777).
:
mkdir [-pv] [-m ] <_>...
:
-m - .
-p - .
-v - .
mknod - FIFO ( ), '.
:
mknod [] < >
:
-p FIFO.
-b .
-c - .
mkfifo - FIFO () .
:
mkfifo [] < >
:
-m - FIFO.
cp - .
:
cp [] < | > < | >
:
- R - ;
- i - - , .
- f - -i, - .
- v - , 䳿, cp.
: cp-i / timages / * images / - / timages / images /, . , .
mv - ,
:
mv [] <|>
:
- f - - , .
- - . .
- v- , 䳿.
: mv-vf file * images / trash - , file, images / trash /, .
rename
58. . . .
- ', , . , , ' . . , UNIX.
ID :
0 root ();
1-500 .
, . : , , UID, GID, , /bin/bash.
'. ' UID.
- , . , . ', , GID.
UID GID , 䳺 .
etc/passwd. , , .
, / etc / group , .
59. , Unix. .
, Unix:
1. etc/passwd - .
: , , UID, GID, , /bin/bash.
2. etc/group - .
:
1. ;
2. , ; 3. ;
4. .
3. etc/shadow . , , root.
: login, , , , 䳿 .
4. etc/gshadow - .
:
1. ;
2. , "!", ;
3. ;
4. .
, , . , UNIX.
60. Unix: useradd, usermod, userdel, groupadd.
Unix:
useradd , .
usermod .
userdel .
groupadd .
61. Unix: groupmod, groupdel, passwd, gpasswd.
- groupmod _name
.
-:
groupmod group1 n group2 group1 group2.
- groupdel _name .
.-:
groupdel group1 group1 .
- passwd _user / user.
-l
-d
-f
-n 䳿
-x 䳿
-S
- gpasswd _group / group.
-:
gpasswd gr1 password password gr1.
62. , , . .
ᒺ Linux, . .
.
, , ' . ϳ .
(), () . . , 䳺 , ( , ). , , , .
63. . .
(PID). . .
(PPID). .
UNIX, , 0 (swapper) fork. , fork , . , ( 0) , .
64. Unix: ps, kill, nice, renice, su, sudo.
- Ps
-a - ' ,
-x - , ' (, )
-u - ( )
-u user - user
- kill pid - id pid
-TERM pid - pid - SIGTERM ( ).
-KILL pid - , SIGKILL ( ).
- nice -n value script - , , script , value ( -20 19, , -20 - ).
- renice -value PID - PID = PID , value ( -20 19, , -20 - )
- su user - ( ) user ( - root)
-,-L, - login - 3 - ( )
- command - command "" .
65. . .
, , ' , .
, , . , .
. , - ' , , . , . , , remote login, , , '.
: -, ' , -, ', .
. . - . , .
, - , . , . .
' , , . ' ' , ' .
- , .
: , , (RPC) , , ' , .
66. . .
, ( , ). , '. , ', . ' .
, . ³ ( ).
DSM (Distributed Shared Memory - ) - , () . DSM , ' . DSM ' ' , ' '.
67. ().
䳿 :
1. ;
䳿 : TASK_STRUCT .
2. ;
ϳ . , :
( , );
;
, (, ); read , , .
䳺 䳺 . , . 5 :
1) ' (D);
2) (A);
3) (I);
4) ( ) (S);
5) ()
䳿, . - , :
SIGKILL ( - 2)
SIGSTOP - .
:
;
.
68. .
Win32
, . ( ) . Win32 . MFC .
MFC , Win32, , CSyncObject:
CCriticalSection - .
CEvent - ' 䳿
CMutex - .
CSemaphore - .
69. . /, .
/ UNIX ( ) - , (), . ( '), .
0 (stdin) .
stdin (). UNIX ( ) <. ( ), , .
1 (stdout) , ( ') .
stdout (). UNIX ( ) >. .
- , : , ' - , (stdout) ' (stdin) . ' . - . - 㳺 .
- , ', . , . , , .
70. / .
Unix ( Linux) . ' , 䳿. .
:
ls | grep x
bash, , |, , , , , ' . ls , grep ls , x.
, Unix, " ". , bash. : , . ³ , , .
- , DOS :
> - >> - < - << - , , DOS UNIX/Linux ( ). , UNIX/Linux . (, `"" , `"" ) , .