Hệ Điều Hành Linux

download Hệ Điều Hành Linux

of 18

description

Brief about Linux in Vietnamese language.

Transcript of Hệ Điều Hành Linux

H IU HNH LINUX1. Linux l g?

Linux l h iu hnh. V mt nguyn tc h iu hnh cng l mt software; nhng y l mt software c bit c dng qun l, iu phi cc ti nguyn (resource) ca h thng (bao gm c hardware v cc software khc). Linux cn c gi l Open Source Unix (OSU).Ngoi ra linux cng l tn ht nhn ca h iu hnh. N c l l mt v d ni ting nht ca phn mm t do v ca vic pht trin m ngun m.

2. Lch s hnh thnh v pht trin ca h iu hnh Linux

Phin bn Linux u tin do Linus Torvalds vit vo nm 1991, lc ng cn l mt sinh vin ca i hc Helsinki ti Phn Lan. Lunix pht trin da trn h iu hnh Minix(HH c thit k chy trn cc b vi x l 8086 ca Intel). Mt h iu hnh c cu trc tng t Unix vi cc chc nng ti thiu c dng trong dy hc.

Khi u, Linux c pht trin cho dng vi x l 386, hin ti h iu hnh ny h tr mt s lng ln cc kin trc vi x l, v c s dng trong nhiu ng dng khc nhau t my tnh c nhn cho ti cc siu my tnh v cc thit b nhng nh l cc my in thoi di ng.

Hin nay, Linux l mt h iu hnh vi m ngun m (Open Source) v min ph (free) di bn quyn ca t chc GNU (Gnus Not Unix). Linux c c s h tr bi cc cng ty ln nh IBM v Hewlett-Packard, ng thi n cng bt kp c cc phin bn Unix c quyn v thm ch l mt thch thc i vi s thng tr ca Microsoft Windows trong mt s lnh vc. S d Linux t c nhng thnh cng mt cch nhanh chng l nh vo cc c tnh ni bt so vi cc h thng khc: chi ph phn cng thp, tc cao (khi so snh vi cc phin bn Unix c quyn) v kh nng bo mt tt, tin cy cao (khi so snh vi Windows) cng nh l cc c im v gi thnh r, khng b ph thuc vo nh cung cp. Mt c tnh ni tri ca n l c pht trin bi mt m hnh pht trin phn mm ngun m hiu qu.

Nm 1991 Linus Torvalds, sinh vin ca i hc tng hp Helsinki, Phn lan, bt u xem xt Minix, mt phin bn ca Unix lm ra vi mc ch nghin cu cch to ra mt h iu hnh Unix chy trn my PC vi b vi x l Intel 80386.

Ngy 25/8/1991, Linus cho ra version 0.01 v thng bo trn comp.os.minix ca Internet v d nh ca mnh v Linux.

1/1992, Linus cho ra version 0.12 vi shell v C compiler. Linus khng cn Minix na recompile HDH ca mnh. Linus t tn HDH ca mnh l Linux.

1994, phin bn chnh thc 1.0 c pht hnh.

Qu trnh pht trin ca Linux c tng tc bi s gip ca chng trnh GNU (GNUs Not Unix), l chng trnh pht trin cc Unix c kh nng chy trn nhiu platform. n hm nay, cui 2001, phin bn mi nht ca Linux kernel l 2.4.20, c kh nng iu khin cc my a b vi x l ( hin ti Linux h tr my tnh c ti a 16 CPUs) v rt nhiu cc tnh nng khc.

3. S b v h thng Linux.

H thng Linux gm ba thnh phn v shell:

- Nhn h iu hnh chu trch nhim duy tr cc i tng tru tng quan trng ca h iu hnh bao gm b nh o v qua trnh. Cc modunle chng trnh trong nhn c c quyn trong h thng, bao gm c quyn thng trc b nh trong.

