Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

LinuxÄں˽ø³Ìµ÷¶ÈÒÔ¼°¶¨Ê±Æ÷ʵÏÖ»úÖÆ(ת)

ÕªÒª¡¿±¾Îļòµ¥½éÉÜÁËÈÎÎñµÄ¸÷ÖÖ״̬ºÍPCBµÄ½á¹¹£¬·ÖÎöÁ˼¸ÖÖÈÎÎñµ÷¶È²ßÂÔ£¬Ïê½âÁËschedule£¬²¢·ÖÎöÁËÈçºÎ½øÐнø³ÌÉÏÏÂÎÄÇл»£»Ëæºó·ÖÎöÁË2.6ÄÚºËÈçºÎÓÅ»¯ÁËÈÎÎñµ÷¶ÈËã·¨£»×îºó½éÉÜÁËÄں˶¨Ê±Æ÷µÄʵÏÖ»úÖÆºÍϵͳµ÷ÓõÄʵÏÖ¹ý³Ì¡£
¡¾¹Ø¼ü´Ê¡¿½ø³Ì¿ØÖÆ¿éPCB£¬RR£¬FIFO£¬Äں˵÷¶ÈËã·¨£¬ÈÎÎñÇл»£¬Äں˶¨Ê±£¬timer£¬ÈíÖжÏsoftirq£¬ÏµÍ³µ÷ÓÃ
Ò»¡¢2.6°æÒÔǰÄں˽ø³Ìµ÷¶È»úÖÆ¼ò½é... 1
1¡¢½ø³Ì¿ØÖÆ¿éÊý¾Ý½á¹¹... 1
2¡¢½ø³Ìµ÷¶È... 2
3¡¢½ø³ÌÉÏÏÂÎÄÇл»... 5
¶þ¡¢2.6°æÄں˶Խø³Ìµ÷¶ÈµÄÓÅ»¯... 7
1¡¢Ðµ÷¶ÈËã·¨¼ò½é... 7
2¡¢2.6°æÐµ÷¶ÈËã·¨·ÖÎö... 8
3¡¢2.6°æÐµ÷¶ÈËã·¨Á÷³Ìͼ... 11
Èý¡¢ÄÚºËÖжϼ°¶¨Ê±Æ÷ʵÏÖ·ÖÎö... 11
ËÄ¡¢ÏµÍ³µ÷ÓõÄʵÏÖ¹ý³Ì... 14
²Î¿¼×ÊÁÏ£º... 14
Ò»¡¢2.6°æÒÔǰÄں˽ø³Ìµ÷¶È»úÖÆ¼ò½é
LinuxµÄ½ø³Ì¹ÜÀíÓɽø³Ì¿ØÖƿ顢½ø³Ìµ÷¶È¡¢Öжϴ¦Àí¡¢ÈÎÎñ¶ÓÁС¢¶¨Ê±Æ÷¡¢bottom half¶ÓÁС¢ÏµÍ³µ÷Óᢽø³ÌͨÐŵȵȲ¿·Ö×é³É¡£
½ø³Ìµ÷Ó÷ÖΪʵʱ½ø³Ìµ÷¶ÈºÍ·Çʵʱ½ø³Ìµ÷¶ÈÁ½ÖÖ¡£Ç°Õßµ÷¶Èʱ£¬¿ÉÒÔ²ÉÓûùÓÚ¶¯Ì¬ÓÅÏȼ¶µÄÂÖת·¨£¨RR£©£¬Ò²¿ÉÒÔ²ÉÓÃÏȽøÏȳöËã·¨£¨FIFO£©¡£ºóÕßµ÷¶Èʱ£¬Ò»ÂɲÉÓûùÓÚ¶¯Ì¬ÓÅÏȼ¶µÄÂÖת·¨¡£Ä³¸ö½ø³Ì²ÉÓúÎÖÖµ÷¶ÈËã·¨Óɸýø³ÌµÄ½ø³Ì¿ØÖÆ¿éÖ ......

