Đề Tài Nghiên Cứu Linux Trên Hệ Thống Nhúng Và Ứng Dụng - Luận Văn, Đồ Án, Đề Tài Tốt Nghiệp

You might also like

You are on page 1of 48
TRUONG DAI HOC KY THUAT CONG NGHE KHOA CONG NGHE THONG TIN CHUYEN NGHANH MANG-MAY TINH solder. KHOA LUAN TOT NGHIEP DE TAL NGHIEN CUU LINUX TREN HE THONG NHUNG VA UNG DUNG GVHD:THS HUYNH HOU THUAN SVTH: TRAN QUANG THUAN 104102130 PHAN BA MINH 103102110 ‘TP Hé Chi Minh-Théng 3/2008 Loi cam on ‘piu tién ching em xin gti nhimg loi cam on sau sic dén Ban gidm higu tradng Dai hoc KY Thugt Céng Nghé,Khoa Céng Nghé Théng Tin da tin tinh gidng day, ‘uy dat cho ching em nhing kién thire quy bau. Bén canh 46, quy thay cé da tao cho chiang em nhing diéu kign tét nhdt trong hoc tap va rén Iuyén nhan céch suét nhiing nim hoe vita qua. ‘Ching em xin giri nhiing Idi biét on dic bigt va chin thinh nhdt dén thay Ths Huynh Hifu Thuan vi sy huéng din tin tinh ciing sy quan tim chu déo dé ching em e6 thé hoan thanh dé lep. ‘Chang con cing xin giti dén bd me cia ching con nhimg tinh cam va long tri nay m6t cach 16 fn tn day long. BO me dé mgt trong nhimg giai dogn kh6 khan khi thyc hign dé tai. én chiing con dé dng vign va gidp 46 ching con vé moi Va cudi cing xin durge giti Idi cam on dén tat ca cdc ban bé trong va ngoai khoa Vi nhitng sy git 40 va tinh cim ca ee ban trong nhiing nim thing noi giing dutng dai hge thin yéu. Sinh vien thye hign ‘Tran Quang Thugin,Phan Ba Minh Loi noi dau. ‘Ngay nay,véi sy phat trién ca cdc linh kign dign tir va céng nghigp san xudt vi mach,hé théng Linux nhiing di xuat hign hau nhu & khip mgi khia canh trong cue séng, tir cdc thiét bi dign tir din dung thong thuéng dén nhimg thiét bi mang cao cap. Néu so sanh cc thiét bj nay véi céc hé théng nhung truyén théng thi mite 46 phitc tap +hanh én hé théng nhang Lim don gidn héa qué trinh nghién ctu va phat trién cde sin phim, rit ngéin thoi gian va kha ning dap img cao hon rit nhiéu.Vige tich hgp hé va chi phi xay dyng hé théng vi cdc hé théng nay duge thira hwéng nhiing tinh chat wu vigt cha mt hé diéu han néi chung eting nhw Linux néi riéng, nhur tinh én dnb, nho ‘gon, thyc thi nhanh va cé kha nang can thigp su vio phan cimg. ‘Hon thé nita, cing véi céng déng str dung Linux rng lén trén khiip thé gidi va cée phan mém ma nguén mo da dang lam cho vige phat trién hé thong Linux nhing tro thanh mét chién hrge duge cac cng ty Iva chon hang dau. Nh& phan mém ma nguén md khién cho vige ty bién mOt img dyng pha hyp yéu cau tra nén dé ding hon. Nhan thire durge tam quan trong nay, dé tai thye hign vigc tim hiéu Linux cho cae hé thong nhiing va cdc img dung trén hé théng nhing. Phin cig dé cp dén trong dé tai 1a kit XUP Virtex-II Pro Development Syste Xilinx (XUPV2P). Cu thé s® tién hanh vige cdi dat hé digu hinh MontaVista Linux — mt géi Linux chuyén danh cho cdc hé théng nhiing — lén kién trie vi xir ly PowerPC40S duge tich hop trén kit XUPV2P. Ding thoi xdy dyg cdc tmg dung chay trén hé diéu hanh nay. Ung dung trong tam 1a giao tiép truyén dif ligu qua TCP/IP, vai server la img dung chay trén hé thong nhiing dai cai dat va client la img dung chay trén hé diéu hanh Windows. Ung dung cung cp kha ning upload, download dit ligu va ¢6 phan quyén véi giao dign ngudi ding than thign. Muc luc Chwong 1 Linux trén hé théng nhing. 1.1 Khai nigm co bin, 7 1.2. Hé digu hanh Linux nhiing (Embedded Linux), 1.4.2 Kha ning dap ting theo thé gian.... 1.43 Kha ning két ndi.. 1.44 Kha nang tuong tie v6i ngudi ding. 1.5 Kién tric tng quat cia mét hé théng Linux nhing. ee 1.5.1 Khéi Data Acquisition. 1.5.2. Khéi Control. 14 1.5.3. Khéi System management.. 1.5.4 Khéi User interface 1.6 Téng quan vé kernel cua Linux/Unix. 16 1.6.1 M6 hinh process/kerne 1.6.2. Thi hanh m@t process... 1.63 Téi thye thi cde process : 18 1.6.4 Khong gian dja chi cdc tién trinh: 1.6.5. Sy dong bé héa va nhimg ving then chét: 1.6.6 Vide giao tiép tin higu va lién tién trinh. 22 1.6.7 Quan li tién trin! 1.68 Quan ly b9 nh 25 1.69. Device Drivers. Chuong 2 Thiét ké m6t hé théng Linux nhing. 2.1 Phan cimg hé trg.. 21.1 Kign trite CPU 2.1.2 Bus va cic chun giao tiép. 2.13 Cac thiét bj hu trv... 2.1.4 Kétndi mang .. : 2.2 Cée cong cu phat trién 23. Chon Iya va bign dich Linux kernel 34 2.3.1 MontaVista Linux 2.3.2. uClinux.. 2.3.3. Cau hinh kemel 2.4 Xéy dung hé théng thu muc géc (root filesystem) 2.4.1 Hé théng tp tin (File Systems). 2.4.2 Cée thu mye trén Linux : Chuong 3 Kit XUPV2P va g6i phan mém phat trién cia Xilinx 3.1 Kién trae phan cimg cia Kit XUPV2P. 3.1.1 Téng quan....... Z 3.12 Khéi FPGA Virtex II Pro 3.13 3.14 : 40 3.1.5. Cau triic MicroBlaze ... 3.1.6 PowerPC 3.2. Cée g6i phin mém phat trién cia Xilinx. 3.2.1 Xilinx EDK..... : 3.2.2. BSB Winzard (Base System Builder) . Chuong 4 Thi ké hé théng nhing ding Linux. 4.1 Nhiing eéng ey thye hign. 4.1.1 Hardwar 4.1.2. Software... 42 Kiém tra kit XUPV2P. 4.3 Thiét ké phan cimg cho hé théng véi Xilinx BSB 4.3.1 Cau hinh sir dyng b6 xir ly PowerPC....... 4.3.2. Cu hinh cdc thiét bi ngoai vi, 43.3. Céu hinh phan mém, 44° Thiét tap mdi trudg bien dich che... 4.5 Bién djch nhan MontaVista Linux trén kién trie PowerPC405......100 4.5.1 Tai kernel source va chuin bj driver, 100 4.5.2 Cau hinh nban,, 102 4.5.3. Tao ACE file cdu hinh cho FPGA va nap anh kernel 105 4.5.4 Qué trinh khoi dong Linux trén kit XUPV2P .. 107 4.6 Xay dung cdu tric thu muc géc cho hé diéu hanh 108 Chuong 5 Lap trinh img dung Server chay trén hg thang nhing va Client trén Windows. 112 5.1 M6 ta hé thing file server cia uClinux. sone $5.2 Cdu tric lip trinh:. Z 113 5.3 Luu dé thiét ké:, 114 5.4 Chuong trinh File Client MP3 trén Visual C++ MECS .. soe 5.4.1 GiGi thigu - 115 5.4.2 Chuong trinh File Client MP3: . al 16 5.4.3. Giao dign File Client MP3: Error! Bookmark not defined. Chuong 6 Giéi han ca dé tai va hung phat trién trong twong 118 6.1 Téng két nhimg phan da thyc hién.... el 1B 62 Gidihan 118 6.3 Huéng phit trién trong tuong lai. 118 ‘Nghién ctu Linux trén hé thong nhung va img dung. Chuong1 Linux trén hé théng nhing 1.1. Khai nigm co ban Linux li m6t tir thay thé cho nhén Linux, mét hé théng Linux hay mét ban phan phi Linux (Linux distribution), Khai nigm vé Linux cing cé thé hiéu don gidn 1a mot ‘hé diéu hanh. Chinh xéc thi Linux ding dé chi hat nhan duge Linus Tovalds phat trién va duy tri. Ma nén ting nay chi bao gbm hat nhdn va khong c6 mot mg dung kém theo hac. Hat nhan chi cung cp cho phan Idi cita hé thong kha nang quan ly phan cig dé dang. Né khéng phai 14 phin mém dau tién durge hé théng thye thi, vi thye chat 1a bootloader s€ duuge thye thi trade. Tuy nhién, mot khi hat nhdn duge thye thi, nd sé khdng bao gid thoat hay trao quyén diéu khién ca hé théng cho dén khi hé théng tit. NO c6 tac dyng diéu khién tat ca phin cimg va cung cap nhimg kha nang quan ly 6 cdip 6 logic cao, vi dy nhur cdc tién trinh, sockets, tip tin va ede tmg dung khée chay trén ‘hg théng. Linux cling e6 thé ding dé thiét ké chuyén bigt cho mét hé théng phan cimg cling véi nhiéu img dung khac, M6t nhém phat trién thudng dé cap dén vin dé ho sit dung Linux trong cdc san phim méi cia ho, ho muén néi dén khdng chi 1a hat nan Linux ma con kém theo céc tmg dung trén san phim méi nay. Diéu nay e6 ¥ nghia chi mét hé théng Linux ngoai hat nhan cén kém theo mt sé lugng Ién céc phan mém cling chay véi hat nbn. Thong thudng I cde phn mém GNU, cde thur vign C va cdc ‘tip tin nhj phan cua tg dung . Cling c6 thé bao gom ca giao dign do hoa va kha ning dap ting real-time. Hé théng Linux 6 thé xay dung theo tity thich, ho&c ¢6 thé dya vao céc g6i phan phéi cia céc nha cung c4p. Nhém phat trién nao d6 cé thé xy dug mot hé théng theo ¥ thich cia ho, va nguge lai, ban cé thé ding cdc phién ban cé giao dign 45 hoa va cdc tign ich tién loi khae niu g6i Red Hat, Debian hay Fedora Core. Nhting hé thong Linux c6 nhiéu mye dich sit dung khae nhau, chay nhimg img dung khéc nhau SVTH: Tran Quang Thuan — Phan Ba Minh. ‘Nghién ctu Linux trén hé thong nhung va img dung. ngoai trir phin hat nhin cé tic dung khéng hé thay déi trén cac hé théng. Cac phan phéi nhu Red Hat, Mandrake, SuSE, Debian, Slackware, Caldera, MontaVista, Embedix, BlueCat, PeeWeeLinux, va cde phan phéi Linux khae ¢ thé khée nhau vé kich thude, gid ed, muc dich sir dung nhumg Iai ¢6 mot diém chung t: cung céip cho ngudi ding tip hop file va ning cach thite cdi dat d8 ngudi ding xay dyng hat nhin cling cdc img dung khéc trén nhiéu loai phan cing tiy theo myc dich xée dinh. Céch thie cai dit c6 thé hoan toan ty déng hoje timg bude chi tiét trong tai ligu duge cung cp tay theo ngudi ding thong thudng hay cdc nha phat trién hé théng. 1.2. H6 diéu hanh Linux nhiing (Embedded Linux) Thong thutng ban sé sir dung mét phién ban Linux chinh thite due cung cp ‘béi nhimg hang cung cép phan mém cho hé thong ciia ban. Nhung ddi khi, ban lei muédn ding mét géi Linux duge thiét ké véi hat nhan pha hgp voi thiét bi dic igt hose chi hé try chuyén biét cho mt img dyng nao dé. Cac géi Linux cung cp rat nhiéu nhn khée nhau, vi du nhu cfc nhén Linux théng thuong khong duge t6i wu va kém cite ban va dé hé try kha nang chay cic céng cy debug, chang hgn nhu céng cy debug . Biém khic bigt chi yéu la e4c nhin ding cho hé théng nhiing khéc véi ding hat nhan cho nhé cho cic may tinh (workstation) hay may phyc vy (server) 6 céch cu khi bién dich. Thuat ng Linux va bao ham ca y i¢ théng Linux nhiing” chi nhimg hé théng nhing dya trén nhan nghia str dung nhimg thu vign dic bigt va cae céng cu nguei dang cing véi hat nhan, M6t géi cung cp hé diéu hanh Linux nhiing ciing c6 thé bao gém ci nh6m céc g6i céng cu phat trién (development framework), hoc nhom cic phn mém duge thay déi dé cé thé sir dung trén hé théng nhung hode ca hai, Nhém cae géi céng cy phat trién bao gdm céc phin mém phye vu cho vige dé dang phat trién trén hé théng nhiing, Nhu cdc trinh duyét ma nguén (source browser), cae bé bién dich chéo, sira 16i, phan quan ly dy an, tgo boot image...Goi céng cy phat trién nay s8 duge cai dat trén may host. Nguge lai, déi voi nhém cae phin mém_ img dyng trén hé thong nhiing sé duge thye thi trén sarger la cac hé théng nhung, nh cée thur vign dic bigt, céc tp tin thye thi vA céc tip tin cdu hinh, véi gidi phdp ting SVTH: Tran Quang Thudn ~ Phan Bé Minh. ‘Nghién ctu Linux trén hé thong nhung va img dung. quat thi né cing sé bao gdm ca céng cy tao ra cau trae thu myc géc cho hé théng (root filesystem), Nhu vay dén day ching ta c6 2 khai niém host va target. Host s8 ding dé chi méy tinh phat trién cho hé théng nhiing, va target dé chi cdc hé théng nhiing. = = toa tvconest padi inh 1-1: Khi nim host vi target 1.3 Real-time Linux Ban dau, real-time Linux ding dé chi dy 4n RTLinux dura ra vio nim 1996 cita Michael Barabanov dui dy giam sit cia Victor Yodaiken. Dy an nhim cung cap kha. ning dap img thoi gian chinh xéc trong moi trudmg Linux. Tuy nhién, ngay nay cé rat nhiéu dy dn cung cdp kha nang dép img real-time ‘trong méi trvéng hé diéu hanh Linux. RTAI, Kurt hay Linux/RK déu cung cdp kha ning real-time. M6t s6 dir dn cai tién kha ning real-time bang cach thém mét hat nhan thir 2 vao trong hat nhan Linux, mt s6 khéc cai thign biing cde ban va t6i uu hon. Céc khdi nigm vé real-time o6 vé khé hiéu nhumg chiing ta ciing cd thé hiéu don gin hon, dé 1a nhimng hé théng dam bao cé thé hoat dong va dap tg gn nhu tire thoi va c6 do tin cay cao, Nhu cac hé théng audio stream hay cdc may trong céng nghiép, dic biét chi trong nhiing dap img vé théri gian. Ching ta sé hiéu thém khi di vao phn logi cic ‘hé théng Linux nhing. 1.4. Phan loai hé théng Linux nhing Nhiing hé théng nhing nao c6 thé sir dung Linux? Vi sao lai chon Linux? ‘Nhiing vin dé quan trong ndo phat sinh khi sir dung Linux trén hé théng nhang? Hay c6 bao nhiéu ngudi thyc sy ding Linux trén hé théng nhiing cla ho? Va ding nhu thé nao? Cé Ié cin rit nhidu cau héi khéc phat sinh khi lam quen véi Linux trén hé théng nhing. Diy cé 1é 1a nhig cau hoi khé tra léi 6 thi diém nay, phin nay sé 6 ging gidp ban cé cai nhin ting quat va phan nao tim duge cau tra loi. SVTH: Tran Quang Thuan — Phan Ba Minh. ‘Nghién ctu Linux trén hé thong nhung va img dung. Ching ta c6 thé thiy don gin nhdt la céc thiét bj mang théng dyng, nhw céc router hay may in mang cho phép ngudi ding cdu hinh thing qua web-base. Ching déu durge tich hop mét nhan Linux dé cé thé thye hign nhiing céng viée dé. Néu xem xét thi trong rit nhiéu linh vyc déu cé sy hign dign cita Linux nhung. O day ching ta sé diém qua bing céch phn logi céc hé théng linux nhing theo céc tigu chi: kich thucie, kha ning dap img thai gian, két néi va kha nding turong tée voi bén ngoai 1.4.41 Kich thuoc Kich thude ciia cac hé thong Linux nhing duge xac djnh & nhiéu phuong dign khde nhau. Dau tién 1a kich thuée thye bén ngoai dén nhimg don vi may tinh nhur tée 4 CPU, dung Iugng RAM va hau tit. Bi Linux khong thé chay trén céc hé théng 16-bit', néu so sénh véi cac thiét bj nhing: truyén théng thi hé théng Linux nhiing cé thé duge coi li nhiing hé théng lon. ‘Déi véi nhitng hé théng nhé sir dung nhimg CPU téc d6 thdp, voi chi khoang 2MB ROM vi 4MB RAM. Diéu nay khong 6 nghia 1a Linux khong thé chay véi dung lung RAM thép hon, nhumg s€ khé thye hign. Hign tai van 6 nhimg phin phdi thude cia dang chi § & day 1a Linux chi cdn hyu trit trén duy nhat mot dia mém. ‘Nhimg hé théng trung binh duge tich hgp cae CPU co téc d6 tuong doi va ding khong 32MB ROM va 64MB RAM. Hau hét nhiing san phim tiéu ding déu nim & i, thidt bj mang. Mot s6 thiét bi cdn cé kha nding mé rdng hu trit trén cdc thé nhé, CompactFlash kich thude nay. Nhu cde may PDA, may choi MP3 hay céc hé théng giai card, thm chi ca dia cimg théng thug. Cac hé théng Ién sir dung bd xir ly manh hode da bd xir ly, két hgp véi dung Iugng RAM va dung higng hau tr Kin. Thong thurimg céc hé théng nay duge sit dung trong nhiing méi truéng cn xir ly khdi lugng lén cac phép tinh dé thyc hign cac tac vy chuyén bigt. Hé théng chuyén mach trong théng tin thoai, hay vige gia lap bay. Cac hé "Noi Linux khdng thé chay tén he thing 16-bit King hodn tin chinh née, 48 ting 66 dy én Embeddable Linux Kemel Subset (ELKS), chay Linux tn efe he thing xir lef nr Intel $086 hay 268, ‘Nhumg vi spt idm hign nay hi Linux ed hg tng 1 gi php king h8 Kh thi SVTH: Tran Quang Thuan ~ Phan Ba Minh. -10- ‘Nghién ctu Linux trén hé thong nhung va img dung. théng nay dat chite nang Ién hing dau va cdc yéu t6 kich thuée, gid thanh va 46 phic tap chi li thir yéu. 1.4.2 Kha nang dap teng theo thdi gian Cé hai mite 46 dap img theo thi gian cho hé théng nhing: nghiém ngat va théng thudng. Déi véi hé théng 46i hoi dap tng nghiém ngat vé thoi gian, né phai phan img tai trong mt thoi gian xée dinh dura ra, néu khOng thi sé c6 nhimg hau qui nghiém trong xay ra. Gia sir trong mot nha mé ‘cong nhan gitt nhimg vat ligu cin ci duge cit bing cac may cat ty dong. Vi ly do an toan, cdc cam bién quang duge d3t ‘xung quanh cde luéi dao cia may cit dé nhan dang mau sic ging tay cia nhiing cong nhan, Khi hé théng bao tay cia nguiti cong nhan dang trong ving nguy hiém, lap tite cdc ludi dao phai ngimg hoat dOng dé bao dim an toan. Hé théng nay khong thé Lim. tie vu nao khe dé gii phéng tai nguyén b9 xir ly. Day Li mot hg théng ddi hoi dip img cyc ky nghiém ngit vé théi gian va dG tin cay. Cac hé théng audio cing phai cd dap tg théi gian nghiém ng3t, nhimg dogn am thanh tré chi trong nat théi c6 thé Lam ngudi ding rat khé chju. Tuy nhién hé théng nay cing can dap img thi gian chinh xi nhung mire a9 khOng quan trong nhu 6 vi dy trén, Cac hé théng dap img théi gian théng thuong cé rit nhiéu img dyng nhat 1a trong nhimg img dung ma van dé thoi gian khéng quan trong. Vi dy nhu hé théng tra lai ty dong cn dén 10 gidy 48 chuyén déi, hay céc may PDA cing cin mot thi gian cho dé khoi dong. 1.4.3 Kha nang két néi Kha ning két ndi dé chi céc hé théng cé thé két ndi dén cac thiét bi mang khéc. ‘Ngay nay ching ta mudn moi thir cé thé truy cp théng qua hé thong mang. Vi vay, dé cé kha ning dap img diéu nay, nhimg yéu cu co ban cho m6t hé théng din duge xay dyng thém. M6t trong nhimg nhan t6 khién moi nguéi chon Linux lam hé diéu hanh cho hé thong nhung cua ho, chinh 1a & kha nang két ndi cia Linux. Gidm gid thinh va nhiing thanh phin 4a chudn h6a ciia Linux edng Khién moi ngudi sir dung n6, Don gian nhu viée ban cé thé gin mot thiét bi két néi khong day vao may Compaq iPAD bing céch cim mt PCMCIA (Personal Computer Memory Card International Association) vao khe cam cita may, né c6 thé s ir dung ngay ip te. SVTH: Tran Quang Thuan ~ Phan Ba Minh. -H- ‘Nghién ctu Linux trén hé thong nhung va img dung. 1.4.4 Kha nang tong tac v6i ngudi ding Mite d6 tuong tac voi nguti ding tay theo timg hé thong, MGt s6 hé théng nhur cée may PDA tip trung vio ede tinh ning giao tiép véi ngudi sir dung bing cée man ‘hinh cam img. Trong khi cdc hé théng diéu khién cng nghiép khic chi cin cic LED /hién thj va cac mit nhan dé giao tiép v6i ngudi ding, cén c6 nhimg hé thong khéng he 6 giao tiép nao ca, nhu mét sé thanh phan cua hé théng ty Idi trén cde may bay, chi don thudn diéu khién an toan cho cénh ma khéng can giao tiép véi phi cong. Dap img thoi Mite db giao Hé théng | Link vue | Kich thuée | 9? "™® Kétndi eee ian véi ngwéi ding Ketr | Khong cai z z iemngst | C6 C20 hinh | gian ae Thigtby | Tiga ; : Nho | ‘Thong thuimg | Khéng Rit eao wolysé | ding B6 dinh tuyén Mang Nhé. Théng thuéng co ‘Thip (router) ‘Baing I-1: Cie de digm cia hg thbng 1.5 Kién trac téng quat cua mét hé théng Linux nhing Dé cé thé giai thich don gidn, ching ta sé xem xét mot hé théng diéu khién cdc tién trinh céng nghigp. N6 duge thiét ké tir cdc may tinh két ndi mang va tat ca déu sir dung Linux. Hinh 1-2 thé hién cdc khéi don gidn ed Uermer Oem ‘Hind 1-2: Mot kgm trite vi dy ign ink Bén trong hé théng, duge xdy dung tir 4 thanh phin khdc nhau, méi thanh phan phye vu cho mét mye dich khéc nhau: Data acquition (DAQ), Control, System Management (SYSM) va User interface (UI). Két ndi bén trong giita cac thanh phan sir SVTH: Tran Quang Thuan — Phan Ba Minh. -12- ‘Nghién ctu Linux trén hé thong nhung va img dung. dung cdc giao tiép va céc giao thite rit phd bién TCP/IP trén Ethenet. Khéi DAQ va Control durge cai dat trén m6t dung truyén riéng, cdc UI cing nhu vay. Dé cé thé giao tiép voi bén ngoai, khdi SYSM cé mot két ndi véi hé thong mang bén ngoai. Dé diéu n trinh trong ede thanh khién m6t tién trinh, hé thng luén can biét trang thai ciia cic phn khdc nhau. Lay dit ligu dé lam gi, khi c6 dit ligu, hé théng c6 thé biét duge Lim én trinh. Moi Iénh diéu khién déu xuat phat tir khoi Control. Chi tiét vé nhimg tién trinh dang dugc diéu khién cin phai tong tic hoge hién thi voi é nao dé quan ly ngudi ding, ciing phai c6 su giao tiép dé van hanh nhing tién trinh nay theo ¥ muén, digu nay duge thyc hign tir cdc khéi UL. Dé két hop tit ca nhimg khdi risi rac nay, tap ‘trung ché chira cae dit ligu va quan ly cdc interface, khéi SYSM duge dat 6 trung tim déng théi cho phép két néi ra mang bén ngoai. Chiing ta s8 di sau vao timg khéi dé tim higu chi tiét hon, 1.5.4 Khéi Data Acq ‘Thanh phin dau tién cia qué trinh do ludng lA cdc bd chuyén déi. Cée bd chuyén déi li nhiing thiét bj bién adi cae hign tung vat ly thinh mét tin higu dign. ition 6 nhimg noi cn theo déi. Cac tin higu Cac b6 chuyén d4i nay thuéng dat tryc ign sinh ra tir ede b6 chuyé ‘vao thiét bi DAQ cudi cing. Thiét bi nay thug la cde DAQ card gan vio may tinh dé 46i thudng duge khuyéch dai, loc va cach ly truée khi di lay mau cac tin higu tuong ty, chuyén thanh cac gid trj sO va luu trit trén cdc b6 dgm. Dit ligu s6 nay 06 thé ding dé xac dinh cdc diéu kién hodc thay déi cdc théng sé dap {mg cho tin higu, phan hai lai khi nbn duge tin higu Khéi DAQ Iu trit cc dit ligu nhiin duge trén cde bé dém, tién hanh phan tich trén cic dit ligu nay hoae 6 thé chuyén dén khéi SYSM. Trong moi trong hop, nhiing dit ligu quan trong sé duge chuyén tiép dén khéi SYSM dé lu trit va hién thj trén cde UL. Néu ede dif ligu duge phan tich trong khéi DAQ, khéi nay sé thong bio cho khéi SYSM néu nhwr phat hign nhiing tinh hudng bat thudng hay nguy hiém, nguge lai khéi DAQ sé nhan Ignh tir khdi SYSM. Nhimg Ignh nay cé thé 1a vige thay d6i tan s6 lay mau, cae théng s6 phan tich hoe cng vige cia DAQ sé lam gi khi phan tich dit ligu xong. Déi voi khdi SYSM khi durge DAQ théng bao, DAQ sé chuyén tiép ‘théng bao trang thai hodc 16i dén khéi SYSM. SVTH: Tran Quang Thuan — Phan Ba Minh. -13- ‘Nghién ctu Linux trén hé thong nhung va img dung. Khéi DAQ thurimg khéi dng tir flash trén khéi va sir dung RAM. Vi vay né dé dang thay d6i néu nhu hé théng bj 16i. Cau hinh phan mém bao gém mét hat nhan duge tgo riéng chi chay trén m6t hé théng (cé thé 1a may PC hay mét hé théng ding in Ige voi khdi SYSM DAQ ciing khéng phai hé théng da ngudi ding va khéng cé giao tiép véi ngudi ding, PowerPC) Khéi DAQ khéng cé gino tiép voi bén ngoai ma chi Khéi DAQ chi cén thye thi m6t céng cy do long nao dé. Ciing gidng nhw géi BusyBox. Dia chj IP cua khdi DAQ duge thiét ké cé dinh, vi vay khdi SYSM sé dé dang kiém tra DAQ cn hoat dong hay khong. 1.5.2 Kh6i Control Diu khién cdc tién trinh truyén théng nhu PLC hay nhiing hé théng tuong ty rit mac tién va phai sir dyng nhimg hé diéu hanh riéng, dng thdi cing phai cd céch van hanh riéng. Mac dau cae phin ctmg chudn céng nghigp cing bit dau gidm gid thanh theo xu thé céng nghé. V6i myc tiéu gidm gia thanh nhiing phan cimg ngay nay trén thj trudng tiéu ding, dé ding nh4n thdy cde may PC 6 wu thé duge ding dé quan 1y cde quy trinh, Khéi Control Ja m6t may tinh chuan céng nghigp két ndi véi cdc phan cig can duge digu khién. May tinh nay 1 mét hé théng nhing kich c6 trung binh véi kha nang dap img nghiém ngat vé thoi gian va khong cé tuong téc ngudi ding giéng nhu khéi DAQ. Né ciing duge néi yao phn cén lai cua cd hé théng Ién qua dudng truyén Ethernet. Nhigm vu chinh cia khéi Control 14 phat ra tin hiéu diéu khién phdn cimg két ndi véi n6, dng thé theo doi hogt déng cia phan cing nay dé diéu khién hgp ly. ‘Cae tin higu diéu khién xudt phat tir gdc 1a khéi SYSM, ld trung tim dua ra quyét dinh, ‘va SYMS sé quyét dinh dya vao dit ligu lay tir khéi DAQ. Khéi Control sé dua ra lénh cudi cing giri dén cho phan cimg dya trén quyét dinh cla SYSM va tinh trang cia phn cig. Khi téc vy diéu khién phn cig da hoan thanh, khéi Control sé giri mot théng bio trang thai nguge vé khdi SYSM. Khéi Control ciing cé thé boot tir flash va sir dung RAM giéng nhu DAQ, Khide 1a n6 phai sir dung mt nhan Linux e6 kha nang dip img nghiém ngat vé thi gian vi phai diéu khién nhiing phan cimg phitc tap. Né ciing cé IP tinh va cé thé bao g6m g6i BusyBox nhu DAQ. SVTH: Tran Quang Thuan — Phan Ba Minh. -14- ‘Nghién ctu Linux trén hé thong nhung va img dung. 1.5.3 Khéi System management Khéi SYSM quan ly sy anh huéng qua lai giita céc thanh phin khac trong hé théng. Khéi nay gim 3 giao tiép voi khdi DAQ, Control va mét két ndi ra mang luéi ‘én ngoai, SYSM 1a mt hé théng nhiing lim c6 di héi dap ting thoi gian nghiém nga ‘va khong e6 turong téc v6i nguéi ding. Trén lign két A (hinb 1-2) SYSM nbdin di igu tir DAQ lu trtt mot phn dtr Ligu nay va chuyén tiép cdc dit ligu thich hgp dén khéi UI dé trong tac voi nguoi ding. Dit ligu duge liu tri €6 thé sir dung trong twong lai, va tir ede di ligu nay tich ly nbiing kinh nghiém cho hé théng diéu khién. Khéi SYSM co thé nhén dit ligu da phan tich & DAQ hoje ban thin né cing e6 thé thye hign céng vige phan tich. SYSM sé dua ra nhiing Ignh diéu khién khéi Control dya trén dir ligu da phan tich va tir d6 khi Control sé diéu khién phan cimg mt cdch chi tiét hon. SYSM thyc thi nhimg chuong trinh nén thyc hign cdc tac vy lign lac gitta DAQ va khéi Control. SYSM ciing cé IP tinh dé cic khdi DAQ va Control c6 dé ding lién lac véi nd. ‘Doi v6i lién két ra mang bén ngoai, khdi SYSM cung cép giao tiép qua HTTP va SSH. HTTP cung, ‘rinh duygt web don xa va c6 tinh bio mat cao dé sita 15i kha nang theo dai va cdu hinh cho ca hé théng théng qua céc ‘SSH cung cp kha nang két ndi vao hé théng nhing théng tir wing cp hé théng. Mot trong nhiing céu ‘quan trong ciia SYSM Ia cdch né béo hig Idi va khéng c6 kha ning xir ly 16i nay. Vi du nhu théng bao bing am thanh, hay giti cdc tin higu dén nguéi van hanh hé théng hoje don gian la hién thi théng bao dén cdc UL. SYSM cé thé diing IP tinh hogc nhan IP tir mot DHCP server. G lién két B (hinh 1-2) SYSM cé thé cung cap dja chi dng cho cée UI, mot khi UI di két néi va xac nhdn véi SYSM, né sé chuyén tigp ede thng bao, trang thai hg théng. Ngudi ding cé thé dua vao dé dé van hanh hé théng. SYSM Ii mot he théng nhiing 16n vi vay né c6 thé phai boot tir hard disk va ¢6 day da chire ning nhu mét méy tinh truyén théng. Tuy nhién cdc chire ning cla nd ‘déu rat quan trong, cn thiét va phai dip tmg cdc tac vy song song. Hon nifa 1a trang tam diéu khién nén phai hd tro mdi trudng da ngudi ding cing cdc tng dung ngudi ding. SYSM gidng nhu mt server hon la cde may tinh thong thurmg. SVTH: Tran Quang Thuan — Phan Ba Minh. -15- ‘Nghién ctu Linux trén hé thong nhung va img dung. 1.5.4 Khéi User interface UI don gin chi dé tuong tic voi ngudi ding dé c6 thé dua ra quyét djnh quan ly cae tién trinh. UI thudmg 1a cac hé théng nhdng nhé véi dép img théi gian thong thuimg. Hién nhién ede khdi UI nay ciing c6 kha ning két néi mang. Cée khdi UL thong thug s& boot tir b nhé flash hay théng qua mang. UT duge céu hinh s€ nhin IP tir cde DHCP server. Ce UI tign dung thudmg phat trién trén dong ARM hay MIPS ‘va chay nhing kernel théng thuéng. UI ciing khéng can dén nhimg cong cy nguii ding, cdc tign ich 46 hoa phite tap hay céc thr vign, 1.6 Téng quan vé kernel cua Linux/Unix Kemel cung cap méi trumg cho cac img dung hoat dong. Kernel phai thyc thi mt nhém cac dich vy va giao tiép twong img, Méi mg dyng str dyng giao tiép riéng va tai nguyén phan cing danh cho img dung thudng khéng anh hudng tryc tiép lin nhau. 1.6.1 Mé hinh process/kern ‘M6t CPU cé thé hoat dong trong user mode hoic kernel mode. Mot sé CPU 6 thé cé nhiéu hon 2 ché 46 hoat dong. Vi dy, b6 vi xit ly Intel 80x86 c6 4 trang thai hoat dng khée nhau, Nhung tat cd cde kemel chudn cia Unix chi sir dyng Kernel mode vi User mode. Khi thyc thi m6t chuong trinh trong User Mode thi chuong trinh nay khong thé true tiép truy xudt nhiing céu tric dit ligu cita kernel hoe nhimg chuong trinh cia kernel, Khi m6t ting dung chay trong Kemel Mode thi nhiing gi an nay khong cdn nia. Mi loai CPU cung cp nhiing lénh dc biét dé chuyén tir User Mode sang Kernel Mode va nguge lai. mot chuong trinh chay phin 1én thoi gian & User Mode va chi chuyén sang Kernel Mode khi c6 yéu cdu mot dich vy duge cung cap béi keel. Khi kemel 43 dap img yéu chu 46 ciia chuong trinh thi kernel Iai dua chong trinh 46 tris vé trang thai User Mode. Processes la nhiing quy trinh dng, c6 quing thoi gian tin tai hitu han trong hg théng. Céc tic vy nhu tgo, loai tri va déng bé nhing tién trinh dang tén tai duge by thée cho mt nhém thung trinh trong kernel. SVTH: Tran Quang Thuan — Phan Ba Minh. -16- ‘Nghién ctu Linux trén hé thong nhung va img dung. Ban than kernel khéng phai 1 m6t process nhumg Ia m6t process manager. M6 hinh process/kernel cho riing nhiing process yéu cdu mt dich vu kernel nao dé thi sir dung cau tric lap trinh dae biét duge goi 1a 1di goi hé théng (System call). Mdi ldi goi hé théng thiét lp nhém céc théng s6 cho biét process yéu cau va sau dé thy thi theo lgnh CPU dé chuyén tir User Mode sang Kernel Mode. Bén canh nhimg tién trinh cua nguéi ding, hé thong Unix bao gom mét vai tién trinh dic quyén duge goi ld kernel thread véi nhimg dic diém: © Tién trinh chay trong Kernel Mode trong khéng gian dia chi kernel. * Tién khdng tuong tic véi ngudi ding, khéng cin bj dau cu © Tién trinh thuéng durge tao ra khi hé théng khéi d6ng va vin cdn hoat d6ng cho dén khi tit may. ‘Nén cha ¥, trén mét hé théng don, chi cé mét tién trinh c6 thé & trong User Mode ho&c Kernel Mode. Néu chay trong Kernel Mode, bé vi xir li sé thye thi mét sb ‘thi tue cua kernel. Hinh 1-3 miéu ta mét vi dy vé viée chuyén trang thai gitta User Mode va Kernel Mode. Tién trinh I trong User Mode dua ra m6t lei goi hé théng, sau d6 tién trinh nay chuyén qua trang thai Kernel Mode va li goi nay duge phye vy. Tién trinh nay sau d6 tré vé trang thai thyc thi 6 User Mode cho dén khi xay ra ngit do timer va lich trinh thyc thi dugc kich hogt trong trang thai Kemel Mode. Tién trinh hdc duge thay thé va tién trinh 2 bit dau thye thi trong User Model cho dén khi thiét ‘bj phan cimg phat ra ngat. Két qua cua ngat nay 1a tién trinh 2 chuyén sang Kernel Mode va phye vy cho ngit nay. Syste cal ‘Some Tnerupt render ‘under ‘System cat Time erp Doves item inh 1-3: sy chuyén trang thal glen User Mode va Kernel Mode SVTH: Tran Quang Thuan ~ Phan Ba Minh. -17- ‘Nghién ctu Linux trén hé thong nhung va img dung. 1.6.2 Thi hanh mét process ‘DE kernel c6 thé quan ly céc tién trinh, mdi tién trinh phai duge mé ta bai bing process descriptor (bao gm théng tin vé trang th4i hign tai cla tién trinh). Khi kernel ngimg thye thi mét tién trinh thi kernel phai luu Iai ndi dung hign tai cia nhimng thanh ghi bé xir Ii khéc nhau vao process descriptor bao gén ‘Thanh ghi program counter va stack pointer. © Thanh ghi mue dich chung. + Thanh ghi float pointer. Thanh ghi trang thai bd xir li (Processor Status Word) © Thanh ghi quan li b@ nhé ding dé theo dai viée sit dung RAM cia tién tinh, Khi kemel quyét dinh tai thyc thi m6t tién trinh, kernel ding process descriptor tuong tmg dé nap vao cac thanh ghi CPU. Gia trj luu Igi ciia program counter tro dén sau Ignh durge thye hign cuéi cing thi tién trinh tré Tai thye thi tir noi ma tién trinh bj ngung. Khi m6t tién trinh tam thdi khong thye thi trén CPU, né dang dgi mOt sé sy kign, kemel ciia Unix goi tir nhiéu trang thai chi khde. Vige niy kiém sodt bdi hing dai process descriptor. Mai hang dgi trong img mot tap tién trinh dang cho mét sé. sur kign cy thé nao 46. 1.6.3 Tai thye thi cdc process Kemel ciia Unix o6 tinh tai thyc thi: nghia 1a trong cing théi diém, nhiéu tién trinh c6 thé thyc thi trong Kernel Mode. Di nhién trén nhimg hé thong don yj xir li chi cé mot tién trinh chay nhung nhiéu tién trinh ¢6 thé bi kha trong Kernel Mode, dai nguyén CPU hoic hoan thanh vige nh§p xuét. Vi dy nhur sau khi dua ra yéu cu doc dia, kernel s@ dé bO diéu khién dia xir li nd va tre vé thuc thi nhimng tién trinh khéc. Mt ngit thong béo cho kernel biét khi thiét bj da dip img vige doe nay vi vay 06 thé ‘rd Iai thye thi tién trinh ban dau. ‘Mét phurong phap cung cp kha ning tai thy thi 1a viét nhiing ham chi c6 thé thay d6i cae bién cuc bé va khéng lam thay. vay duge goi ld nhiing hdm rd shuc thi (Reentrant functions). Nhung kernel thi Khong iu trie dit ligu toan cye. Cac ham nhur SVTH: Tran Quang Thuan ~ Phan Ba Minh. -18- ‘Nghién ctu Linux trén hé thong nhung va img dung. bj giéi han nh nhimg ham sai thye thi.. Thay vi vay, kernel e6 thé gdm nhimg ham khéng téi thyc thi va sit dung co ché khéa dé chic chin ring chi mét tién trinh c6 thé ién trinh trong Kemel Mode chi hoat d6ng trén b§ nhé cia né va khéng thé gay tro ngai véi nhimng tién trinh khdc. thi hanh Adm khdng tdi the thi tai mot thoi diém, MGi ngit phan cimg xay ra thi kernel c6 thé hoan tién trinh dang chay hién tai cho dii tig 46 dang & trong Kernel Mode. Kha nang nay e6 tinh chit quan trong ‘vi nd cai thign t6c d6 ciia b6 diéu khién thiét bj da phat sinh ngat. Khi mét thiét bj sinh ngit, thiét bi d6 doi cho dén khi CPU tra loi. Néu kernel tra loi m6t each mhanh chong thi b@ diéu khién thiét bj c6 thé thye hign nhing nhigm vy khéc trong khi CPU xtr li ngit Kernel reentrancy anh hwéng lén vige td chite cata kernel. Mét kernel control path chi 1% trinh tyr cia tap Ignh duge thyc thi bai kemel dé xir ly mot lai goi hé thing, m6t ngoai Ié, hay mot nai, Trong truimg hgp don gian nhat, CPU thyc thi mét kernel control path theo tun ty tir Iénh dau tién dén Iénh cudi cing. CPU thém vao nhimg kernel control path khi mot trong nhimg sur kign dui day xay ra: + M@t tién trinh dang thyc thi trong User Mode goi mét lai goi hé thing va. kermel control path twong img x4c dinh khéng thé théa man yéu cdu nay ngay, sau 46 n6 s® goi mot lich trinh dé chon mét tién trinh méi dura vio thyc thi. Két qua la vige chuyén trang thai tién trinh xay ra. Kernel control path di tién chua hodn thanh va CPU tai thye thi nhting kerne! control path khic. Trong truémg hgp nay, hai control path duge thye thi v6i tu cfich la 2 tin trinh khée nhau. © CPU phat hign mét ngoai 16, vi dy cé truy cap dén mot page khong c6 trong RAM trong khi dang chay m@t kernel control path. Control path dau tién bj hon lai va CPU bit dau thyc thi cae thi tue thich hyp. Thi tuc nay cé thé dinh vj mét page méi cho tién trinh va doc ndi dung ciia né tir dia. Khi tha tue két thic, control path dau tién duge goi lai. Trong. truimg hop niy, hai control path duge thye thi véi tu eéch 14 cing mot tign trinh, SVTH: Tran Quang Thuan ~ Phan Bé Minh. -19- ‘Nghién ctu Linux trén hé thong nhung va img dung. © Ngit phan cimg xay ra trong khi CPU dang chay mét kernel control path -véi vige ngit duge cho phép. Kernel control path dau tién chua hoan thanh va CPU bit dau xtr li kernel control path khac a8 diéu khién ngit. fidu khién ngat két thic. kernel control path du tién goi lai khi bd Trong tnaong hop nay hai kernel control path li su thyte thi cia cing mot tién trinh va tit ca thi gian thyre thi 6 digu khié Hinh 1-4 minh hoa control path. Xem xét ba trang thai khéc nhau cia CPU: duge tinh 1a cia nd. Tuy nhién, én trinh, ngat khéng can thiét hoat d6ng voi tu cach mgt vi du cia vige chén vio va khéng chén vio kernel ‘© Thue thi mot tién trinh trong trang thai User Mode (User) © Thyc thi mét ngoai I¢ hodic b6 digu khién Idi goi hé théng (Exep). © Thy thi b6 diéu khién ngat (Intr) ‘Hiinh 1-4: Vige chén kernel control path 1.6.4 Khéng gian dja chi cac tién trinh: ‘M4i tién trinh chay trong khéng gian dia chi riéng cia né. Mét tién trinh chay ‘rong trang thdi User Mode sit dung ving stack, dit ligu va code riéng. Khi chay trong Kernel Mode, tién trinh Iai dinh vj dja chi vang kemel data, ving code va sir dung viing stack khic. Vi kemel e6 tinh sdf thue thi, nhting kernel control path khic nhau ~ én trinh khéc nhau ¢6 thé durge thye thi lan uot. Trong trudng hop nay, méi kernel control path qui cho ving stack kernel riéng. Mi tién tinh Khi thye thi truy cp vao Khong gian dia chi riéng, phan cua khong gian dja chi duge chia sé gitta cic tién trinh. Trong mot méi cai lién quan dén mot Khi mot ‘trudng hop sy chia sé nay duge yéu cau béi cac tién trinh, mOt sé khéc thi dugc thyc hign ty dong bai kemel dé gidm bet vige sir dung bé nhé. SVTH: Tran Quang Thuan — Phan Ba Minh. -20- ‘Nghién ctu Linux trén hé thong nhung va img dung. Néu nhiéu user edn ding cing mt chuong trinh cling lic thi chi nap churong trinh vdo b6 nhé mét lan va nhimg Iénh dé c6 thé duge chia sé béi tit ca cdc user nado cin n6, Dit ligu di nhién khéng duge chia sé boi vi méi user c6 nhimg dit ligu riéng bigt. Kiéu chia sé khéng gian dja chi duge thyc hign mét cich ty d6ng béi kernel dé ‘tit kigm b6 nd. Nhing ‘rinh cing chia sé mt phn khdng gian b9 nhé 1a logi giao tiép gitta cée tién trinh véi nhau sir dung ki thudt bd nhé chia sé duge gidi thigu trong System V va duge hé tro boi Linux. Cuéi cing, Linux hé tro lai goi hé thing mmap(), la Idi goi cho phép mot phan ciia tp tin hay bO nhé trén m6t thiét bj duge anh xa 1a mét phan cia khéng gian dja chi tién trinh. Vige anh xa b6 nhé cung cap sy Iya chon doc va ghi théng thuéng cho vigc truyén dif ligu. néu nhiéu tién trinh khdc nhau cing chia sé m6t tép tin thi khéng gian dia chi cia mdi tién trinh ma chia sé tip tin s€ bao gém vige 4nh xa b6 nhé. 1.6.5 Sy déng bé héa va nhing ving then chét: Thi hanh mét reentrant kernel cin thiét sw déng bG hoa: néu mot kernel control ‘path bi hoan trong khi téc dng én cfu trie dit ligu cha kernel thi khong mt kernel control path nao sé durge cho phép tic dng 1én edu tric dit ligu nay trir khi nd durge xic lip Iai mét trang thai nhat dinh nao 46, Néu khéng thi vige anh hudng ciia hai control path c6 thé lam hong thong tin duvge Iuu tr Vi dy, gia str c6 mét bién toan cyc V chita sO myc tin c6 sn ciia tai nguyén hé théng. Kernel control path A dau tién dgc bién va quyét dinh ring chi cé mét muc tin 6 sin, tai thai diém 46, mt kernel control path B khéc duge kich hoat va cling doe bién nay, bién nay vn chita gid tr] 1. Do dé B giam m6t gid tr) V va bit dau sir dung myc tin tdi nguyén may. Sau 46 A tre lai sy thye this boi vi né d& doe gid tricia V 18i, A cho ring A cé thé gim V va ly muc tin tii nguyén ma B da sir dung rdi. Két qua cudi cing V chita -1, vi hai kernel control path dang sir ding, cing myc tin tii nguyén vi sai sot tiém tang. Trong vi du trade, vige hong dit ligu sé khong xay ra néu hai control path doc va gidm V véi qua trinh hogt dng don Ié, khong gién doan. Tuy nhién kernel bao gsm rit nhiéu cau trac dir ligu ma khéng thé truy xuét chi bing mét hanh dng don Ie. Vi SVTH: Tran Quang Thuan ~ Phan Bé Minh. -21- ‘Nghién ctu Linux trén hé thong nhung va img dung. dy, khéng thé go bo mét phan tir tir m6t danh sdch lién két bing mét hanh dng don le, béi vi kernel cn truy xudt it nhdt hai con tré cing mét lic. Bat cir doan code cdn phai duge hoan thanh trade tién trinh khée bat dau duge goi la viing then chot (Critical region). Nhiing van dé xay ra khéng nhiing gitta cdc kernel control path ma con gitta jong b6 héa khée nhau van durge cc tién trinh chia sé dir ligu chung. Nhimg ki thuat chip nhan. 1.6.6 Vide Tin higu Linux/Unix cung cp co ché dé thong bao nhiing tién trinh cia nhing jiao tiép tin hiéu va lién tién trinh sy kign trong hé thong. MGi sy kign cé s6 tin higu cua riéng né vi dy nhw SIGTERM. C6 2 logi str kign he théng: Théng bio bat déng bd: vi dy, mot ngudi ding cé thé giti tin higu ngat SIGTERM én m6t tién trinh bing cach nhan ma phim ngat (thuémg la CTRL-C) & thiét bi dau cudi ‘Nhimg ngoai Ié hay 1di déng bé: vi du, kernel giri tin higu SIGSEGV dén mot tién trinh khi né truy xudt vi tri bé nhé 6 dia chi khong hgp Ié. Chun POSIX dinh nghia khodng 20 tin higu khée nhau, hai trong nguéi ding dinh nghia va 06 thé duge sir dung nhu [i co ché ban déu cho tiép va ding b6 giita cdc tién trinh trong User Mode. Nhin chung, m6t tién trinh phai phan img lai tin higu thu nbn bing hai eéeh: + Loditinhigu. © Khéng déng bé thyc thi mot tha tuc riéng biét (b6 diéu khién tin higu). ‘Néu tién trinh KhOng djnh 1 m6t trong nhiing tity chon may, kernel sé thye hign hanh dong mie dinh dya trén sé tin higu. Nim hanh dong mac 6 thé 06 1a: © Két thée tién trinh ‘© Ghi ndi dung thyc thi va n6i dung cia khong gi dia chi vao tap tin (core dump) va két thc tién trinh. © Goi lai sy thye thi cia tién trinh 16 bj ngung. SVTH: Tran Quang Thuan ~ Phan Bé Minh. -22- ‘Nghién ctu Linux trén hé thong nhung va img dung. Xit li tin higu kernel kha phite tap vi POSIX cho phép nhimg tién trinh ngan tin higu tam théi, Hon nifa, mét vai tin higu nhu SIGKILL khong thé xir Ii true tiép béi tién trinh va khong thé phot lo. Chi sé b6 nhé cung cap cach nhanh nhit cho nhimg tién trinh trao ddi va chia |. mt tién trinh bat dau bing cach dua ra mOt loi goi hé théng shmger() dé tao bo nhé chia sé méi e6 kich thude theo yéu IPC, tién iu. Sau khi e6 duge din danb tai nguyén nay trigu goi Idi goi hé thong shmar()sé tra vé dia chi bat dau cia ving méi trong khéng gian dia chi tién trinh. Khi tién trinh mudn g& b6 b6 nhé chia sé tir khong gian dia chi cia né, né goi shmdi(). Sy thi hinh chia sé b@ nhér diva trén vige kernel thye thi khOng gian dja chi tién trinh nhur thé nao. 1.6.7 Quan [i tién trinh: Linux/Unix phan bigt 9 ring gitta tién trinh va chyong trinh né dang thye thi. Dé két thie, lin lugt sir dyng loi goi hé théng fork() va exit() dé tao mGt tién trinh méi va két thie né, trong khi goi exec() 48 nap mot chuong trinh méi. Sau d6 thy thi Idi goi hé thong, tién trinh tro vé thyc thi véi mét khéng gian dja chi hoan toan méi chira chuong trinh 43 nap. Tién trinh goi fork() 1a tién trinh cha (parent) trong khi tién trinh mdi 1a tién inh con (child), Parent va child c6 thé tuomg téc v6i nhau vi céu tric dir ligu m6 ta mdi tién trinh bao gm m6t con tré chi dén parent va nhimg con trd chi dén child ngay. Loi goi hé théng exir() két thie tién trinh. Kernel xir li lai goi hé théng bing cdch gidi phéng céc tai nguyén ma tién trinh lam cho va giti tién trinh parent mét tin higu SIGCHLD tin higu nay mic dinh bi 16 di. 1.6.7.1 ‘Zombie process Lam cach nao mét tién trinh parent biét théng tin két thie cita children? Loi goi hé théng wait() cho phép mét tién trinh doi cho dén khi mot trong nhimg children cita né két thiic, né tra vé dinh danh tién trinh (PID) cia child da két thic, Khi thye thi ldi goi hé théng nay, kernel kiém tra mét child da két thic hay chua, Trang thai tién trinh dic bigt zombie duge gidi thigu dé dai dign cho nhimg tién trinh 43 két thic: mét tién trinh cn trong trang thi 46 cho dén khi tién trinh parent cata né thye thi mét Idi goi hé théng wair() len n6. BO xir ly 1bi goi he théng trich mét SVTH: Tran Quang Thun ~ Phan Bé Minh, -23- ‘Nghién ctu Linux trén hé thong nhung va img dung. 86 dir ligu vé vige sir dung tai nguyén tir nhimg truéng miéu ta tién trinh, sinh ra mot ‘Néu khéng 6 tién trinh child nao da két mé ta tién tinh khi dit ligu durge thu thie khi loi goi hg théng wait() durge thi hanh thi kemel thudng dat tién trinh trong trang thai ch cho dén khi mét child nao dé két thac. Nhiéu kemel cing thye thi loi goi hé théng waitpid() cho phép m6t tién trinh dgi m6t tién trinh child cy thé. Kernel gir thong tin trén tién trinh cia child cho dén khi parent cdp phat 1di goi wait(), nhung gia sir tién trinh cia parent két thiic ma khong. goi wait()? Théng tin quan trong lay & b6 nhé c6 thé duge sir dung dé phe vu cho nhimg tién trinh dang hoat déng. Vi dy, nhiéu shell cho phép user thy hign Ignh & background rdi sau 46 log out. Tién trinh dang chay trén shell két thiic, nhung children cia né van tiép tuc hoat dong. Giai phap dura vio tién trinh h@ théng dc bigt durge goi la init durge tao ra trong sudt viéc khéi tao hé théng. Khi mét tién trinh két thae, keel thay déi con tré mé ta trinh da két thie dé lam tién trinh thich hyp cua tit ca children dang tin tai cla ching tré thanh children cia init. Tién trinh nay theo doi sy thyc thi ciia tit cd children cia né va théng thudng cap phat Idi goi hé théng wait(),diéu d6 06 nghia 1a téng khit tat ci céc zombie. 1.6.7.2, Nhém tién trinh va phién ding nhay ‘Nhimg hé diéu hanh Unix méi gidi thigu khai nigm cia process group dé trinh bay khdi nigm “job”. Vi dy, dé thyc thi cu lénh 1s | sort | more Shell phai hd trg tién trinh nhém nhu 1a bash, tao mét nhém méi cho ba tién trinh tuong img véi Is, sort va more. Shell déng vai tré trén ba tién trinh nhu thé chang 1a nhimg thye thé don 1é. Mai b6 mé ta tién trinh bao gdm mét trréng process group ID. Méi nhém cia cic tién trinh c6 mét group leader 1a tién trinh c6 PID tring véi process group ID. Mot tién trinh durge tao méi thi duge chén vio nhém tién trinh caa parent cia n6. Kernel Unix ciing gidi thigu phién ding nhap. Mét phién ding nhip chira tit ca tiét trinh con cua tién trinh bat dau m6t phién lam vige trén terminal. Tat ca tién trinh trong mt nhém tién trinh phai cling phién dang nhap. Mot phién dang nhap cé nhidu nhém tién trinh dang hogt dng cing lic, mét trong nhimg nh6m tién trinh nay luén SVTH: Tran Quang Thuan — Phan Ba Minh. -24- ‘Nghién ctu Linux trén hé thong nhung va img dung. ludn trong foreground, nghia li né truy xuit terminal. Nhiing nhém tién trinh dang hoat déng khac & background. Khi mét tién trinh background 6 ging tray xudt terminal, né nhdn mét tin higu SIGTTIN hay SIGTTOUT. Trong nhiéu cau lénh shell, sit dung lénh ngi tra bg va fe dé dit nhém tién trinh hoge la & background hay & foreground, 1.6.8 Quan ly bé nho 1.6.8.1 B@ nhé do Tat cd cdc hé théng Linux gan day cung cp khai sm hitu ich duge goi la bo he . BO nhé do déng vai tr nhu la ting logic gitta yéu cdu bo nhé img dung vi don ‘vi quan li bG nhé (MMU) phan cimg. BO nhé ao c6 rit nhiéu mye dich va wu dic # Nhiing tién trinh khiie nhau e6 thé duge thye thi dng thoi. thé chay nhiing mg dyng ma nhu cau b6 nhé lin hon bé nhé vat Hi. «© Tién trinh cé thé chay mot chuong trinh ma e6 code chi due nap mét phan vio bé nhé. © Cho phép mi tién trinh truy xuat tap hop con ciia b6 nhé vat li ¢6 sin. © Nhiing tién trinh chia sé anh b nhé don cia mot thu vin hay chuong trinh, © C6 thé dat lai vi tri cho nhiing chuong trinh & bit cit vi tri nao trong bd ho vat ly. © Ngudi lip trinh viét code déc lip véi may vi ho khong cn hiéu bién nhiéu v hie b6 nhé vat ly ‘Thanh phin chinh cia hé théng b6 nhé do 1a Khai nigm khéng gian bd nhé do, Céc tham chiéu b6 nhé ma mét tién trinh cé thé sir dung khdc v ja chi b6 nhé v4t ly. Khi mot tién trinh sir dung dia chi 4o, kernel va MMU hgp téc dinh vi dia ebi vat If eiia b@ nhé durge yéu cau. Cac CPU ngay nay bao gdm ca mach phan citng ty dong dich dia chi 4o thanh ia chi vat ly. Chia RAM than nhiéu page 4KB hay 8 KB va cdc page table chi tiét 48 xi dinh 19 sy trong (ing gitta dia chi do va dia chi v@t ly. Nhimg mach nay lm cho ‘vige dinh vj b6 nhé don gin hon béi vi mdi yéu cu cin mot khdi dia chi do lién tiép SVTH: Tran Quang Thuan — Phan Ba Minh. -25- ‘Nghién ctu Linux trén hé thong nhung va img dung. nhau cé thé duge dap img bang cach cép phat m6t nhém page c6 dja chi vat li khéng liga tye. 1.6.8.2 Sir dung b9 nhé truy xu Tat cd hg diéu hanh Unix phan biét r6 thanh hai phan cia RAM. Vai MB ding ngiu nhién tric dit ligu tinh cia kernel). Phin cén lai cita 46 liu trit nh kemel (kemel code va RAM duge dig sau: khién boi hg théng b6 nhé ao va duge sit dung theo 3 céch kha thi © Dap img yéu ciu cia kernel vé bG dgm, b} mé ta va nhig cau tric dit ligu kernel dng khic. © Dap img yéu cdu cua tién trinh cho ving bé nhé chung va cho viée énh xa b6 nhé cia tap tin. © C6 kha ning thyc thi tét hon tir 6 dia va nhimng thiét bj dém khac bing cache Mit khéc, vi bo nhé RAM c6 gidi han, phai thye hign edn déi gitta nhiing dang yéu cau b9 nhé, dic bigt khi bG nhé trong cdn it s8 bj bé. Ngoai ra khi dén ngudng téi han cla bd nhé cé sin, cé thé trigu goi thuat todn page-frame-reclaiming dé gidi phéng thém b§ nhé. 1.6.8.3 BG djnh vi bd nhé kernel: Kernel Memory Allocator (KMA) la mdt hé théng phy cé ging dp tng nhing yéu cdu cung cap ving bé nhé tir tat ca cdc phan cia hé théng. M6t sé nhitng yéu cdu nay dén tir nhimg hé théng phy khac cin bO nhé cho kemel sit dung, mét sé yéu cau dén thong qua Idi goi hé théng tir chuong trinh cia ngudi ding dé ting kh6ng gian dia chi tién trinh, Mét KMA higu qua cé nhiing dic © Phai nhanh, day 1a thudc tinh cha yéu, vi nd duge trigu goi b iém sau: kernel hé thong phy (bao gm b6 wit li ngat). © Oi thiéu Iugng b6 nhé Hang phi. thé. © Cé ging gidm bet van dé phin manh b6 Cun véi nhiing hé théng phy quan li b6 nhé khac dé mugn va gidi thoat che page Nhiéu loai KMA khic nhau duge 48 xuat dya trén nhiéu thudt toan khde nhau: © B6 dinh vj ban dé tai nguyén hé thang SVTH: Tran Quang Thuan — Phan Ba Minh. -26- ‘Nghién ctu Linux trén hé thong nhung va img dung. * Danh sich Power-of-two. * BO dinh vi McKusick-Karels © Hé théng Buddy * BO dinh vj Mach’s Zone. * BO dinh vi Dynix. © B6 dinh vj Solaris’s Slab 1.6.8.4 Diéu khién khéng gian dia chi do cia tién trinh : Khéng gian dja chi cia tién trinh chita tat ca dia chi b nhé ao ma tién trinh 46 duge phép tham chiéu. Kernel thuéng lu khéng gian dja chi ao cita tién trinh lén mgt danh sich céc mé ta ving nhé. Vi du, khi mot tién trinh bit déu thue thi mot sé chuong trinh théng qua Idi goi hé théng giéng nhu exec(), kernel gan cho tién trinh mt khong gian dia chi do ma gdm cd viing bd nhé eho: Code thyte thi cia chuong trinh, Dir ligu khoi tgo eva chuong trinh © Dir ligu chura khéi tgo eta chuong trinh * Program stack khéi tgo etia chuong trinh (A la User Mode stack) code thye thi va dir ligu cia thr vign chia sé. © Heap (b6 nhé duge yéu cau linh d6ng bai chuong trinh) Tat ci hé diéu hanh Linux/Unix gan day sit dung céch dinh vj tri b§ nhé demand paging. Vi demand paging, m6t tién trinh 06 thé bit dau thye thi chuong trinh véi khong co page nao ciia nd trong bO nhé vat ly. Khi né truy xuat mot page KhOng tn tai, MMU phat ra mt ngoai 18, bd xir If ngoai 1é tim ving bd nhé cé lién quan, dinh vj tri m@t page tréng va khdi tgo nd v6i dit ligu thich hop. Tuong ty, khi tién trinh yéu cau linh d9ng b6 nhé bing cach sir dung lei goi hé théng malloc() hay brk(, kemel chi vige cp nhat kich thude cia ving nhé heap cia tién trinh, Gin mot page cho tién trinh chi khi n6 phat ra mét ngoai Ié khi cd géng tham chiéu dén dja chi bd hi do. Khong gian dja chi 4o cing cho phép nhting cdich higu qua khe nur Copy-On- Write. Vi dy, khi tg0 mot tién trinh méi, kemel chi vige gin page cia parent cho khong gian dja chi cia child nhumg né dnb déu 1 read only. Xiy ra mot ngoai 18 ngay SVTH: Tran Quang Thuan — Phan Ba Minh. -27- ‘Nghién ctu Linux trén hé thong nhung va img dung. khi parent hay child cé ging sira déi ndi dung cia page. B6 xir li ngogi 1é gan mot page méi dé tién trinh twong tac va khéi tgo n6 véi ngi dung cia trang gée. 1.6.8.5 Swapping va caching Dé mé rng kich thurse ca vige sit dung khéng gian dja chi ao béi tién trinh, hé digu hanh Unix tao ra ving swap trén |. BO nhé ao hé théng theo di ngi dung cia mt page la don vi eo ban cho swapping. Bat cit khi nao nhiing tién trinh tham khao dén page ngoai swap , MMU phat sinh mét ngoai Ig. BO xir li ngoai 1é sau d6 cdp phat mot page méi va khéi tao page véi noi dung géc duge uu trén 6 dia. Mit khac, bé nhé vat li cing duge sit dung nhu li cache cho 6 dia cimg va nhing khéi thiét bi khéc. Vi dia cémg truy xudt cham: truy cap 6 dia mat nhidu milliseconds, d6 la théi gian rat 1én so véi thoi gian truy cp RAM. Do dé, nhimg 6 dia nay thuéng lim chm kha ning thyc thi ciia hg théng. Mét trong nhiing thir da duge thyc thi trong hé théng Unix sém nhat 1a lim cham viée ghi lén dia bing céch nap vio RAM mot tap b6 dém 6 dia tuong img véi noi dung doc tir 6 dia. Lai goi hé théng sync() thic day sy ding b6 6 ing cach ghi tat ca nhimg b} dém (vi dy tit ca 'b0 dém c6 ndi dung khic véi khdi tuong tig trong 6 dia) lén dia, Bé trénh mit dtr ligu, tat ca hg digu hanh theo di dinh ki /ige ghi dir ligu tit bo dgm vao 6 dia. 1.6.9 Device Drivers Kernel tuong tic véi thiét bj nhap xuat 1a cdc device driver. Device driver nim trong kernel va chita cdu tric dit ligu, cdc chite ning dé diéu khién mot hay nhiéu thiét ‘bj nhw é dia cig, ban phim, chu§t, man hinh, card mang va nhimng thiét bj két ndi dén. SCSI bus. Mdi driver tuong te v6i phin cdn Igi cla kernel (thiim chi véi driver khic) théng qua mét giao tigp riéng © Ma dic ta thiét bi c6 thé duge déng g6i trong module cy thé, i@t. Huong tiép cn nay cé nhimng Igi ich sau: © Nha cung cép cé thé thém thiét bj méi ma khéng can biét source code cla kernel: chi can biét dc ta cla interface. Kernel xem tat ca thiét bj gidng nhau va truy xuat ching théng qua cing interface Cé thé ghi mot device driver nhur fa mot module ma c6 thé duge tinh dong nap vio kernel ma khéng cin yéu cau hé thong khoi ddng lai, cing c6 thé khéng nap SVTH: Tran Quang Thuan — Phan Ba Minh. -28- ‘Nghién ctu Linux trén hé thong nhung va img dung. di thiéu héa kich nhiing module ma khdng cén duge yéu cu sir dung nita, vi vay thutée anh kernel duge liu tr trén RAM. Hinh dui mo ta nhimg device driver interface v6i phin edn lai cia kernel va cée nhimg tin trinh, Mét s6 chuong trinh ngudi ding mudn thao tac trén thiét bi phan cimg. Chong trinh user dua ra yéu cdu dén kernel, str dung loi goi hé théng tap tin c6 lién quan va nhimg tap tin vé thiét bj thong thuémg duge tim thay trong thu myc /dev. ‘Tap tin thiét bj la phan cho user giao tiép véi phan cimg. MGi tap tin thiét bj tham khio dén mot device driver cu thé nao 46 ma duge trigu goi boi kernel dé thye hign nhiing hogt dong duge yéu cau trén phan cimg. ence erver mertace 1 T r v Sister cal interface Tet Fie Sam Keret [Cerrac aeons J] boot ences) Hinh 1-5: Device driver interface SVTH: ‘ran Quang Thuan ~ Phan Ba Minh. -29- ‘Nghién ctu Linux trén hé thong nhung va img dung. Chuong2 — Thiét ké mOt hé thong Linux nhung 2.1 Phan citng hé tro 2.4.4 Kién trac CPU Linux o@ thé chy trén rat nhiéu kién trie CPU khac nhau, tuy nhién khong phai trie ndo cing duge sit dung trong hé théng nhuing, phin ndy chi giéi thigu qua nhiing kién trac dién hinh va cdc board kém theo CPU. Dong x86 bit dau ti 368 duge Intel gici thigu vao nim 1985 va bao gim nhing san phim néi tiép, 486 va ho Pentium, cing voi cac b} xit ly trong thich cla hang khde nhu AMD hay National Semiconductor. Mac di x86 phé bién nhit va 1a nén tang. duge cong déng Linux sir dung, né chi dai dign cho mét b} phan nho cia cae thiét bi nhiing trén thj trang. Hau hét cdc nha thiét ké déu sir dung b6 xir ly ARM, MIPS hay PowerPC vi mite 46 phite tap va gid thanh chung, ARM, viét tit cia Advanced RISC Machine, la mét ho vi xir ly tiép tue duge céng ty ARM Holding duy tri va phat trién, Tri ngugc véi céc cng ty khac nh IBM, Motorola hay Intel. ARM khong san xudt CPU ma thiét ké cdc nhan CPU dua trén nhan ARM cho cc khach hang cia ho, thay déi tity theo nhu cu cho phi hgp voi img. dyng ca khach hang. Vi vay cé mt dic diém doc dao 1a tit ca cdc bO xir ly ARM déu sir dung chung tap Iénh, diéu nay gitip cho tinh tong thich cia cdc phin mém duge nang cao. Kién trac PowerPC 1a két qua ciia sy hgp tac gitta IBM, Motorola va Apple. Thira hudng ¥ tuémg ti 3 hang kin nay, dic biét 1a IBM véi kién tric Performance Optimization With Enhanced RISC (POWER). Chip PowerPC duge biét dén trong. sin phim Apple’s Mac va cén rat nhiéu cae méy tinh dén nhing hé théng nhiing ding PowerPC lam b@ xir ly. Hé théng TiVO phé bién dya tren CPU PowerPC, Ciing nh x86, ARM ld hg xir ly duge hé tro day di trén he digu hanh Linux. SVTH: Tran Quang Thuan ~ Phan Bé Minh. -30- ‘Nghién ctu Linux trén hé thong nhung va img dung. Negoai nhiing CPU ké trén, MIPS, Hitachi SuperH hay Motorola 68000 cing duge sir dung trong cac hé théng Linux nhang. 2.1.2 Bus va cdc chun giao tiép Bus va cdc chudn giao tiép li nén ting dé CPU cé thé két ndi dén cdc thiét bi ngoai vi. Méi chudn bus hay céc chuan giao tiép cé tinh phite tap riéng cla né va kha nang hé try cia Linux cho cac chuan bus hay giao tiép rat lon. Déi véi cdc hé thing nhing ngay nay, hau hét cc chudn giao tiép céng nghiép va thuong mai déu 6 sir dung trén hé théng nhing, nhung dic biét 1a cdc chudn nhu USB, IEEE194 hay 12C vi tinh wu vigt va nhd gon cia n6, Ngodi ra nhimg chuin nw ISA, PCI, PCMCIA, CompactPCI, Parallel port hay SCSI cing c6 thé duge sir dung trong cée hé théng hing, 2.4.3 Cac thiét bj lu tri ‘Tat ca cdc hé théng nhing cn thiét mot thiét bi liu trit bén bi dé khéi dong tir nhiing giai doan dau tién ciia qué trinh boot. Hau hét cc hé théng, bao gdm ca nhimg hé théng Linux nhing déu lién tue sir dung str dung céc thiét bi liu trir duge khéi tao ‘ban dau trong suét qua trinh hoat déng, dé thyc thi code hay truy xudt dit ligu. Néu so sdnh véi nhimg hé théng nhing cé dién thi Linux yéu cdu cao hon déi véi nhimg thiét ‘bj lu trot cho hé théng nhung, ca vé kich thude va td chire. ‘Trong cdc thugt ngir cia Linux, memory technology devices (MTD) dé chi tat ca cée thiét bj nhé nhu ROM, RAM, b9 nhé flash va M-Systems! DiskOnChip (DOC). M6i thiét bi c6 kha nding, nét dic thi riéng va gidi han cua ching. Vi vay dé lap trinh va sit dung cic MTD trong hé théng nhing, ngwai phat trién hé théng thudng ding nhiing c6ng cu vi phurong phap riéng cho thiét bi d6. SVTH: Tran Quang Thuan ~ Phan Bé Minh. -31- ‘Nghién ctu Linux trén hé thong nhung va img dung. en ratssen et yeti ower yb ora ‘aut tate tee ay gy ae inh 2-1: Cab ab MTD Mfc dau chi cé mét phan nhé céc thiét bj nhing truyén thong sir dung khong gian lu trit lon nhur trén m6t dia cimg IDE, nhung héu hét lai c6é nhiéu hé théng nhing lai sir dung céc thiét bj flash tucmg thich ATA (AT attatchment, thug durge IDE (Integrated Drive Electronics), ATA la tén chinh thie eda chun giao tiép phét trién béi 3 cong ty Impromis, Western Digital va Compaq.) nhu CompactFlash. Céc thiét bj liu trit CompactFlash chi é thé truy xudt qua chuan ATA. Trong cic hé théng Linux nhiing c6 sir dung hu tr trén dfa, thong thuimg dia sé luu trit céc OS bootloader, root filesystem va c6 thé ld mét phan ving swap. Diéu ding ngage mhién & day ki khong phai hé théng nhing cing twong thich véi cae 6 dia ATA, né phai dirge cdu hinh trong Ide bién dich nhén thi méi c6 thé truy xudt vio lie: Khai dGng hé thong. Hg théng Linux ning ft khi sir dung chuin SCSI lam chudn giao tiép v6i thiét bj hru trit, SCSI thuring ding trong céc server nhiéu hon vi téc 46 va d6 tin cay cia nd, 2.1.4 Két néi mang Ngiy cang cé nhiéu hé théng nhang duge tich hgp két néi mang. Linux eding hd trg rit nhiéu cdc phan cimg mang. Dién hinh nhat 1a cde chudn mang Ethenet, IrDA. (Infrared Data Association (IrDA) ra dai nim 1993 bai hon 50 c6ng ty véi muc tiéu tao ra va day manh sir dung thiét bj két ndi hong ngoai gid thanh thdp.) va Bluetooth duge sit dung nhiéu trén cic thiét bj nhiing do kha nang dem Igi cita n6.Ethernet hign SVTH: Tran Quang Thuan ~ Phan Ba Minh. -32- Nghién ctru Linux trén hé théng nhiing va img dung. nhat, tai ligu nhiéu nhat va gia thinh thap nhat trong nay 1a thiét bj tham nhap nb nhiing chudn giao tiép mang khac. sence b re nhénh cia IRDA trong Linux Aaplators or ” secu sora Lor Moco Hos HOA ce 2.2 Cac céng cu phat trién ‘8 ching ta c6 thé bién dich dé he digu hanh c6 thé chay trén nén CPU khong phai x862. Dé lim duge diéu d6 ta ein mét b6 bién dich chéo (cross-compiler) Nhigm ‘vy cita b6 bién dich nay 1a sé chuyén nhimg ma Iénh nhj phan viét trén nén CPU nay -33- SVTH: Trin Quang Thun ~ Phan Bé Minh, ‘Nghién ctu Linux trén hé thong nhung va img dung. thinh nhting ma 1gnh nhj phn trén nén CPU khéc . Vi dy. nhur khi ta bién dich MontaVista trén méy host 1A. x86 cia Intel nhung mye dich cita ching ta muén chay MontaVista trén nén PowerPC thi ta sé cin mét cross compiler dé chuyén déi nhimg ‘mi Iénh chay trén nén x86 sang ma Iénh chay trén PowerPC. Cée Cross-compiler niy thuing duge phat trién bai nhiing chuyén gia rit gidi vé kién tric CPU bai vi chi cd 51 mGt ma Ignh nhj phan tir nén CPU nay sang nén CPU khéc ta phai biét kién tric CPU, cfich dinh dja chi, cdc quy dinh vé opcode, operand cita ca hai CPU 46. Kém theo dé 1a nhimg céng cu can thiét dé phat trién cde ting dung chay trén target ‘bao gém céc tign ich & dang nhj phan, b6 bién dich C (gcc) va thu vign C (glibe). Vige cdu hinh va xy dyng mt toolchain phite tap va 1d mot tién trinh dOp Hap d0i hdi e6 kién thite phy thude gitta cdc géi phan mém va nhiing quy ludt trong img ciia ching. Hiéu biét nay 1a rét can thiét, vi cde phién bin GNU toolchain duge phat trién va dua ra ddc lp voi nhau. Host [Target | Kernel Binutils | Gee Glibe | Patch i386 | PPC 2.10.1 2.95.3 2.2.1 | Khong PPC {i386 2.1321 [2953 2.23 | Khong i386 [ARM [24..-1mkI [2.10.1 2.95.3 213 | CO PPC | i386 21321 [321 (23.1 | Khong PPC | ARM 2.10.1 2.95.3 223 | C6 i386 | MIPS 2.8.1 eges-1.1.2 |2.0.6 | CO 1386 | Superk 2.112 3.0.1 224 [CO Bing 2-1: KE hyp phn bin ede gil cing ey vi thw vig 2.3 Chon Ia va bién dich Linux kernel Day 1A nhimg phan ph6i (distributions - distro) throng mai duge duy ti hd try tir nhimg nha cung cdp. Cac distro nay cung cap kha nang, gidi phap di véi hang lost cde kién trie hé théng cho cae thj trudng khdc nhau. Tir cdc hé théng théng tin lién lac cao cap dén cdc thiét bj cim tay, céc thiét bj diéu khién théng thudng... © AMIRIX: Embedded Linux SVTH: Tran Quang Thuan — Phan Ba Minh. -34- ‘Nghién ctu Linux trén hé thong nhung va img dung. Cé ngudn géc tir m4 nguén mé Debian GNU/Linux, dirge thay ddi dé hd try thém nhiéu thiét bi chuyén dung cing céc céng cu cdu hinh hé théng. Hé try small- footprint, diskless, Flash-based, doi hoi hé théng headless * Coollogie: Coollinux Coollinux AE (Appliance Edition) két hop ste manh cia hé diéu hanh Linux nhiing va cng nghé Java thinh mét hé diéu hanh cho cdc thiét bj Internet thé hé méi. + Covemtive: Xlinux ‘Mé6t nbn Linux day di tinh ning va cé thé cau hinh chi nhé khoang 143KB cho céc sing dung théng tin vi céc thiét bj nhing. HB try céc ding xir If: 586, 686, MediaGX, STPC, StrongARM, SH3/SH4, PA-RISC, ARM-7... * Bsfia: RedBlue Linux ‘M6ét distro Linux nhing cho céc gidi thong tin v6 tuyén, c6 ngudn géc tir nhén Linux phién ban 2.4. Nhiin Linux thng thudmg chi chiém khodng 400KB va hé tro cée bd xir ly 6 MMU Kin khong c6. © KacilOS (formerly Klinux) Distro Linux cho cdc img dung céng nghiép. Bao gdm ca cde thiét bi phat trién ‘va sita Idi cho cdc hé théng nhing real-time. Cac tai ligu chi tiét hoan toan duge viet ai cong ty Koan Software, Bergamo, Italy. + KYZO: PizzaBox Linux Sur két hop cia Linux va Samba, 1a m@t distro diing Lim server phue vu quin ly file, may in va dia CD. Thiét ké rat nh6 gon, chi cin 6MB Flash chay trén xit ly 486 (hoje manh hom). + Lineo: Embedix Giai phap Linux nhiing duge thiét ké cho hé théng dae biét vé téc 46, b6 nhé va cée thiét bi Iuu tri. HO trg nhiéu dong xir IY (cd va khong cé MMU) nhu X86, PowerPC, ARM, MIPS... Bao gém ca hé try cho small-footprint, real-time. © LynuxWorks: BlueCat Distro nay dap img yéu cu cia nhimg ngui phip trién hé théng nhiing. Cho it bi nho dén phép céu hinh phi hgp véi yéu cau cita hé théng nhing. H8 trg tir cde nhiing hé théng Ién da bé xit ly va co tinh kha dung cao, hé trg cdc dong xir ly X86, PowerPC, ARM, MIPS... SVTH: Tran Quang Thuan — Phan Ba Minh. -35- ‘Nghién ctu Linux trén hé thong nhung va img dung. © Mizi: Lin@ Linu@ 1A mt hg didu hinh Linux hing véi giao dign ngudi ding trén QuEmbedded. Tinh higu qua va kich thude nhé gon nén rat phi hgp véi cae thiét bj ign thoai thong minh, hay thiét bi trg ly sé. Hé try nhiéu dong xir ly nur hinh chi cin 2MB DRAM va 4MB Internet, ARM, StrongARM, MIPS, x86, vi MPC. Hé Flash memory. + Neoware: NeoLinux Distro Linux nhing nay phat trién tir Red Hat Linux va duge tdi uu cho cac thiét bj tin tite. H6 try kha nding khoi déng tir Flash hogc tir xa théng qua server mang, 6 kha nding quan ly ti xa. © PalmPatn Tynux Giai phap hé diéu hanh Linux nhing cho cdc thiét bj internet bao gm ca may choi mp3, video, truyén hinh internet, PDA hay dign thoai internet, céc thiét bj video hoi thao, video phone... «© REDSo! HE trg cde méy tinh trén mt board, e6 thé chay trén. CompactFlash, ding thai eding e6 kha nding dp img real-time # RidgeRun: DSPLinux Distro Linux nhing nay tp trung vio khia canh da phuong tign kém theo cée Redice-Linux ‘OnChip va cde bo nhé toolkit,thiét bj khong day va cfc thiét bj bang théng réng dya trén b9 xir ly kép, két ‘hip. Nhin DSPLinux chay trén Idi ARM, trong khi cde tc vu théi gian thy s8 thye thi trén 161 DSP. * SysGo: ELinOS Embedded Linux ElinOS dya trén nhén Linux 2.5 vi vay cung cap nhimg tinh nang mdi nhat nhu Journaling Flash File System (JFFS), Memory Technology Devices (MTD), va de bigt i USB. Hé tro cic tie vy real-time (RTAI kernel extension) © TimeSys: Linux GPL Distro Linux GPL hé try céc board nhiing. Ciing véi cde ther vign, tool chains, hop loi ARM va 10i b6 xir ly s6 tin higu trén mot phi tign ich, cdc kich ban va tai ligu di kém, tit ca déu c6 gidy phép GPL. Hon nifa lA cdc Iya chon dé cai thign hé théng dap img real-time, chat long dich vu va higu sudt mang. © Tuxia: TASTE SVTH: Tran Quang Thuan — Phan Ba Minh. -36- ‘Nghién ctu Linux trén hé thong nhung va img dung. TASTE nhim vao cdc thiét bj Intemet nhur cic webpads, set-top boxes, cic may khach nhé va dign thogi truyén hinh. Né cing kém theo rit nhidu cdc software, driver phan ctmg, nhan cia Linux nhiing, cdc engine dd hoa, gia lép Java... © Vitals System: vLinux Mét géi Linux cho cac img dung trén nén xir ly ARM. vLinux cing cé thé hd ‘trg cdc ding xtr ly khéng c6 MMU, phit hgp véi cdc thiét két ha thép gid thanh cho cic san phim thuong mai. vLinux hign tai c6 thé chay trén hg xir ly ARM, kién trie RISC ciia Samsung, tuy nhién kha nang chay trén cdc b6 xir ly khéc dang duge cai thi 2.3.1 MontaVista Linux ‘Véi hon 2000 d4i tac phat trién MontaVista Linux trén khap thé gidi trén khdip cée Tinh vue céng nghiép. Khéng thé phi nhgn MontaVista 1a nha cung cép nén tang h@ digu hanh Linux thuong mai hang dau thé gidi cho cdc thiét bj sé théng minh va co s6 hg ting théng tin lién Igc. Véi 4 trong 5 nha cung cp cdc thiét bj mang hang dau sir ‘dung MontaVista Linux, cing nhwr nhimg nha sin xuét dign thoai di dong, dign tr tiéu ding va vién thong trén khdp thé gidi — MontaVista li m6t trong nhimng hé diéu hanh duge sir dung rong rai nhét trong hon 40 trigu thiét bj nhing trén gidi.MontaVista Linux duge thiét ké c6 kha nang mo réng, d6 tin cay cao va higu suat cao, kha ning real-ti ngay nay. Hé tro sé lrgng eae kién trac 1¢, dap img cho cac thiét bi thong mit xir ly nhiéu nhat trong cdc thiét bj nhiing cao cap, bao gém dong x86, PowerPC, ARM, SH va MIPS. MontaVista Linux hé try hon 60 COTS, cae bo mach phat trién va cée cong cy phat trién nhanh, ‘Mét s6 thiét bi dién hinh sir dung MontaVista Linux c6 thé ké dén nhu cdc dién thogi Motorola A760 va 768i, Mic dau sy tht Motorola la mét trong nhimg thinh vign sang lip ra hé diéu hanh Simbian. Chiée A760 duge tung ra vao ngay 16 thing hai nam 2003 6 thi truong Trung Quée. Day cing trén méy dign thoai, tir dé Motorola tap trung vao nén Linux ciia ho, va da céng bé nén iu tién Linux duge sit dung java. Hign nay eding 6 nhimg dign ‘ting trong twong lai cia ho van sé la Linux va thogi cua Motorola sir dung Linux, n6i tiéng c6 thé ké dén Motorola RAZR2 va cic dong Motorola ROKR E2, E6 SVTH: Tran Quang Thuan — Phan Ba Minh. -37- ‘Nghién ctu Linux trén hé thong nhung va img dung. Texas Istruments ciing dai c6ng bé ho s& sir dung MontaVista Linux phién bin Professional la hé diéu hanh duge hé trg trén nén ting System-on-chip DaVinci. 2.3.2 uClinux Phién ban uClinux dau tién bit nguén tir nhan Linux phién bin 2.0, uClinux nim trong dy 4n phat trién dura hé diéu hanh Linux lén trén céc hé théng CPU khéng cé MMU. Memory Management Unit, thinh phin cig trong mgt may tinh. Bap img yéu cau quan ly truy xudt b6 nhé ca CPU. Chite nang cla né bao gém: chuyén tir dia chi tham chiéu sang dia chi phan cimg, ngin khéng cho céc tién trinh tranh chép bd nnhé, quan ly cache va bus. Tuy nhién, dur én phat trié trie xtr ly. Ngay nay uClinux duge biét dén nhu mét hé diéu hanh bao gdm cae phién ‘va mé rong, bao trim cac kién ban nhan 2.0, 2.4, va 2.6, cing voi rit nhiéu cac tng dyng, thu vign va cic céng cy phat trién, uClinux 1a m6t trong nhimg hé diéu hanh thich hop nhat d6i véi cdc hé théng nhing va né hoan toan mign phi. Phién ban méi nhat ctia uClinux cé kha nang ‘hé tro nhiéu kién trac xir ly, dién hinh 1a cde dong M86k, ColdFire, ARM, Spare, NEC ‘v850, H8/300, ngay cd softcore CPU nhu Altera NIOS va Xilinx MicroBlaze. H8 try thur vign uClibe efi va ede phién bin méi hem nhur uClibe-0.9.27. 2.3.3 Cu hinh kernel (Cu hinh 1a bude dau tién can lim truée khi xéy dung kemel cho target. C6 rat inh hay cée Iya chon cia ngudi ding, kemel sé tgo ra file .config khi hoan tat qua trinh cau hinh va s@ tao ra hang loat ede li dich. 6 day chi trinh bay sy khac nhau khi cau hinh kernel trén cdc hé théng nhing. Trong qué trinh edu hin, ngudi ding c6 khd ning Iya chon ede module sé dung trong kernel. Tuy theo target ma cdc menu Iya chon c6 thé thay d6i, mot sb cdc cfich ca nhieu cach va cdc lya chon khi cau hinh kernel. Khong xét dé kkét va header file sit dung trong sudt qué trinh bién menu sé khéng thé ding duge trén kién trac CPU cia hé théng nhiing. Nhimg menu cd thé ding khi Iya chon trén céc hé théng nhiing bao gdm: + Code maturity level options + Loadable module support “© General setup “© Memory technology devices SVTH: Tran Quang Thuan — Phan Ba Minh. -38- ‘Nghién ctu Linux trén hé thong nhung va img dung. Block devices Networking options ATA/IDE/MFMIRLL support SCSI support Network device support Input core support Character devices Filesystems Console drivers Sound Cee ee eee eee Kemel hacking Processor architecture rhitectre mame PPC Mes vache eeleetoicPu seston [mos or ipa a Processor type ana features 0 M68 form depercent support ea Bing 2-2: Lya chon he thing vi Bp xir ly option we | akw [pre | mrs | su | wwak Paral pot support xp be [ete 1094 suo xe ik 5 [roa suppor xe g [ss supper Ie fe ke [Burton suport Bing 2-3: Phin cimg hé try vt cfc kigm trie CPU ‘Vige céu hinh phan kernel cé thé thye hién bang cde phuong phap khac nhau: cdu hinh bang command-line bing make config, iu hinh sit dung efc thy chon et ‘bing make oldconfig, céu hinh bing céc menu don gin bing make menuconfig va ciu hinh bing giao dién Xwindows bing make xconfig. Viée cdu hinh citing ddi hoi nguéi diing cé kién thire vé cdc module sé sit dung trong kernel. SVTH: Tran Quang Thuan — Phan Ba Minh. -39- ‘Nghién ctu Linux trén hé thong nhung va img dung. 2.4 Xay dung hé théng thy muc géc (root filesystem) 2.4.1 H@ théng tap tin (File Systems) ‘Méi hé diéu hanh déu c6 céch t6 chite dir ligu riéng. O mite vat ly, dia cimg duge dinh dang thanh cae cung tir bao gbm sector, track, cylinder (chire ning nay thudng duge Iénh format clip thdp thuc hign). Tuy nhién & mire logic cdc hé diéu hanh thuong sip xép t6 chite dit ligu theo chi myc va phan cp sao cho qué trinh sao lu, tim kiém dit ligu la higu qua va nhanh nhat, co ché ma mi hé diéu hanh to chic hu trit tip tin trén dia dugc goi la hé thong file. Vi dy DOS va Windows 95/98 sit dung co ché bing FAT16, FAT32 dé lun tén on goi la NTFS (NT filesystem). Linux sir dung hé théng EXT2 (Second Extended File System) dé luru tri thu muc va tip tin, Windows NT c6 cach t6 chire va iu file m dit ligu va tén cua tp tin, thr myc. EXT2 sit dung mét bang i-node bao gim mét tip cde mit 48 Iu théng tin va tén ciia tap tin, thu myc. MGi tap tin hay thu myc déu durge tham chiéu hay tr dén béi mot i-node. Dit ligu cia tap tin durge lu vao thanh ting khéi lign nhau. Hé thong EXT2 bao dam co ché lu trit ti wu va khién dit ligu trén dia cing khong bi phn man (fragment) nhur trong hé théng file sir dung bang FAT ciia Dos. 2.4.2 Cac thw muc trén Linux Lan dau tién lam quen v6i Linux cé 18 ban sé thay Linux ¢6 kha nhiéu thu myc, hung nhin chung ede thy mye nay da dirge chun héa va e6 nhimg muc dich sit dung nhat dinh, Tat ca cac file va thu myc duge lu trit theo mét cu triic hinh cay duy nhat. Géc ciia cay thu muc nay duge goi ld roor va duge ky higu bing ky ty s6 trai / Co bin mgt hé théng Linux thudng o6 cde thur myc sau: Zin Chita cde file chuong trinh thye thi (file nhj phn) va file Khoi dong cua hé théng. Toot Cie file anh (image file) ciia kemel ding cho qué trinh Khai dng thuomg durge dat trong thy muc nay. Zdev Chita ede file thi&t bj. Trong thé gidi UNIX va Linux, cde thigt bj phan cimg duge xem nhu 1a file. Dia cimg va cde phan ving cla SVTH: Tran Quang Thudn — Phan Ba Minh. -40- ‘Nghién ctu Linux trén hé thong nhung va img dung. ban cling li cae file nhu Adal, fida2... dia mém mang tén a0. cc tp tin thiét bj nay thudng duge dat trong dev. Jete ‘Thur muc nay chifa cde file cau hinh toan cue cia hé thong. Cé thé cé nhidu thu myc con trong thu myc nay nhung nhin chung ching chita cae file script dé khdi dng hay phuc vu cho mye dich ciu hinh chuong trinh tre khi chay. Thome Chita cde thr mye con dgi dign cho m6i ngudi ding khi ding nhap. Noi day tya nhur ngéi nha eta ngudi ding. Khi quan tri tao tai Khoan ngudi ding, ho sé cung cdp cho ngudi ding m6t thir myc con trong /usr ngudi ding hoan to’n c quyén sao chép, xa file, tao thir mye con trong thir myc home ciia minh ma khong anh. hudng dén ngudi ding khie. Hib Chita cée file th vign *.s0 hoae *a. Cac thy vign C va cée thir vign lién két dng can cho chyong trinh khi chay va cho ton hé théng. Thu muc nay trong ty nh the mye system32 cia Windows. Tost=found Khi hé thong khoi dng hoge khi ban chay trinh fick (cong cu kiém tra va sira 151 hg thong file cta Linux) néu tim thay chudi dit ligu that lac trén dia cimg khéng lién quan dén céc tap tin. Linux 88 gOp ching lai va dat vdo thu muc nay dé néu cin ban c6 thé Lay Iai dir Ligu bj mat. Tmnt Chita ede thir mye két gin tam thoi dn cdc 6 dia hay dn cde thiét bj khac. Trong /mnt c6 thé c6 cae thu mye con khac nhu cdrom (két gan & dia CD) hay floppy 1a thu myc két gan véi dia mém. isbin Chita cde file thue thi cia hé théng thudng chi cho phép sit dung béi ngudi quan tri hé théng. Timp Thur mye tam chuong trinh thuimg ding dé chira cde file tam trong qua trinh chay. Cac file trong nay sé dirgc hé théng don dep néu nhu khong ding dén nia. fuse Chita nhigu thr mye con khéc nhu /usr/bin hay /usr/sbin. Mot SVTH: Tran Quang Thudn — Phan Ba Minh. -41- ‘Nghién ctu Linux trén hé thong nhung va img dung. trong nhiing thr muc con quan trong dé Ta /usr/local. Bén trong thu myc may c6 cée thr mye tuong ty root nhur sbin, lib, bin. Hau hét cde tmg dung cai dat trén Linux déu dua vo thy myc nay, né giéng nhu Program Files trén Windows. Arar Chita cde file bién thign bat thug, nhimg file dir iéu dot nhién ting kich thirée trong théi gian ngan rdi sau d6 Iai gidm kich thude xudng con rat nho. Dién hinh [a cae file ding kim hang dgi chita dir ligu dua ra may in hode cdc hang dgi chita email. ‘Ngoai cdc thir mye trén, con cd mot s6 thir muc quan trong Khac rat cn thiét cho céng vige cita ngudi lép trinh trén Linux. Jusrlinclude Chita ede file Khai bio ham (header) cn ding khi bign JusrfocaVinclude | dich chuong trinh nguém sit dung cde thu vign ctia hé théng. Jusrisre Chita ma ngudn (ké cd mi ngudn eta Linux), Jusriman Chita cde tai Tigu huréng dn, Cho di méy tinh €6 thém nhiéu 6 cimg nung ching eting chi durge gin vio thinh mt nhinh trong cy thy mye chinh. Tay theo nguéi quin tri hé théng chi dinh ma cac dia cig phy sé durge gin két vao mét thu muc nao dé trén cay th myc g6c. SVTH: Trin Quang Thun ~ Phan Bé Minh, -42- ‘Nghién ctu Linux trén hé thong nhung va img dung. aaron [za ie 1 BHO i i a EY FE [oy OE 4 a tL fart) =) 1 mar) a ro) oar} zeal) = =) inh 2-4: Clu trde ther mye trén Linus, SVTH: Tran Quang Thuan ~ Phan Ba Minh. -43- ‘Nghién ctu Linux trén hé thong nhung va img dung. Chuong3 = XUPV2P va phan mém phat trién cua Xilinx 3.1 Kién tric phan cteng cla Kit XUPV2P 3.1.1 Téng quan - Virtex I Pro FPGA véi Softcore CPU: Microblaze va Hardcore: PowerPC405 core, FPGA 30816 Logie Cells. - Sir dung trén 2GB (DDR) SDRAM. ~ Sir dung cdu trie SystemACE va Type I CompactFlash dé lu trit cdu hinh va dit ligu FPGA ,thye hign ché a6 automatic load sau mdi lan khdi déng lai Kit. - Kha nding nhang Platform (nén FPGA) théng qua cap USB céng JTAG. - Cung cap ché d6 “Golden” hoge “User” FPGA. - 10/100 Ethernet MAC. ~ 1 céng néi tiép RS232 DBO. Ps2 -2 cng ndi = 4 Led duge ndi véri cdc chan I/O pin. - 4 Switch (cong tic) duge = 5 button (mut nhan) durge néi véi cae chin 1/0 pin. = B6 chuyén déi AC97 audio CODEC. - Sir dung microphone va dung audio input. ~ Céng monitor (man hinh may tinh) XSGA lén dén a phan gidi 1200*1600 & 70 Ha. bi véi cdc chan VO pin. -3 céng ATA néitiép. - USB 2 port - Xung clock hé théng 100Mhz, xung SATA clock 75Mhz. ~ Kha nang cung cap xung clock tiyy thuge vao yéu cau nguéi sir dung. - Cung cp ngudn dign DC trén Kit. SVTH: Tran Quang Thuan ~ Phan Ba Minh. -44- ‘Nghién ctu Linux trén hé thong nhung va img dung. Kit XUP Virtex-II Pro Development System c6 kha ning tao ra mét cu trite phan cig cao cép.C4u trac nay bao gdm mét trung tam Virtex-II Pro Platform FPGA (vi xir ly), va cde thanh phan chite nang lién két c6 thé sir dung ring biét dé tao ra mot hé théng da chitc ning cho nhiéu nganh céng nghigp hign dai, aE vat ft a inh 3-1: Se 4d kil cia Kit NUP Vietex Hin 3-2: Kit XUP Virtex-II Pro Development System SVTH: Tran Quang Thudn ~ Phan Ba Minh. -45- ‘Nghién ctu Linux trén hé thong nhung va img dung. 3.1.2 Khéi FPGA Virtex II Pro Ciw hin XC2VP3O DO diy 13969 Kich thuée 8046 RAM phin phat 28K Khoi Multiplier Blocks 136 Khi Block RAMs 244K DCMs 8 PowerPC RISC Cores 2 Muti-Gigabit nhdn va truyén 8 Bing 3-1: Djt diém KhoTFPGA [Eexee] ee 4 Tonetnera g i Al 5 2}|2 & 8}\2 3 3 i i Ells C367) LEDs a switcnes | [System ACE pont} Cave Peano anovse PagnasrTons noe ‘Bing 3-2: Cie khdi gino tip ngodi cia VirtexIl Pro Platform FPGA - Ngudn cung cp 5 VDC 6n ap. - Ngudn trén Kit Switching 3.3V,2.5V va 1.5V cho khéi FPGA. ~ Ngudn tuyén tinh cho cae khdi thanh phan chite nang lién két, ~- Ngudn tuyén tinh cho khdi Multi-Gigabit Transceivers (MGTs) SVTH: Tran Quang Thuan — Phan Ba Minh. - 46 - ‘Nghién ctu Linux trén hé thong nhung va img dung. = 4 trong 8 khéi Multi-Gigabit Transceivers (MGTs) danh cho connectors (lién két) vi cho nguéi tiy sir dyng.3 khéi ciia Bidirectional MGT channels danh cho SATA connectors va SMA connectors duge sir dung chite nang nhu Terminal.Xung sit dung 75Mhz. riéng bigt cho SATA communication.2 céng cia SATA connector duge cau hinh ni Host port (cing eh) va 3 eng cha SATA connector duye cfu hinh nh ‘Target Port (céng dén) cho phép cdc board_to_board (cae Kit lién két véi nhau) trong ‘m6t khéi mang chung. - Kit XUP Virtex-II Pro Development System cho phép chting ta sit dung RAM ‘memory chuan JEDEC 184 —pin dual in-line Double Data Rate Synchronous Dynamic (184 chan truyén dit ligu déng b6).Kit cung cp cho ngudi sir dung buffer vao ra trong img RAM 2GB hole it hon 64-bit hoe 72-bit. Khuyén e4o: chi nén sir dung 72-bit cho vige do va sita I6i ECC. [Table 5: QUALIFIED SORRAM MEMORY NODULES. Ciutal Technologies ‘Memory Number of | Useuferedor | GAS Part Number ganization Ranks | Registered | Latency \crasa7avass.a6LF" [2G 256Mx 72 Dual Registered 25 (crearzze6s.ieT™ —{512we GaMx 72 Dual Unbutiored 25 icTeseazo0s.t6r [stave baMx 64 Dual ‘Ubu 25. (cTea72765.07 stave GaMx 72 ‘ings |—Unbute 25. (cressazzes.T —[s12We bata x a ‘Sing | Unbutlares 25 Icrie72za0n 57 fi2eNe 16M x 72 Single | Unbutfored 25 [Crressz265.<7° —[12eMe 16M x 64 ‘Single | Unbutfored 25. Bang 3-3: Che module b9 uhé thich hop 3.1.3 System ACE iu hinh System ACE ciia Xilinx doi hoi Compact Flash phai e6 ving khong gian tée déng kim, 06 thé cdu hinh tre vi dung Iugng lin, System ACE Controller duge phat trién manh trong cac dong FPGA cé thé cau hinh Iai (programmable). Diéu ny Lim giim gid thanh so véi lic trade sit dung PROM va FPGA khéng thé edu hinh Iai durge (non-programmable). System ACE Compact Flash li céu tric gdm 1 chipset zm6t bO diéu khién (Controller device) va | Compact Flash card. BO digu khién ACE controller cé kha ning da giao dign bao gdm céc giao dign voi CF card, MPU, JTAG cho phép nguéi sir dung thiét tap cae giao dign bén trong FPGA tir don giin dén phite tap. ge c6 thé giao dign voi CF card hay IBM SVTH: Tran Quang Thuan ~ Phan Ba Minh. -47- ‘Nghién ctu Linux trén hé thong nhung va img dung. Microdrive storage lam cho ving nhé chita cu hinh FPGA (bitstream) lén dén hang Gbyte.Do dé day 1a 1 IP quan trong trong KIT XUP-II Pro Development System. h Memory Card: Xilinx ACE Flash memory card li 1 ving nhé Compact Flash device ¢6 thé 3.4.3.1 ACE Fh bién dich véi Personal Computer Memory Card Intemational Association ATA (PCMCIA ATA), ACE Flash card ngiy nay e6 nhiéu dung long nhu: 128MB, 2S6MByte, 1 GByte...Trén card c6 b diéu khién giao tiép Protocol, cé kha nang hru trit dir ligu,kha ning phuc hdi (retrieval), ECC, kha nang chéng treo dit ligu (defect- hanging data), ngudn cung cap, diéu khién xung clock. Host /L_LN| Compactiash internal totartace ( ‘Sngle hip Concer ‘Compactrash Modus inh 3-3: Compact Flash Card Compact ACE Flash Card 6 thé hogt dng trong mdi truimg PC environment ,trong 46 Compact Flash Card duge xem nhu 1a 1 6 ctmg. Ngoai ra System ACE cén cho phép Ijp trinh hg théng FPGA trén Compact ACE Flash Card théng qua b6 diéu khién giao tiép System ACE controller (chite ning Compact Flash to MPU interface). tiie etia Compact ACE Flash File Capacity Sector/eard Head | Sector/track Cylinder 128,450,560 | 31360 2 2 490) 256,910,120 | 62720 4 2 490) SVTH: Tran Quang Thuan — Phan Ba Minh. -48-

You might also like