Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

´òÔìǶÈëʽÁìÓòµÄLinuxƽ̨! TOPPERSÏîÄ¿×éµÄÄ¿±ê

0.Introduction
һ˵Æð²Ù×÷ϵͳ, ÎÒÃǵÄÄÔº£ÂíÉϾͻáÉÁ³öWindows, ¾Ý˵WindowsÒѾ­±»°²×°µ½ÁË1.5ÒŲ́¼ÆËã»úÉÏ.
È»¶øÔÚÕâÀïÎÒ»¹ÒªÌáµ½ÁíÒ»ÖÖ²Ù×÷ϵͳ, ¾Ý¹À¼ÆÕâÖÖÀàÐ͵IJÙ×÷ϵͳÒѾ­±»°²×°µ½ÁËÈ«Çò30ÒÚµ½40ÒŲ́¼ÒÓõç×Ó²úÆ·ÖÐ.
Èç¹ûÆÕ¼°³Ì¶È°´ÕÕ»úÆ÷ÊýÁ¿À´¼ÆµÄ»°, ËüµÄÆÕ¼°³Ì¶È¾¹È»ÊÇWindowsµÄÊýÊ®±¶. Õâ¿î²Ù×÷ϵͳ½Ð×öTRON, ÊÇÓÉÎÒÃǵÄÁÚ¹úÈÕ±¾×ÔÖ÷ÑÐÖÆ¿ª·¢µÄ.
1. What is TRON ?
1984ÄêTRONϵͳÎÊÊÀµÄʱºò, ÈÕ±¾Òµ½ç½«Æä³ÆΪһ¿î¿ÉÒÔ´òÆÆ΢Èí¢¶ÏµØλµÄ×ÔÖÆÈí¼þ,
ÈÏΪÕâÖÖϵͳ½«¿ÉʹÈÕ±¾¼ÆËã»úÆóÒµ²»Ôٳе£±ØÐëÏò΢Èí¹ºÂòWindowsϵͳʱ֧¸¶µÄ·ÑÓÃ. È»¶øÕâÒ»ÃÀÃÎÈ´ÔÚ1989Äê±»´òËé,
µ±Ê±ÃÀ¹ú·½ÃæµÃÖªÈÕ±¾Õþ¸®×¼±¸°ÑTRON°²×°µ½½ÌÓýÓüÆËã»úÖкó¾ÍÍþв˵Ҫ½«TRONÁÐΪ²»¹«Æ½Ã³Ò×±ÚÀÝÖ®Ò».
²ÎÓëTRONÏîÄ¿µÄÆóÒµÒòΪµ£ÐÄʧȥÃÀ¹úÊг¡¶øÍ˳öÁ˸ÃÏîÄ¿. ¾¡¹ÜÃæÏòPCµÄTRON²Ù×÷ϵͳ¾Í´ËÒ»õê²»Õñ,
TRONÏîÄ¿È´´Ó´ËµÃÒÔ¼¯Öо«Á¦È¥Ñо¿ºÍ·¢Õ¹ÃæÏòǶÈëʽ»úÆ÷µÄ²Ù×÷ϵͳITRON.
Ñϸñ˵µÄ»°, ITRON²¢²»ÊÇÒ»¿î²Ù×÷ϵͳ, ¶øÊÇÒ»¸ö²Ù×÷ϵͳµÄ¹æ·¶. TRONÏîĿС×齫×Ô¼ºµÄÑо¿³É¹ûÒԹ淶µÄÐÎʽ¹«¿ª, Èκι«Ë¾ºÍ¸öÈ˶¼¿ÉÒÔÎÞ³¥µÃµ½Õâ·Ý¹æ·¶, ¸ù¾Ý¹æ·¶À´±àд×Ô¼ºµÄ²Ù×÷ϵͳ, ²¢×ÔÐоö¶¨¸Ã²Ù×÷ϵͳµÄÓÃ;.
ΪÁ˾¡¿ÉÄÜÍƹãITRON¹æ·¶, ʹÆäÄܹ»ÊÊÓÃÓÚ¸÷ÖÖÓ²¼þ»·¾³, ×î´óÏ޶ȷ¢»ÓÓ²¼þ»·¾³×ÔÉíµÄÐÔÄÜ,
TRONÏîÄ¿×éÔڹ淶Öƶ¨¹ý³ÌÖвÉÈ¡Èõ±ê×¼»¯µÄÔ­Ôò, ¼´¶ÔÓÚ½Ó½üÓ²¼þµÄ²¿·Ö²»×÷Ñϸñ¹æ¶¨, ±ÈÈçÖжϴ¦Àí²¿·Ö. ʱÖÁ½ñÈÕ,
ITRON¹æ·¶²Ù×÷ϵͳÔÚÈÕ±¾ÈÔÄÜÕ¼¾Ý½«½ü5³ÉµÄÊг¡·Ý¶î, Èõ±ê×¼»¯ÆðÁ˺ܴóµÄ×÷ÓÃ.
È»¶øËæ×ÅǶÈëʽϵͳµÄ¸ß¹¦ÄÜ,ÍøÂ绯ºÍ¸ß¶ÈHMI»¯, Èí¼þ¿ª·¢ºÍµ÷ÊÔ¶¼±äµÃÔ½À´Ô½¸´ÔÓ, Èí¼þµÄ¿ÉÖØÓÃÐÔÏÔµÃÔ½À´Ô½ÖØÒª.
¶øÈõ±ê×¼»¯µÄÔ­Ôòµ¼ÖÂITRON²Ù×÷ϵͳ°æ±¾ÁÖÁ¢, Öмä¼þÈí¼þȱ·¦¿ÉÒÆÖ²ÐԺͿÉÖØÓÃÐÔ. ¶ÔÓÚÕû¸ö²úÒµ½çÀ´Ëµ,
ºÜ¶à¿ª·¢³ÉΪÖظ´¿ª·¢,¼«´óµØÀË·ÑÁË×ÊÔ´.
ÔÚÈÕ±¾Ç¶ÈëʽÐÐÒµ¾ßÓнϴóÓ°ÏìÁ¦µÄ ¿ªÔ´ÉçÇø/·ÇÓ®Àû×éÖ¯TOPPERSÏîÄ¿ Õë¶ÔÕâÒ»×´¿ö¸ø³öÁ˻شð.
2. Why TOPPERS
Õë¶ÔITRON²Ù×÷ϵͳ°æ±¾»ìÂÒ,Èí¼þ×ÊÔ´¸´ÓÃÀ§ÄѵľÖÃæ,
ÈÕ±¾Ãû¹ÅÎÝ´óѧÑо¿ÉúÔºµÄ¸ßÌï¹ãÕ½ÌÊÚǣͷ³ÉÁ¢TOPPERSÏîÄ¿.¸ÃÏîÄ¿×鼯ºÏѧУ,ÆóÒµÒÔ¼°Éç»áÉÏÓÐʶ֮ʿµÄÁ¦Á¿,
×î³õµÄÄ¿±êÊÇÈ·Á¢Ò»¸öITRON¹æ·¶²Ù×÷ϵͳµÄ¾ö¶¨°æ±¾,
ʹ֮³ÉΪǶÈëʽÁìÓòµÄLinux,Èø÷ÖÖǶÈëʽӦÓóÌÐòÒÔ¼°Öмä¼þ¶¼ÄÜÔÚÒ»¸öÈ·¶¨µÄƽ̨ÉÏ×ÔÓÉÁ÷ͨ.
TOPPERSÊÇToyohashi OPen Platform for Embedded Real-time SystemsµÄËõÂÔ.
Ò