ǶÈëʽLinuxϵͳCGI³ÌÐòÉè¼Æ¼¼Êõ

ǶÈëʽLinuxϵͳCGI³ÌÐòÉè¼Æ¼¼Êõ
ÕªÒª£ºÔÚÏêϸ½éÉÜÒ»ÖÖǶÈëʽWeb·þÎñÆ÷BOAµÄʵÏÖÓëÅäÖ÷½·¨µÄ»ù´¡ÉÏ£¬ÒÔÒ»¸öWebÔÚÏßÔ¶³Ì¼à¿ØGPIO£¨Í¨ÓÃÊäÈë/Êä³ö£©µÄ³ÌÐòΪʵÀý£¬½éÉÜǶÈëʽLinuxϵͳÏÂCPU³ÌÐòÉè¼Æ¼¼Êõ¡£
   ¹Ø¼ü´Ê£ºÇ¶ÈëʽϵͳLinux BOA CGI GPIO
1 ¸ÅÊö
Ëæ×Å»¥ÁªÍøÓ¦ÓÃµÄÆÕ¼°£¬Ô½À´Ô½¶àµÄÐÅÏ¢»¯²úÆ·ÐèÒª½ÓÈ뻥ÁªÍøÍ¨¹ýWebÒ³Ãæ½øÐÐÔ¶³Ì·ÃÎÊ¡£Ç¶ÈëʽWebϵͳÌṩÁËÒ»ÖÖ¾­¼Ã¡¢ÊµÓõĻ¥ÁªÍøÇ¶Èëʽ½ÓÈë·½°¸¡£ÕâÀï½áºÏÒ»ÖÖǶÈëʽWeb Server BOAÀ´½éÉÜǶÈëʽLinuxϵͳϵÄCGI³ÌÐòÉè¼Æ¼¼Êõ¡£
2 Web Server BOAµÄʵÏÖÓëÅäÖÃ
2.1 uClinuxÏ£¬Ö÷ÒªÓÐÈý¸öWeb Server:HTTPD¡¢THTTPDºÍBOA¡£HTTPDÊÇ×î¼òµ¥µÄÒ»¸öWeb Server,ËüµÄ¹¦ÄÜ×îÈõ£¬²»Ö§³ÖÈÏÖ¤£¬²»Ö§³ÖCGI¡£THTTPDºÍBOA¶¼Ö§³ÖÈÏÖ¤¡¢CGIµÈ£¬¹¦Äܶ¼±È½ÏÈ«¡£BOAÊÇÒ»¸öµ¥ÈÎÎñµÄСÐÍHTTP·þÎñÆ÷£¬Ô´´úÂ뿪·Å¡¢ÐÔÄÜÓÅÐã£¬ÌØ±ðÊʺÏÓ¦ÓÃÔÚǶÈëʽϵͳÖС£Ä¿Ç°µÄuClinuxµÄ´úÂëÖÐÒѾ­°üº¬BOAµÄÔ´´úÂë¡£ÔÚuClinuxÏÂʵÏÖBOA£¬Ö»ÐèÒª¶ÔBOA×öһЩÅäÖúÍÐ޸ġ£ÒÔÏÂÊÇÅäÖõĹý³Ì¡£
£¨1£©±àÒëBOAµ½ÄÚºË
Ê×ÏÈ£¬ÐèÒª°ÑBOA±àÒëµ½Äںˣ¬¼´Ö´ÐÐmake menuconfig£¬ÔÚÓ¦ÓóÌÐòÑ¡µ¥ÖÐnetwork applicationÏîÏÂÃæÑ¡Ôñboa¡£¸Ã²Ù×÷ÐèÒªÖØÐ±àÒëÄںˡ ......

Linux ½ø³Ìµ÷¶È»úÖÆ

