ң қ құғң (Қ) - ұ ң қ ә ө қ құғ ө (10-). қ құғң ұ ң қ (қ ). Ө ө ү ө қ (ғ ә ү ), қ ұғ ұ қ қ . қ қ ө.
ұ (қ қ 10-20 қ ң) ә ө (ғ қ ) қ DRAM .
қ қ қ ү ұ ңғ SRAM қ қ. ң ө ғ ү қ құ, қ қ ә 8 - .
ң ң ө қ қғ қ ң . ң ө ғ құ, ғ ң ңғ қ ә қ ң 2-3 - құ.
1 қ құ
қ
(DRAM )
ұ (SRAM )
ө
Қ қ
ғ
ғ
ғ-ү
ғ
-2-3
-5-8
-10-20
ғ
10. қ құғң
ғ ғұ ү , ң ұ ғ ғұ ө ө ңқ қ ғғ ө. қ ұ ғ ө , ө ғғ қ құ ү
Қ 9. ҚҰ Ә
ҚҰ
қ: құ ә құң ә қ
ʳ ө: , , , , қ , қ , , ұ, , , ң, ғқ
|
|
ә (1 ғ)
- ү, , .
- ғ .
- , ә ң .
- ELF ә a.out ә COFF .
- ү қ. ү .
ғ ғ ү ғқ, . ғ ү (translation ) , ғ қ . ү:
- ,
ғң ә өң, . ұ ң ғ ә . ғң ,ғ қ . ө ң ү ғ қ, ғ қ қ ғ қ ғғ ү ғ. ә ғ қ, ғғ ғ ғ қ қ қ. ғ , .Ү қғ, ү ң ұ ү .
(compiler; compiling programm ғ)
1) ғғ ң ғ ғ ғқ ғ қ ( , ү, ғ) ү ң қ қң құ ө. ө ү: ө ғң ғ ү ғқ , ғ қ ғ. Қ ғ ң ү . қ ғ ғ ң қ ү ә ң қ үң ;
2) ғғ ң ғ ғ қ қ ү ғ. ұ ө "compile" құғ, құ ғ . ұ ң ғ қ қ , ғ " , -қ, қ ";
|
|
3) қ ғ ң қ ғ ғ. ң ұ ң ө ғ . ғң ү ү () қү қ;
4) ғқ құ ғ-ғ. ң ү ғ ғғ ң ғ ғ қ ғғ қ қ ғғ ү, қ ң қ. ң ү ғқ ү. ғ үң ө.
ң ү:
- ғқ ғң ә ә құ ү ү ;
- ғң ң ; , қғ әң ә ө ғ;
- ғ ғ ө ң ө
1.
ғ :
ғ (. ; . programme - ұ, ) ң ө ұ . ғқ өң қ ә ң , ә ұқ қғ . қ ә ң ұ: ғ қ ә ң; ғ ң қ ; ғ ұ ү ң қң ө; ә (ұқ ғ) құ ұ ғ қ.
ғқ ң ө әң қ, ө, ө, ә ңң ә , - ғ қ. , ( ө , ө ө ү. ғқ қ ұғ ө:
ә ү ғ ғқ ә ғұ ғ қ үғ ( , ә өң, қ) ғ ғ ғқ . ұ - ң қ-қ ғқ . ғқ ң ң ң ө, ң қ-қ ү , ғң қ . 20 ғ 70 ғқ ң 1 ңғ қ. қ, ң ғ ғ: , , /1, , , , ңғ .
|
|
Ғ Ҳ˲, ғ ә (, қ) ә ң (ғ) - өң ғ () . ғ ң құ. ғқ ғ қ . Қ ғ қ-ғғ, қ-ғғ ә қ-ғғ . қ-ғғ ғ өң ә-ң ү ң құ -ң ( ң) құ . ұң ү ң ғ ү ң ә
қ . қ қ . қ-ғғ ғ , , , .. .
ELF - standard
қ әi үi үii қ ғ.
2. ELF standardң
a.out ә COFF
Coff ұ қ.(Common Object File Format) COFF қ қ қң iii ә қ i a.out. UNIX-iң әi ғ, қ Windows NT , өң (қ ) i , DJGPP.Қң өңi үi қ ә ә / .
қ i f - OFFң қ iiң ғ .
Қ 10. LINUX IJ
Ә
қ: LINUX ә
ʳ ө: қ , , қ , қ ң, , , қ ү, ,
ә (1 ғ)
- Linux (, , ) ә-.
- Linux file_operations құ, .
- құ құ. Linux , құ ә қ.
- ү ә қ .
Linux ү ә .. Linux-ң (Linus Trovalds) 1991 Unix- ү ,ң қ қ. қ ү Unix-ң ң ө ғң қ .ұ қң ә Linux ң . .
Linux қ үң ү
- Free Software ғқ қ (Қ), қ ә ғ ұқ ң .
- Open Source қ қ ғқ қ қ ғқ қ.
- GNU/Linux Linux қ үң . ө ө ң ө , Linux () . GNU/Linux құ , қ ө ә ғқ қң ғ.
- ғқ қң (қ ү ) ү, құ қ үң қ ғ ғ . Linux ң : Ubuntu, Debian, Slackware, openSUSE, Archlinux, ..
- (қ ) , қ үң ә ө, ү. ә -ғ құ. GNU/Linux ү қ ө Bash қ өң ә ң қ ң (Xterm, Gnome-terminal) .
- Root () GNU/Linux ү ә құқғ .
- GUI (ғ. graphical user interface) ң қ . ғ, , , ...
- Window Manager ң ң ә қ. , Compiz қ ұ.
- Desktop Environment ұ үң , ү ү : KDE, GNOME, XFCE. Құ ғ ғ ү. , ә Gnome gedit, KDE Kwrite .
- қ өң ғ . , қ-қ ү ғ
- ғқ қ , құ ғң ө, қ ә ( ә, ғ). ә , ғ , ұқ, ө. қ, Linux ә қ ү ә ү қ ө. ң ө ғ deb ә rpm ү.
- Қ қғ ғ ғ. ғ , , ө, ң ... ә : dpkg, rpm. Archlinux ү pacman.
- Қ . , , - ү. қ қ, ү .
- қ ғң 곻 ү, ғ, ғ ғ қ құ (, құ, ...). ғ ү , қ ү , ұ ү .
Linux-ң қ ү
|
|
Linux- ү ққ ә ұқ / . қ қғ ң қ () / ғ ң ғ қғ ғ ұ. ғ / () ң . , /home ү қ (/) home қ, /home/user user home қ ө.
ҳ ұ қ үң қ ө ү қ ү қ ә. ҳ ү ү . ҳ ү - қ ғ Linux- қ қ. Mount ң ө ң қ қ ү ө . ә ( ү) ә қ үң ө .
|
|
Linux ү ң ң ү қ ү (root filesystem) . қ құғғ қ қ ү ғ қ (). ң, ү ң ө , қ қ қ ү , Linux-ң ө, үң / қ (ү ). қ ү қғ ү ң , ү ө ңғ .
Linux-үң ү ә . ә, қ, ң құң ү . ұ қ Linux-ү қ, ү ә Linux- /etc, /home, /usr/bin ... , ғ құң ү ө . ң ғ ә ғғ үң ө қ қ ү қ. ү ғ - Linux ү ә ө.
ҳ
ҳ ә ғ , Linux-ү ү ң ғ қ, қ үң қ ө . ү mount ө . қ қ ү қ , қ қ ү ө ә . ҳ ө mount ң ә қғ (mount(8)).
қ үң ң қ қ. қ ү ң қ ә ү қ , қ қ ө , қ қғ қ ү әқ ұқ ү .
Linux-ң ұ ү ң ғ (ң қ ү , ң ұқ құққ қ) қ қ үң ү :
Ext2/3
қ үң ү Linux ү , Linux-үң ө қ. Ext3 Ext2 ғ, ғ, құ қ . Қғ қ қ ү , ә - ң . ғ ғ ң ә ұқ (Ext3) ң. ә ғ ғ Ext3 қ үң ө ө ә ү ү ү (Load Average).
ReiserFS
ұ қ ү қғ ұқ: ң өң ү , ң ө үң ө ғ. Ә ReiserFS ұқ ң ө қғ ү қ . қ.
XFS
ұ қ ү ү құ ө ү ә ө ү қғ ғ. Ext3 қ ө , қ қғ қ ө, ң құ ғ қ (қ ң құ ө қ). Ү қ ө (UPS) қғ қғ ұ.
SWAPFS
қ үң ү , ә қ swap ғ ү қ. қ ө ө ғ, ә Linux- қ. қ , әң ө ққ ө.
JFS
IBM қ ү ү ү ү ғ: ө ғ, ә қғ қғ . .
қ, Linux-, өң қ ү қ, ғ ө ү қ . қ ү ә , қ ә қ , қ ғ қғ ғ . қ үң ү ә қ қ үң .
Қ 11. ӨҒҚ Ғ
қ: өғқ ғң
ʳ ө: ғ, , , , , ғ ү, өғ ү,
ә (1 ғ)
- Sun ң API ғ ә POSIX қ.
- ғ : ө ұғ, , , қ- ұғ ().
ұ ә ғ ә өғ ү; өғ ; ң ғ ә ққ ғ; "", Solaris, Linux, POSIX, Windows 2000, Java ғ қғ.
өғқ - ұ ң ң ә ққ қң . ұ қң ңғ ө ң . ә ұқ қғ:
ғ ә өғ ү
Өii , ө ғң ғ әi ii . өғқ ғ қ ұң ң ү .
(ғ) ү- ұ ң iiiң өi қ ғ (control flow) ү. ғ (thread) - ү. -қ үң ң .
.1 ғ ә өғ ү
ғ ү ө ұ ң қ. Ү қ ә қ. өғ ү ү ұғ. - үi ө i құ ә iң әi ii қ i ғ ұ. ғ ұ ә -қ ү қ ң , қ ү ә ө.
өғқң ққ:
- қң (қ ү ғ) өғқ ң ң ң ү(lightweight processes)қғ . өғқң қUNIX - ә ғ .Ә shell ү өң ң .ң ү қ қ ү қ (heavyweight) ү .
- қ. үң ғ қ.
- Ү. өғқң қ ү . қ қ ү қғ ң ү ү қ ә ң ә қ .
қ. ұ ө қ ә ө қ үiң ң қң ii ң. ө үң ғң өғғ ң қ ққ ө.
өғқң
өғқ қң ғқ 1970- ң құ ғ ө ғ. 1979 құғ "-1" ә қ ү үң ұ қ. "" ү ө өң . "" ү қ ү ғқ ң ң ә ң ү .
өғқң ұ 1980 UNIX қ ү ә ң қ . өғқң AT&T ғ UNIX , ң Solaris ү құ. ұң ғ POSIX UNIX-ң ү ө.
1990 ң өғқ қғ Windows NT ғ.
API ү әү қ үң өғғ . қ , ғ ң ғ өғ ғ қ ғ қ ңғ .
ң ә ә ү ү өғқң қ ө құғ C++ өғқ қ, қ ң ң қ құ. ++ ғ қ қ үң ә ү қ ң қ.
1995 ғғ Java ә Java-ң ң ғ қ . Java- ғ өғқ қ ә ң қ ң . Java- ә ә ң ү ұғ ғ ә - Thread .
2000 ғ NET Java ұ.
Әү қ ү ә әү өғқ ғ құ қ ққ қ. Қ ғ ү Java ә.NET өғқ ұ. ғ ү қғ ү . қ, қ ү ғ өғқң ү ұқ ә қ ү ө өң ө.
Ққ ғ ә ң ғ
өғқң . қ ү өғқң ң ң ұ. Қң өқ ң ғ қ ққ ң ғң (user threads) қ ү . қ қ. Қ ғң ққ ң қ:
POSIX Pthreads POSIX ғ ғ ә POSIX қ қ.
Mac C-threads MacOS ү ққ ғ;
Solaris threads Solaris қ ү ққ ғ.
Ққ ғ ө ө ң ғ- ғ (kernel threads) . қ үң ң қ. Әү қ ү ққ ғң ү ә ү. , қ ү өң ғң :
- Windows 95/98/NT/2000/XP/2003/2008/7;
- Solaris;
- Tru64 UNIX;
- BeOS;
- Linux.
ө ңң - ғ ққ ғ ә. өғқң ү:
- ө/ (many-to-one) ққ ғ ң ғң ө. ұ ө ү ғ қ қ ү қ.
ғ ө.
2. өғқң ө/ ң
- / әә қғ ғ ққ ғ ө. қ қ ү:Windows 95/98/NT/2000/XP/2003/2008/7; OS/2.
ғ ө
3. өғқң / ң
- ө/ө (many-to-many) ққ ғ ү ғ ө. ұ қ ү ө ү ғ құ. ғ қ қ ү : Solaris, Windows NT / 2000 / XP / 2003 / 2008 / 7 ThreadFiber
ұ 4- ө
4. өғқң ө/ө ң
өғқң ә
өғқ- ө ү, ә қ ә қ қғ қ ә ө ң ә . ң қ ө.
fork() ә exec()ү қң . қ UNIX қ ү fork ү қ өң ң қ ү құ. қ, ө ғғ қ ғң ә қ қ қ қ, өғқ , ң ү қ ө .
ғ ұ қ. ң әң ғ ұ қ . : -қ ғ қ, ғ ә ғ қ қ ? ғ құ ғ қ, ң қ ғ қ ? ұқң қ қ ү әү.
өң.UNIX қ үң - қ ғғ өң өң. ғ : SIGSEGV- ң ұ, SIGKILL- kill ә үң .
Қ signal ү қ қ өң өң- қ. ұң ә : өғ ғ қ ә қ ғ қ өң?
ө ғ ұ ұқ : ғ ғ қ өң ә ғң ә .
Қ -ғғ қ ү ұ ғ ң () (exception) ұ ғ. ә ғң . өңң ұққ Java ә.NET ү ғ.
ғ . ү : әү ғ ң құ ә ғ ң ұ қ . ғ - қ қғ ә ғң . ғң ғ Java- қғ. NET- ғң (ThreadPool) қ ө қ.
ғң (thread-local storage - TLS)- ғ ғғ ә ә ғ қ . ң өғқ қ ү әң , ә ғ ө ұ . Қ қ ү ә ң ғ ғ ң ұ қ.
ғ . қ ғ ү қ қ ә қғғ ә .
ғқ (ғқ) ә . ғ ү қ - ұғ() .
POSIX (Pthreads) ғ
өғқң қ POSIX ғ қ. POSIX- өғқ ғ құ ә ғ ғ API IEEE 1003.1c ғ. POSIX ғң ә қ.
ғ қ ң қ POSIX ә ң ү . POSIX ғ UNIX қ ү ң ғ ә Solaris ә Windows NT қ ү қ.
POSIX ғ ү ң қ: