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

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç11 ÄÚ´æÓëI/O·ÃÎÊ

typedef void (*lpFunction) ();//¶¨ÒåÒ»¸öÎÞ²ÎÊý£¬ÎÞ·µ»ØÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ
//¶¨ÒåÒ»¸öº¯ÊýÖ¸Õ룬ָÏòcpuÆô¶¯ºóËùÖ´ÐеĵÚÒ»ÌõÖ¸ÁîµÄλÖÃ
lpFunction lpReset = (lpFunction)0xF000FFF0;
lpReset();//µ÷Óú¯Êý
 
MMUÍ£¹©ÐéÄâµØÖ·ºÍÎïÀíµØÖ·µÄÓ³Éä¡¢ÄÚ´æ·ÃÎÊȨÏÞ±£»¤ºÍCache»º´æ¿ØÖƵÈÓ²¼þÖ§³Ö¡£²Ù×÷ϵͳÄں˽èÖúMMU£¬¿ÉÒÔÈÃÓû§¸Ð¾õµ½ºÃÏñ³ÌÐò¿ÉÒÔʹÓ÷dz£´óµÄÄÚ´æ¿Õ¼ä£¬´Ó¶øÊ¹µÃ±à³ÌÈËÔ±ÔÚд³ÌÐòʱ²»Óÿ¼ÂǼÆËã»úµÄÎïÀíÄÚ´æµÄʵ¼ÊÈÝÁ¿
 
Èçͼ£¬µ±ARMÒª·ÃÎÊ´æ´¢Æ÷ʱ£¬MMUÏȲéÕÒTLBÖеÄÐéÄâµØÖ·±í¡£Èç¹ûARMµÄ½á¹¹Ö§³Ö·Ö¿ªµÄÊý¾ÝTLB£¨DTLB£©ºÍÖ¸ÁîTLB£¨ITLB£©£¬Ôò³ýÈ¥Ö¸ÁîʹÓõÄITLBÍ⣬ÆäËûµÄ¶¼ÊÇÓÃDTLB
 
ÈôTLBÖÐûÓÐÐéÄâµØÖ·µÄÈë¿Ú£¬Ôòת»»±í±éÀúÓ²¼þ´Ó´æ·ÅÓÚÖ÷´æ´¢Æ÷ÖеÄת»»±íÖлñÈ¡µØÖ·×ª»»ÐÅÏ¢ºÍ·ÃÎÊȨÏÞ£¨¼´Ö´ÐÐTTW£©£¬Í¬Ê±½«ÕâЩÐÅÏ¢·ÅÈëTLB£¬Ëü»òÕß±»·ÅÔÚÒ»¸öûÓÐʹÓõÄÈë¿Ú»òÕßÌæ»»Ò»¸öÒѾ­´æÔÚµÄÈë¿Ú¡£Ö®ºó£¬ÔÚTLBÌõÄ¿ÖпØÖÆÐÅÏ¢µÄ¿ØÖÆÏ£¬µ±·ÃÎÊȨÏÞÔÊÐíʱ£¬¶ÔÕæÊµÎïÀíµØÖ·µÄ·ÃÎʽ«ÔÚCache»òÕßÔÚÄÚ´æÖз¢Éú
Óû§¿Õ¼ä0-3GB£¬Äں˿ռä3-4GB£¬Óû§½ø³Ìͨ³£Çé¿öÏÂÖ»ÄÜ·ÃÎÊÓû§¿Õ¼äµÄÐéÄâµØÖ·£¬²»ÄÜ·ÃÎÊÄں˿ռäÐéÄâµØÖ·¡£Óû§½ø³ÌÖ»ÄÜͨ¹ýϵͳµ÷Óõȷ½Ê½²ÅÄÜ·ÃÎʵ½Äں˿ռä
ÿ¸ö½ø³ÌµÄÓû§¿Õ¼ä¶¼ÊÇÍêÈ«¶ÀÁ¢¡¢»¥²»Ïà¸ÉµÄ£¬Óû§½ø³Ì¸÷×ÔÓв»Í¬µÄÒ³±í¡£¶øÄں˿ռäÊÇÓÉÄں˸ºÔðÓ³É䣬Ëü²¢²»»á¸ú׎ø³Ì¸Ä±ä£¬Êǹ̶¨µÄ¡£ÄÚºË¿Õ¼äµØÖ·ÓÐ×Ô¼º¶ÔÓ¦µÄÒ¶±í£¬Äں˵ÄÐéÄâ¿Õ¼ä¶ÀÁ¢ÓÚÆäËû³ÌÐò
 
LinuxÖеÄ1GBÄں˵ØÖ·¿Õ¼äÓÖ±»»®·ÖΪÄÚ´æÓ³ÉäÇø£¬ÐéÄâÄÚ´æ·ÖÅäÇø¡¢¸ß¶ËÒ³ÃæÓ³ÉäÇø¡¢×¨ÓÃÒ³ÃæÓ³ÉäÇøºÍϵͳ±£ÁôÓ³ÉäÇø
 