- Th vin h thng xc nh mt tp chun cc hm cc ng dng tng tc vi nhn v thi hnh nhiu chc nng ca h thng nhng khng cn cc c quyn ca module thuc nhn.

- Tin ch h thng l cc chng trnh thi hnh cc nhim v qun l ring r, chuyn bit. Mt s tin ch h thng c gi ra ch mt ln khi ng v cu hnh phng tin h thng, mt s tin ch khc, theo thut ng UNIX c gi l trnh chy ngm, c th chy mt cch thng xuyn, iu khin cc bi ton nh hng ng cc kt ni mng, tip nhn yu cu logon, cp nhp cc file log

Nhn

- Nhn (cn c gi l h li) ca Linux, l mt b cc mdun chng trnh c vai tr iu khin cc thnh phn ca my tnh, phn phi cc ti nguyn cho ngi dng (cc qu trnh ngi dng).

- Nhn chnh l cu ni gia chng trnh ng dng vi phn cng.

- Mt trong nhng chc nng quan trng nht ca nhn l bi ton lp lch, tc l h thng cn phn chia CPU cho nhiu qu trnh hin thi cng tn ti.

Shell

- Ngi dng mong mun my tnh thc hin mt cng vic no th cn g lnh th hin yu cu ca mnh h thng p ng yu cu . Shell l b dch lnh v hot ng nh mt kt ni trung gian gia nhn vi ngi dng: Shell nhn dng lnh do ngi dng a vo v t dng lnh ni trn nhn tch ra cc b phn nhn c mt hay mt s lnh tng ng vi cc on vn bn c trong dng lnh.

- Linux c hai loi shell ph bin l C-shell (du nhc %) v Bourne-shell (du nhc $) v mt s shell pht trin t cc shell ni trn.

+ C-shell c tn gi nh vy l do cch vit lnh v chng trnh lnh Linux ta nh ngn ng C

+ Bourne-shell mang tn tc gi ca n l Steven Bourne.

+ Mt s lnh trong C-shell khng cn c trong Bourne-shell v v vy nhn bit h thng ang lm vic vi shell, chng ta g lnh: #alias, nu mt danh sch xut hin th shell ang s dng l C-shell; ngc li nu xut hin thng bo command not found th shell l Bourne-shell.

4. T chc h thng

4.1 H thng tp tin

Mt trong nhng c im quan trng ca Linux l n h tr nhiu h thng tp tin. iu ny lm cho n rt linh ng v c th cng tn ti vi nhiu h iu hnh khc. T nhng phin bn u tin, Linux h tr 15 loi tp tin: ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs v ufs.

Trong Linux, cng nh Unix, h thng tp tin c truy xut thng qua mt cu trc cy tha k n thay v l cc thit b xc nh (nh tn a hoc s hiu ca a). Linux thm nhng h thng tp tin mi vo cy ny khi n c thit lp (mount). Tt c h thng tp tin c thit lp vo mt th mc v c gi l th mc thit lp.

Khi mt a c khi to, trn a c chia thnh nhiu partitions. Mi partition c mt h thng tp tin. H thng tp tin ca Linux coi nhng thit b khi mt cch n gin nh l mt tp hp tuyn tnh cc khi m khng quan tm n t chc vt l trn a. Chng trnh iu khin thit b khi chu trch nhim nh x khi cn c thnh v tr vt l c th trn a.

Trong h thng tp tin ca Linux, ngi s dng khng quan tm n nhng khc bit ca chng trn nhng thit b vt l khc nhau. H thng tp tin khng ch trn h thng cc b m cn l nhng a t xa trn mng. V d mt h thng tp tin ca Linux:

AEbootetclibopttmp

CFcdromfdprocrootvar

Dbindevhomemntlost+found.....

H thng tp tin u tin Linux h tr l Minix cho php tp tin c tn ti a l 14 k t v kch thc khng vt qu 64Mb. H thng tp tin c th u tin ca Linux l 1 h thng tp tin m rng (EXT) c gii thiu vo thng 4/1992, h thng ny khng hiu qu nn sau vo nm 1993 1 h thng tp tin m rng th h 2 c thm vo.