ÓÅÏÈȨֻÊǵ÷¶ÈËã·¨¿¼ÂǵÄÒ»¸ö·½Ãæ
½ø³Ìµ÷¶ÈÒÀ¾Ý
µ÷¶È³ÌÐòÔËÐÐʱ£¬ÒªÔÚËùÓпÉÔËÐÐ״̬µÄ½ø³ÌÖÐÑ¡Ôñ×îÖµµÃÔËÐеĽø³ÌͶÈëÔËÐС£Ñ¡Ôñ½ø³ÌµÄÒÀ¾ÝÊÇÊ²Ã´ÄØ£¿ÔÚÿ¸ö½ø³ÌµÄtask_struct½á¹¹ÖÐÓÐÒÔÏÂËÄÏpolicy¡¢priority¡¢counter¡¢rt_priority¡£ÕâËÄÏîÊÇÑ¡Ôñ½ø³ÌµÄÒÀ¾Ý¡£ÆäÖУ¬policyÊǽø³ÌµÄµ÷¶È²ßÂÔ£¬ÓÃÀ´Çø·Öʵʱ½ø³ÌºÍÆÕͨ½ø³Ì£¬ÊµÊ±½ø³ÌÓÅÏÈÓÚÆÕͨ½ø³ÌÔËÐУ»priorityÊǽø³Ì(°üÀ¨ÊµÊ±ºÍÆÕͨ)µÄ¾²Ì¬ÓÅÏȼ¶£»counterÊǽø³ÌÊ£ÓàµÄʱ¼äƬ£¬ËüµÄÆðʼֵ¾ÍÊÇpriorityµÄÖµ£»ÓÉÓÚcounterÔÚºóÃæ¼ÆËãÒ»¸ö´¦ÓÚ¿ÉÔËÐÐ״̬µÄ½ø³ÌÖµµÃÔËÐеij̶ÈgoodnessʱÆðÖØÒª×÷Óã¬Òò´Ë£¬counterÒ²¿ÉÒÔ¿´×÷Êǽø³ÌµÄ¶¯Ì¬ÓÅÏȼ¶¡£rt_priorityÊÇʵʱ½ø³ÌÌØÓеģ¬ÓÃÓÚʵʱ½ø³Ì¼äµÄÑ¡Ôñ¡£
LinuxÓú¯Êýgoodness()À´ºâÁ¿Ò»¸ö´¦ÓÚ¿ÉÔËÐÐ״̬µÄ½ø³ÌÖµµÃÔËÐеij̶ȡ£¸Ãº¯Êý×ÛºÏÁËÒÔÉÏÌáµ½µÄËÄÏ»¹½áºÏÁËһЩÆäËûµÄÒòËØ£¬¸øÃ¿¸ö´¦ÓÚ¿ÉÔËÐÐ״̬µÄ½ø³Ì¸³ÓèÒ»¸öȨֵ(weight)£¬µ÷¶È³ÌÐòÒÔÕâ¸öȨֵ×÷ΪѡÔñ½ø³ÌµÄΨһÒÀ¾Ý¡£¹ØÓÚgoodness()µÄÇé¿öÔÚºóÃæ½«»áÏêϸ·ÖÎö¡£
½ø³Ìµ÷¶È²ßÂÔ
µ÷¶È³ÌÐòÔËÐÐʱ,ÒªÔÚËùÓд¦ÓÚ¿ÉÔËÐÐ״̬µÄ½ø³ÌÖ®ÖÐÑ¡Ôñ×îÖµµÃÔËÐеĽø³ÌͶÈëÔËÐС£Ñ¡Ôñ½ø³ÌµÄÒÀ¾ÝÊÇÊ²Ã´ÄØ?ÔÚÿ¸ö½ø³ÌµÄtask_st ......

linux api±Ê¼Ç£¨7£©£ºÏµÍ³µ÷ÓÃÈçºÎ°ÚÍÑÐźŵĸÉÈÅ