void kmalloc(size_t size, int flags);
µÚ¶þ¸ö²ÎÊýΪ·ÖÅä±êÖ¾£¬ÓÃÓÚ¿ØÖÆkmallocµÄÐÐΪ£¬×îͨ³£ÓõķÖÅä±êÖ¾ÊÇGFP_KERNEL£¬Æäº¬ÒåÊÇÔÙÄں˿ռäµÄ½ø³ÌÖÐÉêÇëÄÚ´æ¡£KmallocµÄµ×²ãÒÀÀµ__get_free_pages()ʵÏÖ£¬GFPÕýºÃÊÇÕâ¸öº¯ÊýµÄËõд£¬Ê¹ÓÃGFP_KERNEL±êÖ¾ÉêÇëÄÚ´æÊ±£¬ÈôÔÝʱ²»ÄÜÂú×㣬Ôò½ø³Ì»á˯ÃߵȴýÒ³£¬¼´ÒýÆð×èÈû£¬Òò´Ë²»ÄÜÔÚÖжÏÉÏÏÂÎÄ»ò³ÖÓÐ×ÔÐýËøµÄʱºòʹÓô˱êÖ¾ÉêÇëÄÚ´æ
ÔÚÖжϴ¦Àíº¯Êý¡¢taskletºÍÄں˶¨Ê±Æ÷µÈ·Ç½ø³ÌÉÏÏÂÎÄÖв»ÄÜ×èÈû£¬´ËʱÇý¶¯Ó¦¸ÃʹÓÃGFP_ATOMIC±êÖ¾À´ÉêÇ룬Èô²»´æÔÚ¿ÕÏÐÒ³£¬Ö±½Ó·µ»Ø
 
__get_free_pages()£º
´ËϵÁк¯Êý°üÀ¨£º
get_zeroed_page(unsigned int flags)£»
·µ»ØÒ»¸öÖ¸ÏòÐÂÒ³µÄÖ¸Õë²¢ÇÒ½«¸ÃÒ³ÇåÁã
__get_free_page(unsigned int flags)
¸Ãºê·µ»ØÒ»


Ïà¹ØÎĵµ£º

Linux iptableÎĵµ

×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......

LINUX ½ø³Ì¼ä ÐźÅ

#include <iostream>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <signal.h>
using namespace std;
extern char **environ;
void signal_handle(int signal_no){
cout << "sign:" &l ......

µÚÒ»¸öǶÈëʽLinuxµÄÇý¶¯³ÌÐò

   ´ÓÕâ¸ö×ܽáÕýʽ¿ªÊ¼ÁËÎÒµÄÇý¶¯Ö®Âã¬ÐÄÇé²»ÃâÓе㼤¶¯£¬¾¡¹ÜÏÖÔÚ¶ÔÇý¶¯µÄ±àд»¹ºÜÄ£ºý£¬µ«»¹ÊÇÓмÍÄîÒâÒåµÄ……
 
¿ª·¢Æ½Ì¨£º
    ÐéÄâ»úÏÂRedHat9£¬ÄÚºË2.4.20.8
    ½»²æ±àÒë±àÒëÆ÷£ºÌìǶ¹«Ë¾ÌṩµÄarm-linux-gcc 4.3.3
    ÄÚºËÊ÷£º/h ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç1 LinuxÉ豸Çý¶¯ÈëÃÅ


ʲôÊÇÇý¶¯£¿
×îͨË׵ĽâÊ;ÍÊÇ“ÇýʹӲ¼þÉ豸Ðж¯”
×÷Óã¿
É豸Çý¶¯Óëµ×²ãÓ²¼þÖ±½Ó´ò½»µÀ£¬°´ÕÕÓ²¼þÉ豸µÄ¾ßÌ幤×÷·½Ê½¶ÁдÉ豸¼Ä´æÆ÷£¬Íê³ÉÉ豸µÄÂÖѯ¡¢Öжϴ¦Àí¡¢DMAͨÐÅ£¬½øÐÐÎïÀíÄÚ´æÏòÐéÄâÄÚ´æµÄÓ³É䣬×îÖÕʹͨÐÅÉ豸Äܹ»ÊÕ·¢Êý¾Ý£¬Ê¹ÏÔʾÉ豸Äܹ»ÏÔʾÎÄ×ֺͻ­Ã棬ʹ´æ´¢É豸Äܹ»¼Ç¼ÎļþºÅÊý¾Ý
¼ÆË ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç7 ²¢·¢¿ØÖÆ


ÖÐ¶ÏÆÁ±ÎµÄʹÓ÷½·¨£º
local_irq_disable() //¹ØÖжÏ
local_irq_enable() //¿ªÖжÏ
ÕâÁ½¸öº¯Êý¶¼Ö»ÄܽûÖ¹ºÍʹÄܱ¾cpuÄÚµÄÖжϣ¬Òò´Ë£¬²¢²»Äܽâ¾öSMP¶àcpuÒý·¢µÄ¾ºÌ¬¡£Òò´Ë£¬µ¥¶ÀʹÓÃÖÐ¶ÏÆÁ±Îͨ³£²»ÊÇÒ»ÖÖÖµµÃÍÆ¼öµÄ±ÜÃ⾺̬µÄ·½·¨£¬ËüÊÊÒËÓë×ÔÐýËøÁªºÏʹÓÃ
ÁíÍ⣬local_irq_save(flags)³ýÁ˽øÐнûÖ¹ÖжϲÙ×÷ÒÔÍ⣬»¹± ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