C mt im quan trng khi h thng tp tin EXT c a vo Linux. H thng tp tin tht b tch khi h iu hnh v cc dch v h thng bng mt tng giao tip gi l h thng tp tin o VFS. VFS cho php Linux h tr nhiu loi h thng tp tin khc nhau, mi loi c xem nh l mt giao tip phn mm vi VFS. Tt c chi tit ca h thng tp tin c chuyn i sao cho chng xut hin nh nhau i vi phn cn li ca ht nhn Linux v cc chng trnh thi hnh trong h thng. Lp VFS cho php thit lp mt cch trong sut nhiu h thng tp tin khc nhau cng lc. VFS c ci t sao cho vic truy xut cc tp tin ca n nhanh nht c th v n cng m bo tnh chnh xc khi truy xut.

VFS t cc thng tin ca mi h thng tp tin vo b nh mi khi chng c thit lp v s dng. Cc cu trc d liu m t tp tin v th mc truy xut c to v hy thng trc. Khi cc khi c truy xut, chng c t vo vng m. Vng m khng ch lu gi d liu m cn h tr qun l giao tip khng ng b vi b phn iu khin thit b khi.

H thng tp tin m rng th h 2 EXT2L h thng tp tin thnh cng nht ca Linux. H thng ny, cng nh cc h thng tp tin khc, c xy dng trn c s cc khi d liu. Cc khi d liu ny c cng kch thc v mi kch thc tp tin c lm trn thnh mt s nguyn cc khi ny.

EXT2 nh ngha h thng tp tin bng cch m t mi tp tin trong h thng bng mt cu trc I-node duy nht v mi inode c mt s nh danh. Cc I-node ny c t trong bng I-node. Cc th mc trong EXT2 c xem nh nhng tp tin c bit cha nhng con tr n cc i-node ca cc entry.

Hnh 15.1 cho thy tng quan ca h thng tp tin EXT2. H thng ny chia nhng partitions m n qun l vo cc Block Group.

4.2 iu khin thit bNh cp trong phn qun l nhp xut, mt trong nhng mc tiu chnh ca h iu hnh l gip cho ngi s dng c lp vi thit b. Trong Linux, cc thit b phn cng u c xem nh l cc tp tin thng thng : chng c th c m, ng , c , ghi, v s dng cng nhng li gi h thng thao tc. Mi thit b trong h thng u c biu din bi cc tp tin thit b, v d a IDE u tin ca h thng c biu din bi /dev/hda.

Linux nh x tp tin thit b vo cc li gi h thng. Linux h tr ba loi thit b l: k t, khi v mng. C nhiu chng trnh iu khin thit b khc nhau trong ht nhn ca Linux nhng chng cng chia s nhng thuc tnh chung:

+ M ngun ca ht nhn: chng trnh iu khin thit b l mt phn ca ht nhn v cng nh nhng on m ngun khc nu n b li n c th e da nghim trng n h thng.

+ Chng trnh iu khin thit b cung cp mt giao tip chun vi ht nhn ca Linux. Chng s dng nhng dch v chun t ht nhn ny.

Hu ht cc chng trnh iu khin thit b ca Linux c np nh nhng n th ca ht nhn khi c yu cu v c g ra khi n khng cn c s dng na.

Khi khi ng h thng mi chng trnh iu khin thit b c khi to v n s tm thit b phn cng m n s iu khin.

Linux s dng c ch DMA v s dng mt vector cu trc dma_chan qun l cc knh DMA (mi knh c mt vector).