Ïà¹ØÎĵµ£º

LinuxÄں˱àÂëÊ°½õ

1.Ò»ÖÖ¶¨Ò庯ÊýÖ¸ÕëµÄ·½·¨
<linux/proc_fs.h>
typedef int (read_proc_t)(char *page, char **start, off_t offset, int count, int *eof, void *data);
read_proc_t *proc_read;
    ÕâÖÖ¶¨Òå·½·¨ÓÐÒ»¸öÓÅÊƾÍÊÇ£¬¼´Ê¹ÄãûÓп´µ½read_proc_tµÄ¶¨Ò壬ҲÄܹ»Çå³þµÄÖªµÀproc_readÊÇÒ»¸öÖ¸Õ룬ÈçÏÂÃæ ......

Linux x86 run time process manipulation

[------------------------------------------------------------------------]
[-- Uninformed Research -- informative information for the uninformed. --]
[------------------------------------------------------------------------]
[-- Genre : Development ......

LinuxÖеÄÄÚ´æ·ÖÅäºÍÊÍ·ÅÖ®__free_pages()º¯Êý·ÖÎö

  ¼ÇµÃÎÒÃÇÔÚÉÏƪÎÄÕÂmem_init()·ÖÎöÖÐÌáµ½__free_page()º¯ÊýÂð£¿ÎÒÃÇÏÖÔÚÀ´ÍêÉÆËü¡£ËüµÄµ÷Óùý³ÌÊÇÕâÑùµÄ£ºmem_init()->free_all_bootmem_node():ÎÒÃÇÖªµÀÕâ¸öº¯ÊýÊÇͳ¼ÆÒ»¹²ÊÍ·ÅÁ˶àÉÙ¿ÕÏÐÒ³¡£->free_all_bootmem_core()¾ÍÊÇÔÚÕâ¸öº¯ÊýÀïÃæÏȺó¶à´Îµ÷ÓÃ__free_pages()º¯Êý¡£Ä¿µÄ¾ÍÊÇΪÁËÊÍ·Åÿ¸öÄÚ´ænodeÀïÃæÎ ......

LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ

  LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ ÊÕ²Ø
Ò»£¬Ê¹ÓÃÔ´´úÂë°²×°
¡¡¡¡(1) »ñµÃÔ´´úÂë
¡¡¡¡# lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
¡¡¡¡NN±íʾµ±Ç°ËùÓõİ汾ºÅ¡£
¡¡¡¡(2) ½âѹËõ
¡¡¡¡# gzip -d httpd-2_0_NN.tar.gz
¡¡¡¡# tar xvf httpd-2_0_NN.tar¡¡
¡¡¡¡(3) ÅäÖÃ.
¡¡¡¡# ./configure --pre ......

Javaµ÷ÓÃLinuxÃüÁî

Java¿ÉÒÔÖ±½Óµ÷ÓÃLinuxÃüÁÐÎʽÈçÏ£º
 Runtime.getRuntime().exec(command)
 ¾ÙÀý£ºÔËÐÐls,topÃüÁî¿ÉÒÔÕâÑù£º
 Runtime.getRuntime().exec("ls");
 µ«ÊÇÕâÑùÖ´ÐÐʱûÓÐÈκÎÊä³ö£¬Ô­Òò£º 
 µ÷ÓÃRuntime.exec·½·¨½«²úÉúÒ»¸ö±¾µØµÄ½ø³Ì,²¢·µ»ØÒ»¸öProcess×ÓÀàµÄʵÀý£¬
£¨×¢Ò⣺Runtim ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