QU N LÝ B NH TRONG DOS
B nh c a DOS tr nên quá ch t ch i v i b n? Làm th nào đ các ng d ng và trình th ng ế ườ
trú có nhi u h n 640 KB?á ơ
B nh máy tính gi ng nh ti n b c - b n ch nghĩ v nó khi c m th y thi u th n. Đáng ti c ư ế ế
là DOS d ng nh đ c thi t k đ t o ra s thi u b nh . Ch có 640 KB đ c dành cho cácườ ư ượ ế ế ế ượ
ng d ng, ch ng trình th ng trú, b đi u khi n thi t b và chính b n thân DOS. ươ ườ ế
Trong th c t th ng g p các ch ng trình l n ng n t n b nh , khi ch y nó b n không ế ườ ươ
th n p thêm đ c các trình khác nh nh t ký và l ch bàn, trong tr ng h p này 1 MB v n có ượ ư ườ
th không đ . Cũng có th có nhu c u ch y 2 ch ng trình th ng trú m t lúc đ có th c t d ươ ườ
li u t m t b ng tính và dán vào văn b n khác. N u 2 ch ng trình này quá l n, không th đ t ế ươ
đ c m c đích đó.ượ
Nh ng version tr c đây c a DOS không gi i quy t đ c v n đ . Ch đ n DOS 4.01 hãng ướ ế ượ ế
Microsoft m i t nh ng và b t đ u đ a vào các công c đ t c u hình và truy nh p vùng nh b ư
sung. Trong DOS 5.0 b n có th truy nh p vùng nh m r ng (extended memory) theo đ c t
EMS. Bây gi b n có th n p đ c nhi u b đi u khi n thi t b (device driver), nhi u ch ng ượ ế ươ
trình th ng trú (terminate and stay resident program - TSR) và các đo n c a DOS vào vùng cácườ
kh i nh cao (upper memory blocks - UMB). Toàn b vùng nh qui c 640 KB đ c dành cho ướ ượ
chính các ch ng trình c a b n.ươ
XMS và EMS cho phép b n cài đ t 2 chi n l c l n đ đ a ch hóa đ c b nh xa. ế ượ ượ
Tr c h t, b n có th truy nh p các đ a ch RAM cao h n h n ch quy c c a DOS. Th hai làướ ế ơ ế ướ
b n có th dùng các b đ i nhi m (task swapper) và kh năng đa nhi m đ có th m vài
ch ng trình cùng m t lúc. Chi n l c th 3 cho phép n p và đ y ra ch các TSR mà b n mu n.ươ ế ượ
Đ hi u bi t rõ thêm v c u trúc b nh c a máy vi tính, hãy đ c thêm bài c a Brian Livingston ế
"Năm ki u b nh c a DOS" đăng trong s này.
lúc b n ch theo m t trong các chi n l c trên, khi khác có th b n c n đ n các ch ng ế ượ ế ươ
trình dùng t i 2 ho c c 3 cách ti p c n. ế
Qu n lý b nh : c u trúc l i b nh DOS
Tr c khi b ti n ra mua các trình qu n lý b nh (memory manager) b n c n xem k khướ
năng s n có c a DOS có đáp ng đ c nhu c u c a b n hay không (xem thêm bài "Các ượ
ch ng trình qu n lý b nh c a MS-DOS 5" cũng đăng trong s này). K t DOS 5 b n có 2ươ
trình qu n lý b nh là HIMEM.SYS và EMM386.EXE.
M t s ch ng trình l n c a các hãng n i ti ng có th t truy nh p vùng b nh m r ng ươ ế
m t cách tr c ti p. Tuy nhiên, nhi u h , k c DOS và Windows, đ c cài đ t đ dùng b nh ế ượ
m r ng thông qua đ c t XMS. Đ c t này là quy cách th ng nh t và đ n gi n dành cho các ơ
ch ng trình khác truy nh p b nh m r ng mà tránh đ c các tranh ch p b nh không c nươ ượ
thi t. HIMEM.SYS đ m b o truy nh p qua XMS đ i v i các h v i h n 1MB RAM.ế ơ
HIMEM.SYS đ c cài vào t p tin CONFIG.SYS nh m t ph n c a các thông s kh i đ tượ ư
khi b nh m r ng đ c phát hi n. Trình này có th qu n lý b t c RAM nào v i h n 1 MB tr ượ ơ
lên, k c vùng nh cao - 64 KB đ u tiên ti p sau 1 MB đ u (h t nhân c a DOS 5 có th đ c ế ượ
đ a vào vùng này). B nh m r ng cao h n đi m này đ c c p phát nh XMS. T đó, m tư ơ ượ ư
ch ng trình đ c thi t k đ truy c p đ n XMS RAM khi b nh này t n t i có th tìm th y nó.ươ ượ ế ế ế
Nh v y, ng i l p trình có th t o ra các ch ng trình c n t i h n 640 K c a b nh quy cư ườ ươ ơ ướ
(conventional memory).
Ch ng trình EMM386.EXE làm vi c h i khác. B n có th kh i đ t nó (set up) đ dùng m tươ ơ
ph n ho c t t c b nh m r ng nh m ph ng b nh bành tr ng (còn g i là RAM theo quy ướ
cách EMS) đ i v i các ch ng trình s d ng đ c t này. Truy nh p có ch m h n so v i XMS ươ ơ
nh ng ng i dùng có nhi u b nh h n và có th làm vi c trên nhi u lo i máy.ư ườ ơ
Ngoài ra, EMM386.EXE có th qu n lý các kh i UMB (các vùng b nh tr c kia đ c d ướ ượ
tr đ dùng cho ph n c ng h th ng, ch ng h n nh video card), cho phép b n n p các driver ư
và TSR vào vùng không s d ng gi a 640 K và 1 MB và do đó ti t ki m đ c l ng t ng ế ượ ượ ươ
đ ng trong b nh quy c.ươ ướ
B n thân tên c a trình này cũng cho bi t là EMM386.EXE ch làm vi c trên các máy 386 và ế
486. HIMEM.SYS còn làm vi c đ c trên máy 286 đ c ghép thêm b nh m r ng. Nh ng ượ ượ
máy PC và PC/XT đ u tiên không th truy nh p vùng nh cao h n 640 KB n u nh b nh này ơ ế ư
không đ c đ m b o b i ph n c ng EMS thích h p. N u b n ch y trong Windows, môi tr ngượ ế ườ
này t đ ng qu n lý đ c b nh cao h n 640 KB. Windows t đ ng thi t đ t HIMEM.SYS c a ượ ơ ế
riêng nó đ qu n lý b nh m r ng và ngoài ra còn dùng thêm SmartDrive đ l u tr t m th i ư
ph n d li u c a đĩa c ng v i m c đích tăng t c đ truy nh p. H n th n a, Windows k t h p ơ ế ế
các ch c năng qu n lý b nh này v i kh năng hi n th song song và đ i v i máy 386/486, kh
năng đa nhi m th c s . Ví d , trong Windows có th làm vi c v i b ng tính trong khi đó m t
trình liên l c t p tin t máy tính khác. T t nhiên, Windows đòi h i đ u t vào b nh và ph n ư
c ng nhi u h n, ch a k đ n các ch ng trình t n d ng m i ti n ích c a môi tr ng này. B n ơ ư ế ươ ườ
c n ít nh t m t máy 386 v i 4 MB RAM và vùng đĩa khá l n. B n nên có CPU ch y nhanh và
card video nâng cao đ đ m b o đ c hi u qu thích h p, đ c bi t đ i v i các ng d ng đ ượ
h a.
N u không quan tâm đ n Windows, b n có th có các l a ch n khác nhanh h n. Ví dế ế ơ
DESQview 386 c a Quarterdeck cho phép qu n lý b nh , t ch c c a s và th c hi n đa
nhi m đ i v i các h 386/486 (ho c là t ch c c a s và đ i nhi m đ i v i các máy XT và AT).
Do DESQview là ch ng trình làm vi c trong ch đ ký t (khác v i Windows làm vi c v i giaoươ ế
di n đ h a), nó ch y nhanh h n, đ c bi t trên các máy ch m v i b nh h n ch . ơ ế
Các trình qu n lý th ba
N u b n không mu n dùng h đi u hành m i mà v n có đ c công c qu n lý b nhế ượ
thích h p, hãy mua các b qu n lý b nh c a hãngth ba (third - party manager). Các ch ng ươ
trình này b sung kh năng qu n lý b nh c a DOS ít nh t theo 4 cách.
H Netroom c a Helix m r ng s h tr UMB cho máy 386 ho c ngay c lo i 8088 có b
nh bành tr ng (hãng Quarterdeck có s n ph m t ng t dành cho các máy 386). Đ c đi m ướ ươ
c a Netroom là cho phép máy 386 n p các network driver vào m t "máy tính o" trong th c t ế
giao di n m ng đa nhi m, thay vì n p chúng nh các driver vào vùng b nh quy c. ư ướ
Nhi u trình qu n lý b nh cũng xem xét vi c s d ng UMB đ có th đ a đ c nhi u ư ượ
driver và TSR h n vào vùng nh cao và do đó gi i phóng đ c vùng nh quy c quý giá. Thêmơ ượ ướ
vào đó là kh năng m r ng vùng b nh quy c t i h n 640 KB. Video Memory Commander ướ ơ
c a V.Communications đ m b o đ c t i 920 KB b nh quy c b ng cách ti p c n này. ượ ướ ế
c trình qu n lý hàng đ u dành cho máy 386/486 cho phép mô ph ng EMS trong quá trình
th c hi n, m i khi ch ng trình c n đ n nó, thay vì bu c b n ph i s a CONFIG.SYS và kh i ươ ế
đ ng l i máy ho c bu c ph i d tr m t l ng l n RAM m r ng đ mô ph ng b nh bành ượ
tr ng.ướ
Trong khi DOS sao chép h đi u hành lên đĩa c ng c a b n và h ng d n b n v cách t i ướ
u, các trình qu n lý b nh cao c p còn giúp b n nhi u h n. Cài đ t t đ ng và các trình t i uư ơ ư
xác đ nh s s n sàng c a vùng nh cao đ n p các driver và TSR theo th t t t nh t. Đ i v i
m t s ch ng trình, b n ph i t đi u ch nh ph thu c vào thông s kh i đ t h th ng. Tuy ươ
nhiên, h th ng c a b n s đ c tinh ch nh t t h n là dùng EMM386.EXE. ượ ơ
Trên các máy 386, QEMM386 và 386 MAX ch y t ng đ ng v i nhau. C hai h đ u ươ ươ
dùng đ c t t. Kh năng Stealth c a QEMM-386 có th ti t ki m đ c nhi u vùng nh cao h nượ ế ượ ơ
m t chút, trong khi đó vi c cài đ t t i u c a 386MAX có s c lôi cu n h n. Netroom nên đ c ư ơ ượ
xét đánh giá nh m t gi i pháp m ng. Memory Commander cho phép m r ng đ c b nh quyư ượ
c b ng k thu t và ph ng pháp m i. Memory Management Kit c a Biologic gia t cho DOSướ ươ
thêm d ch v UMB b sung, m t kh năng toàn di n nh t đ mô ph ng EMS (ngay c trên
8088, có s d ng đĩa c ng, n p và rút b các TSR).
H đi u hành DOS 6 c a Novell cũng x ng đáng đ xem xét. Nó cho phép qu n lý b nh
tinh vi h n MS-DOS, ngoài ra còn kèm theo các trình ti n ích dùng đ nén đĩa.ơ
Làm ch các TSR
M t trong nh ng tùy ch n qu n lý b nh đáng nh c t i là kh năng đ a các trình th ng ư ườ
trú (TSR) vào vùng nh cao. B ng cách này có th ti t ki m đ c đáng k vùng nh quy c ế ượ ướ
quý giá. H QRAM c a Quarter deck và 386MAX c a Qualitas (ch dùng trên các máy 386) đ a ư
ra d ch v nh v y. ư
M t cách ti p c n khác đ qu n lý các TSR là công c Switch c a DR DOS cho phép b n ế
kh i đ t nhi u c u hình vào CONFIG.SYS và AUTOEXE.BAT, m i c u hình có các TSR c a
riêng mình và s n p chúng vào vùng nh cao khi kh i đ ng l i máy.
B đ i nhi m: "Đa nhi m" khi ít b nh
S khác bi t gi a b đ i nhi m (task swapper) và môi tr ng đa nhi m (multitasking) nh ườ ư
sau: đa nhi m cho phép nhi u ch ng trình cùng t n t i và làm vi c m t lúc, trong khi đó đ i ươ
nhi m ch cho phép m t ch ng trình làm vi c nh ng b n có th d dàng chuy n t vi c này ươ ư
sang vi c khác mà không ph i đóng ch ng trình đ u tiên l i. Các b đ i nhi m nh các ươ
ch ng trình c n t m r i b vào b nh m r ng ho c b nh EMS, th m chí ghi c vào đĩaươ
c ng, t i th i đi m đ i nhi m. Chú ý r ng đa nhi m ch th c hi n đ c trên 386/486, trong khi ượ
đó đ i nhi m (t c là gi i đa nhi m - ND) có th đ c dùng trên b t c lo i máy nào. ượ
MS-DOS 5 có kh năng đ i nhi m nh m t tùy ch n trong DOSSHELL. Sau hai l n ch n ư
trong th c đ n có th đ t đ c kh năng c a h và c a s ho t đ ng bao gi cũng đ c nhìn ơ ượ ượ
th y trong Shell đ trình bày danh sách các vi c đang ho t đ ng (có th có t i 13 vi c nh v y). ư
Không nh các b đ i nhi m th ba nào khác, DOS 5 không cho phép b n d dàng quan sátư
vi c c p phát b nh ho c th c hi n c t/dán gi a nh ng công vi c.
DR DOS 6 cho phép truy nh p t i 20 vi c m t lúc qua ViewMax và Shell ho c qua menu
TaskMax riêng bi t - b ng cách này s d dàng h n và nhanh h n. DR DOS có nh ng ch c ơ ơ
năng không có trong MS-DOS: b n có th tham kh o các tài nguyên b nh qua menu và làm
đ c các thao tác c t/dán. Nó cũng cho phép (nh ph n l n các b đ i nhi m th ba) n p TSRượ ư
nh m t vi c.ư
c b đ i nhi m có th dùng đĩa c ng đ l u các trình không ho t đ ng. N u b n có đ ư ế
b nh m r ng ho c b nh bành tr ng, chúng s không dùng đĩa c ng n a, do đó t c đ ướ
truy nh p s đ c nâng cao. ượ
K t lu nế
S l a ch n khá rõ ràng. Tr c h t, đ gi i quy t v n đ thi u b nh c n mua thêm b ướ ế ế ế
nh b sung và môi tr ng qu n lý b nh ki u nh Windows (t t nhiên nh v y ph i mua thêm ư ư ư
các s n ph m dùng cho Windows và ph n c ng thích h p đ ch y chúng có hi u qu ). N u b n ế
mu n gi nguyên ph n c ng và ph n m m hi n có, b n c n dùng các trình qu n lý b nh , b
đ i nhi m và b n p TSR.
V tác gi : Patrick Marshall là biên t p viên c a InfoWorld. Tom Marshall là ti n sĩ văn h c ế
Anh ng , làm vi c t i Washington University, s d ng máy tính t năm 1985.
Các ch ng trình qu n lý b nh trong DOS 5.0ươ
Khi cài đ t DOS 5 lên h th ng có b nh m r ng, HIMEM.SYS s t đ ng đ c kh i đ t ượ
(set up). EMM386.EXE không đ c đ t t đ ng nh v y. Hãy so n th o t p tin CONFIG.SYS vàượ ư
n u không th y dòng DEVICE = [path] HIMEM.SYS [/machine:n] đ u dòng đ u tiên, hãy thêmế
nó vào. M nh đ này nên là dòng đ u tiên, ho c ít nh t là dòng th hai c a CONFIG.SYS. Tham
s / MACHINE:N đ c t b đi u khi n A20 s đ c s d ng. Tham s này không đ c t đ ng ượ ượ
đ a vào b i th t c kh i đ t chu n nh ng l i th ng xuyên c n đ n. Trong trang 611 c a tàiư ư ườ ế
li u DOS c a Microsoft có b ng các mã chu n. Nói chung b n hay dùng nh t là /MACHINE:1.á
EMM386.EXE ph c t p h n. Sau dòng c a HIMEM.SYS là DEVICE =[PATH] EMM386.EXE ơ
v i các tham s mà b n mu n. M nh đ này có c u trúc c b n nh sau:á ơ ư
DEVICE = [path] EMM386.EXE [memory][f=address] [x=mmmm-nnnn] [RAM I NOEMS]á
Trong đó: MEMORY là l ng KB mà b n c n c p phát cho quá trình mô ph ng EMS; F =ượ
ADDRESS mô t v trí khung trang c a EMS (có tác d ng trong tr ng h p tranh ch p UMB) và ư
X = MMMM -NNNN đ c t vùng b nh cao ph i đ c lo i tr kh i s truy nh p c a ượ
EMM386.EXE (đ ng dùng các tham s F ho c X n u b n không bi t v tranh ch p). Tham s ế ế
RAM báo cho driver đ truy nh p c EMS và UMB, trong khi đó NOEMS ch cho phép truy nh p
các kh i UMB. B n c n dùng tham s này hay tham s kia n u mu n n p các trình th ng t ế ườ
vào UMB.á
Sau 2 dòng DEVICE k trên b n có th đ a vào dòng th 3: ư
DOS=HIGH,UMB.á
Dòng này k t h p 2 l nh: DOS = HIGH đ n p h t nhân h đi u hành vào vùng nh cao,ế
gi i phóng m t ph n c a 640 KB b nh qui c quý giá. L nh DOS = UMB báo cho h đi u ướ
hành là ph i duy trì m i liên k t gi a b nh quy c và UMB, cho phép n p các b đi u khi n ế ướ
thi t b và TSR vào vùng nh cao.áế
Sau khi ghi CONFIG.SYS ra đĩa và kh i đ ng l i máy, hãy đánh vào l nh MEM/C I MORE
đ xem chi ti t k t qu c p phát tài nguyên b nh . Đ c bi t chú ý đ n l ng vùng b nh cao ế ế ế ượ
đang s d ng.á
Ti p theo, b n có th n p các driver vào vùng nh cao b ng cách so n th o l iế
CONFIG.SYS và thay DEVICEHIGH = DRIVER t i t t c các m nh đ DEVICE = DRIVER sao
cho còn đ ch trong vùng nh cao. Chú ý r ng m t s driver không làm vi c đ c bình th ng ượ ườ
khi n p vào vùng nh cao; m t s khác ch n p đ c vào vùng nh th p dù có làm th nào ượ ế
chăng n a. Cách t t nh t là th . T ng t , trong AUTOEXE.BAT hãy đ t LOADHIGH vào tr c ươ ướ
m i dòng g i t i các trình th ng trú.á ườ
Thông th ng, các ch ng trình không n p đ c vào vùng nh cao s sinh ra thông báo l iườ ươ ượ
khi kh i đ ng. T i d u nh c c a DOS hãy đánh vào l nh MEM/C I MORE l n n a đ quan sát
s khác bi t trong c p phát b nh . B n có th đi u ch nh l i n u mu n.á ế
N u vùng nh cao còn ch v n n p đ c các driver ho c trình th ng trú, hãy trình bàyế ượ ườ
l i th t s p đ t trong các t p tin c u hình. B n có th dùng các b qu n lý b nh th ba đ
t n d ng các trình t i u và b n p cao c p h n. ư ơ