Mi lp iu khin thit b: k t, khi, mng cung cp nhng giao tip chung vi ht nhn. Khi mt thit b c khi to, thanh ghi iu khin thit b bn trong ht nhn ca Linux c thm mt entry trong vector chrdevs ca cu trc devive_struct. Mt nh danh(id) c xc nh cho vector ny v l c nh. Mi entry trong vector chrdevs, mt device_struct gm hai phn t : mt con tr n tn ca thanh ghi iu khin thit b v mt con tr ti khi ca tp tin thao tc. Khi ca tp tin thao tc ny l a ch ca nhng th tc trong chng trnh iu khin thit b m chng kim sot nhng thao tc nh m, ng, c, ghi. Ni dung ca /proc/devices cho cc thit b k t c ly t vector chrdevs.

Cc thit b khi c truy xut nh nhng tp tin. Linux qun l cc thanh ghi thit b khi bng vector blkdevs, v tng t nh vector chrdevs mi entry ca n l cc cu trc device_struct nhng c hai loi thit b khi: SCSI v IDE. Mi chng trnh iu khin thit b khi phi cung cp mt giao tip vi vng m cng nh nhng thao tc tp tin thn thng. Cu trc blk_dev_struct bao gm a ch ca cc th tc c yu cu v mt con tr n nhng cu trc d liu cn thit, mi cu trc ny s i din cho mt yu cu t vng m cho nhng iu khin c hoc ghi mt khi d liu.

Trong Linux, mi thit b mng l mt thc th c th nhn hoc gi gi d liu. Mi thit b mng c biu din bng mt cu trc device. Cc chng trnh iu khin thit b mng s ghi nhn nhng thit b m chng s iu khin trong qu trnh khi to mng lc khi ng h thng. Cu trc device cha nhng thng tin v cc thit b v a ch ca cc hm h tr nhng nghi thc v dch v mng khc nhau. Nhng hm ny ch yu tp trung vo vic chuyn d liu s dng cc thit b mng. cc thit b s dng cc c ch h tr mng chun chuyn d liu nhn c cho lp nghi thc thch hp. Tt c cc gi d liu chuyn v nhn c biu din bi cu trc sk_buff, y l mt cu trc linh ng cho php cc tiu (header) nghi thc mng c th d dng thm vo hoc loi b.

Cu trc device lu nhng thng tin v thit b mng: tn, thng tin v ng truyn, c trng thi giao tip(m t cc thuc tnh v kh nng ca cc thit b mng), thng tin v nghi thc, hng i gi tin(y l hng i ca cc gi sk_buff ch chuyn d liu trn thit b mng ), cc hm h tr (mi thit b cung cp mt tp hp cc th tc chun c gi bi lp nghi thc).

4.3 Qun l tin trnh

Mi tin trnh trong Linux c biu din bng mt cu trc d liu task_struct (task c ngha l tin trnh trong Linux). Linux s dng task vector qun l cc con tr n cc task_struct, mc nh l c 512 phn t. Khi mt tin trnh c to ra, mt task_struct mi c cp pht trong b nh v c thm vo vector task. Linux h tr hai loi tin trnh l loi bnh thng v loi thi gian thc. Cu trc task_struct gm nhng trng nh sau: trng thi (thi hnh, ch, ngng, lng chng), thng tin lp lch, nh danh, thng tin lin lc gia cc tin trnh, lin kt, nh thi gian, h thng tp tin, b nh o, ng cnh.Trong Linux cng nh Unix, chng trnh v lnh c thc hin theo c ch thng dch. B thng dch c gi l shell. Linux h tr nhiu loi shell nh sh, bash, tcsh. Tp tin thi hnh c nhiu dng, dng c s dng thng dng nht trong Linux l EFL, ngoi ra Linux cng c th hiu c nhiu dng tp tin khc.Cc c ch thng tin lin lc gia cc tin trnh c s dng l tn hiu (SIGNALS), ng ng (PIPE), sockets, semaphore v b nh chia s.C mt tp hp cc tn hiu c nh ngha trc, cc tnh hiu ny c th c pht sinh bi ht nhn hoc nhng tin trnh khc trong b nh. Linux ci t cc tn hiu trong task_struct. Khng phi mi tin trnh trong h thng c th gi tn hiu n mi tin trnh khc. Tn hiu c pht sinh bng cch thit lp mt bit thch hp trong trng signal ca cu trc task_struct. Tn hiu khng xut hin cho tin trnh ngay khi n c to m phi ch n khi tin trnh c thc hin tr li.Trong Linux c ch ng ng ci t s dng hai cu trc file tr n cng inode VFS tm thi xc nh mt trang vt l trong b nh. Khi tin trnh ghi thc hin vic ghi vo ng ng, cc byte s c chp vo trang d liu chia s. Linux phi ng b qu trnh truy xut trong ng ng. Tin trnh ghi s dng cc hm th vin ghi chun.Cc c ch socket, semaphores v b nh chia s ca Linux gn ging vi h thng Unix System V.