ÔÚlinux»·¾³Ï±à³ÌÓÐÒ»¸öºÜÈÃÈËÍ·ÌÛµÄÎÊÌâ¾ÍÊÇÐźŶÔϵͳµ÷ÓõĸÉÈÅ£¬ÔÚϵͳµ÷Óùý³ÌÖÐÈç¹ûÊܵ½ÐźŵĸÉÈÅ£¬
²¿·Öϵͳµ÷ÓûὫerrnoÉèÖóÉEINTR£¬ÎÒÃDz»µÃ²»±àдÏÂÃæµÄ´íÎó´¦Àí´úÂëÀ´·ÀÖ¹ÕâÖÖÇé¿öµÄ·¢Éú£º
syscall:
int ret = syscall(...);
if (ret < 0 && EINTER == errno)
goto syscall;
else if(ret < 0)
...
else
... 
Ò»´ÎÓÖÒ»´ÎµÄ±àдµÄ»°ÕæµÄºÜ·³£¬¶øÇ°¶Ëʱ¼äÎÒÔÚchromeµÄÔ´´úÂëÖÐÕÒµ½µÄÒ»¶Î´úÂëÕýºÃ½â¾öÁËÕâÖÖ³óªµÄ±àÂ룺
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#define HANDLE_EINTR(x) ({ \
typeof(x) __eintr_code__; \
do { \
__eintr_code__ = x; \
} while(__eintr_code__ < 0 && EINTR == errno); \
__eintr_code__; \
})
int main()
{
int fd = 0;
char buf[1024];
fd = open("hello world", O_RDWR);
HANDLE_EINTR(read(fd,buf, sizeof(buf)));
close(fd);
return 0;
}
 
µ±È»ÎÒÃÇÒ²²»ÊÇÖ»ÒªÅöµ½ÏµÍ³µ÷ÓþÍʹÓÃHANDLE_ ......

LinuxÃüÁî

Ò»¡¢ ldconfig£º
¡¡¡¡LinuxϵͳÖУ¬ÎªÁËÈö¯Ì¬Á´½Ó¿âΪϵͳËù¹²Ïí£¬»¹ÐèÔËÐж¯Ì¬Á´½Ó¿âµÄ¹ÜÀíÃüÁî——ldconfig.
¡¡¡¡1. ldconfigÃüÁîµÄÓÃ;£ºÖ÷ÒªÊÇÔÚĬÈÏËÑѰĿ¼£¨/libºÍ/usr/lib£©ÒÔ¼°¶¯Ì¬¿âÅäÖÃÎļþ/etc/ld.so.confÄÚËùÁеÄĿ¼Ï£¬ËÑË÷³ö¿É¹²ÏíµÄ¶¯Ì¬Á´½Ó¿â£¨¸ñʽÈçǰ½éÉÜ£¬lib*.so*£©£¬½ø¶ø´´½¨³ö¶¯Ì¬×°Èë³ÌÐò£¨ld.so£©ËùÐèµÄÁ¬½ÓºÍ»º´æÎļþ¡£»º´æÎļþĬÈÏΪ /etc/ld.so.cache£¬´ËÎļþ±£´æÒÑÅźÃÐòµÄ¶¯Ì¬Á´½Ó¿âÃû×ÖÁÐ±í¡£
¡¡¡¡2. ldconfigͨ³£ÔÚϵͳÆô¶¯Ê±ÔËÐУ¬¶øµ±Óû§°²×°ÁËÒ»¸öÐµĶ¯Ì¬Á´½Ó¿âʱ£¬¾ÍÐèÒªÊÖ¹¤ÔËÐÐÕâ¸öÃüÁî¡£
¶þ¡¢ldd
      1¡¢Ê×ÏÈldd²»ÊÇÒ»¸ö¿ÉÖ´ÐгÌÐò£¬¶øÖ»ÊÇÒ»¸öshell½Å±¾