4.4 Qun l b nhLinux h tr h thng chia s b nh IPC (Inter Process Communication- thng tin lin lc gia cc tin trnh) ca Unix System V.Linux s dng b nh o v c ch phn trang. Trn h thng Alpha AXP mt trang c kch thc 8Kb v trn h thng Intel x86 mt trang c kch thc 4Kb. Chin lc thay trang c p dng l LRU. Linux c s cp bng trang ty vo cc nn khc nhau (Alpha 3, Intel x86 2). Bng trang s c chuyn thnh cc tin trnh c th trn cc nn khc nhau, iu ny gip cho vic thao tc trn bng trang khng l thuc vo cc nn ny.Linux s dng thut ton Buddy thc hin vic cp pht v thu hi cc khi ca trang. ( 1 khi = 1, 2, hoc 4 trang)

5. Cc ng dng trn linux

Cc ng dng vn phng & multimedia

Cng vi thi gian, h iu hnh Linux ngy cng c hon thin, nhiu hng sn xut cng vi cc lp trnh vin xy dng c mt kho th vin phn mm khng l p ng phn ln nhu cu ca ngi dng.

Nu nh trong Windows c b Microsoft Office th trong Linux c nhng b Office khc nh KOffice hoc b Start Office ca hng Sun Microsystem c phn phi min ph .

Cc ng dng gii tr

Ngoi cc ng dng vn phng ra, Linux cng c kh nhiu games phc v nhu cu th gin v gii tr ca ngi dng.

H iu hnh mng v cc ng dng mng

C th ni cc ng dng mng l tp hp nhng ng dng ni bt nht ca h iu hnh Linux. Nhng kh nng m cc ng dng mng trn Linux c th thc hin c lm cho h iu hnh ny tr nn vt tri hn so vi Windows.

Linux cho php ngi dng c th cu hnh 1 server vi y cc ng dng c bn nht ca Internet : Domain Name Service (DNS), Web Server, Web Proxy Server, Routing, SMTP Server, Pop3 Server, Firewall.

Cc ng dng Web

Vi s bng n cc ng dng trn Internet , h iu hnh Linux h tr mt mi trng l tng cho cc server ng dng.

Cc hng phn mm ni ting u nghin cu lm sao c th ci cc ng dng ca h ln Linux. Tiu biu l cc ng dng sau:Oracle Internet Application Server 9i ,IBM WebSphere.Cc ng dng c s d liu

Cc ng dng c s d liu l khng th thiu trong lnh vc CNTT cng nh cc ngnh khc. Mt khi ni n s tin hc ho trong mi lnh vc ca i sng th d t, d nhiu cng phi lin quan n c s d liu .

Linux h tr kh mnh cc h qun tr c s d liu t min ph n cc h chuyn nghip nh :Postgres SQL,MySQL,Oracle Database Server 9i, IBM DB2. Cc ngn ng lp trnh

H iu hnh Linux c vit li hon ton t u bng ngn ng C nhm trnh vn bn quyn ca Unix . Do ngn ng lp trnh C c h tr mnh m v kh y cho vic pht trin cc ng dng mng.