¡¡¡¡2¡¢lddÄܹ»ÏÔʾ¿ÉÖ´ÐÐÄ£¿éµÄdependency£¬ÆäÔ­ÀíÊÇͨ¹ýÉèÖÃһϵÁеĻ·¾³±äÁ¿£¬ÈçÏ£ºLD_TRACE_LOADED_OBJECTS¡¢LD_WARN¡¢LD_BIND_NOW¡¢LD_LIBRARY_VERSION¡¢ LD_VERBOSEµÈ¡£µ±LD_TRACE_LOADED_OBJECTS»·¾³±äÁ¿²»Îª¿Õʱ£¬ÈκοÉÖ´ÐгÌÐòÔÚÔËÐÐʱ£¬Ëü¶¼»áÖ»ÏÔʾģ¿éµÄ dependency£¬¶ø³ÌÐò²¢²»ÕæÕýÖ´ÐС£ ......

Ó²Å̰²×° linux Fedora Core 10


°²×°Ç°×¼±¸ºÃÁ½¸ö·ÖÇøA ºÍB£¬·ÖÇø A ÓÃÀ´´æ·ÅÏÂÔØÀ´µÄ Fedora 10 µÄISO¾µÏñÎļþ£¬·ÖÇø B ÓÃÀ´°²×° Fedora 10 .¡£
×¢Ò⣺´æ·Å¾µÏñÎļþµÄ·ÖÇø±ØÐëΪ Fat32 ¸ñʽ£¬·ñÔòÎÞ·¨½øÐа²×°¡££¨±¾ÈËÒѲâÊÔ¹ý£©
½âѹ Fedora-10-i386-netinst.iso ´ËISO Îļþ£¬½«½âѹ³öÀ´µÄ isolinux ºÍ images Á½¸öÎļþ¼ÐÓë Fedora 10 µÄ ISO ¾µÏñÎļþÒ»Æð·ÅÔÚ·ÖÇø A µÄ¸ùĿ¼Ï¡£
ÏÂÔØÒ»¸ö Grub4dos Èí¼þ¡£ÕâÊÇÒ»¸ö¶àϵͳÒýµ¼¹¤¾ß¡£ÏÂÔØµØÖ·£º
sourceforge.net/project/downloading.php
ÏÂÔØºóÌáÈ¡ÆäÖÐµÄ menu.lst ºÍ   grldr Á½¸öÎļþ¡£·Åµ½CÅ̸ùĿ¼Ï¡£´ò¿ªCÅ̸ùĿ¼Ï嵀 boot.ini Îļþ£¬ÔÚºóÃæ¼ÓÈëÈçÏ´úÂ룺
c:\glrdr="Start GrubForDos"
±£´æÍ˳ö£¬´ò¿ª menu.lst Îļþ £¬ÔÚÆäÖмÓÈëÈçÏÂÃüÁ
title install fedora core 10
root (hdx,y)
kernel (hdx,y)/isolinux/vmlinuz
initrd (hdx,y)/isolinux/initrd.img
boot
×¢£ºx ΪӲÅÌÐòºÅ£¬µÚÒ»¸öÓ²ÅÌΪ0£¬µÚ¶þ¸öΪ1,ÒÔ´ËÀàÍÆ£¬y ΪӲÅ̵ķÖÇøÐòºÅ£¬ÇÒ´Ë·ÖÇøÊÇÄã´æ·Å Fedora 10 ISO ¾µÏñÎļþµÄ·ÖÇø£¬µÚÒ»¸öÖ÷·ÖÇøÎª0£¬µÚ¶þ¸öÖ÷·ÖÇøÎª1£¬µÚÈý¸öÖ÷·ÖÇøÎª2£¬µÚËĸöÖ÷·ÖÇøÎª3£¬µÚÒ»¸öÂß¼­·ÖÇøÎª4£¬µÚ¶þ¸öΪ5..........ÀýÈ磺 (hd0, ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [237] [238] [239] [240] 241 [242] [243] [244] [245] [246]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