Tuy nhin ngn ng C khng phi l s la chn duy nht cho vic lp trnh trn Linux. C nhiu ngn ng lp trnh khc cng c h tr bi Linux c lit k di y:

Ada, C, C++, Forth, Fortran, Icon, Java, Lisp, Modular 2, Modular 3,Oberon,Objective C, Pascal, Perl , Prolog, Python, Smalltalk, SQL, Tck/Tl, Shell.

6. u, nhc im ca h iu hnh Linux

6.1 u im

6.1.1 Hon ton min ph.

Tuy vn phi tr mt khong tin nht nh no , nhng s tin chi cho ti liu hng dn, driver, h tr k thut . . . ch khng phi chi ph v bn quyn s dng. Nu khng mun tn tin, bn c th ti v Linux v cc ng dng ngay trn Web ca cc nh phn phi m chng mt ng no.

6.1.2 Uyn chuyn.Cc nh phn phi Linux c th chnh sa mi trng hot ng ca Linux cho ph hp vi yu cu ring ca tng i tng ngi dng.

6.1.3 an ton cao.V l phn mm m ngun m nn khi c li phn mm th ch sau 24h l c th khc phc c. Ngi dng c th ti v bn sa li c sn trn mng.Mt khc, cc tay vit Virus thng khng coi Linux l i tng ca h.

6.1.4 Hng dn s dng kh phong ph.

6.1.5 H iu hnh chy thng nht trn mi h thng phn cng. Cho d n nay c nhiu phin bn Linux c nhiu nh phn phi khc nhau pht hnh nhng tt c u hot ng bnh thng trn cc loi CPU khc nhau ca Intel, t Intel 486 n cc Pentium mi nht.

6.2 Nhc im

6.2.1 Ngi dng phi thnh tho.

Trnh t ci t t ng, giao din thn thin vi ngi dng ch gim nh phn no s phc tm trong qu trnh ci t phn mm, tinh chnh mn hnh, card m thanh, card mng, . . . i khi nhng cng vic ny bt buc bn phi thao tc t nhng dng lnh cc k "b him", nhm chn v rt d nhm ln (Trong khi HH Windows th ch cn theo thng bo ri Next. . .next . . . I gree . . . next ,. . . . Finish l xong).

6.2.2 Phn cng t c h tr.

Tuy c gng rt nhiu, nhng b Linux ca h vn cha c trnh iu khin cho tt c cc thit b phn cng c trn th trng.

6.2.3 Phn mm ng dng cha tinh xo.

Cc phn mm ng dng trn Linux rt sn v khng mt tin, nhng a s khng tin dng, khng phong ph. Nhiu phn mm ng dng thiu cc chc nng thng dng, c trng m ngi dng quen vi Microsofr Office.

6.2.4 Thiu chun ha.

Do Linux ton min ph nn bt c ai thch u c th t mnh ng gi, phn phi theo cc ca mnh. C hng chc nh phn phi khcnhau trn th trung, ngi dng trc khi ci t thng phi t mnh so snh tm ra sn phm thch hp.

6.2.5 Chnh sch h tr khch hng thiu nht qun v tn km.Mc d khng phi tr bn quyn, nhng ngi dng vn phi tr phi cho mi thc mc cn c gii p t nh phn phi, cho d ch l gi qua in thoi.

Kt lun: Trn y l mt s vn c bn v u nhc im ca h iu hnh Linux .Vy chng ta nn s dng h iu hnh no? Linux hay Windows? y l mt cu hi kh, hin nay vn cn rt nhiu tranh ci xung quanh vn ny. S dng h iu hnh Linux hay windows cn ty thuc vo nhu cu v mc ch ca bn l g. Hy vong cc bn c th t tm cho mnh mt h iu hnh ph hp vi bn thn.

PAGE 1

- -

_1353782297.unknown