Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ÏÂpsÃüÁîÏê½â


linuxÉϽø³ÌÓÐ5ÖÖ״̬:
1. ÔËÐÐ(ÕýÔÚÔËÐлòÔÚÔËÐжÓÁÐÖеȴý)
2. ÖжÏ(ÐÝÃßÖÐ, ÊÜ×è, Ôڵȴýij¸öÌõ¼þµÄÐγɻò½ÓÊܵ½ÐźÅ)
3. ²»¿ÉÖжÏ(ÊÕµ½ÐźŲ»»½ÐѺͲ»¿ÉÔËÐÐ, ½ø³Ì±ØÐëµÈ´ýÖ±µ½ÓÐÖжϷ¢Éú)
4. ½©ËÀ(½ø³ÌÒÑÖÕÖ¹, µ«½ø³ÌÃèÊö·û´æÔÚ, Ö±µ½¸¸½ø³Ìµ÷ÓÃwait4()ϵͳµ÷ÓúóÊÍ·Å)
5. Í£Ö¹(½ø³ÌÊÕµ½SIGSTOP, SIGSTP, SIGTIN, SIGTOUÐźźóÍ£Ö¹ÔËÐÐÔËÐÐ)
ps¹¤¾ß±êʶ½ø³ÌµÄ5ÖÖ״̬Âë:
D ²»¿ÉÖÐ¶Ï uninterruptible sleep (usually IO)
R ÔËÐÐ runnable (on run queue)
S ÖÐ¶Ï sleeping
T ֹͣ traced or stopped
Z ½©ËÀ a defunct (”zombie”) process
Ãû³Æ£ºps
ʹÓÃȨÏÞ£ºËùÓÐʹÓÃÕß
ʹÓ÷½Ê½£ºps [options] [--help]
˵Ã÷£ºÏÔʾ˲¼äÐÐ³Ì (process) µÄ¶¯Ì¬
²ÎÊý£º
ps µÄ²ÎÊý·Ç³£¶à, Ôڴ˽öÁгö¼¸¸ö³£ÓõIJÎÊý²¢´óÂÔ½éÉܺ¬Òå
-A ÁгöËùÓеÄÐгÌ
-w ÏÔʾ¼Ó¿í¿ÉÒÔÏÔʾ½Ï¶àµÄ×ÊѶ
-au ÏÔʾ½ÏÏêϸµÄ×ÊѶ
-aux ÏÔʾËùÓаüº¬ÆäËûʹÓÃÕßµÄÐгÌ
au(x) Êä³ö¸ñʽ :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: ÐгÌÓµÓÐÕß
PID: pid
%CPU: Õ¼ÓÃµÄ CPU ʹÓÃÂÊ
%MEM: Õ¼ÓõļÇÒäÌåʹÓÃÂÊ
VSZ: Õ¼ÓõÄÐéÄâ¼ ......

linuxÄÚºËÆô¶¯¹ý³Ì——»ùÓÚS3C2410

£¨1£©zImage×Ô½âѹ
±¾ÎÄÒÔÁ÷ÐеÄSamsung¹«Ë¾µÄS3C2410£¬mini2440ƽ̨ºÍlinux-2.6.29ΪÀý£¬½éÉÜÈçºÎÔÚZIXǶÈëʽ¿ª·¢»·¾³ÏÂ̽Ë÷linuxÄÚºËÆô¶¯¹ý³Ì¡£
LinuxÄÚºËÆô¶¯Ò»°ãÓÉÍⲿµÄbootloaderÒýµ¼£¬Ò²¿ÉÒÔÔÚÄÚºËÍ·²¿Ç¶ÈëÒ»¸öloader£¬Êµ¼ÊµÄÓ¦ÓÃÖÐÕâÁ½ÖÖ·½Ê½¶¼»á¾­³£Óöµ½¡£ËùÒÔÒªÁ˽âÄÚºËÆô¶¯×ʼµÄ¹ý³Ì£¬±ØÐë¶ÔbootloaderÈçºÎÒýµ¼ÄÚºËÓÐËùÊìϤ¡£ÏÂÃæÎÒÃÇ´Óu-boot¼ÓÔØlinuxÄں˵ĴúÂ뿪ʼ·ÖÎö£¨¹ØÓÚu-boot ×ÔÉíµÄÆô¶¯Á÷³Ì£¬Çë²Î¿¼
u-boot Æô¶¯¹ý³Ì —— »ùÓÚS3C2410
£©¡£
1.´¦ÀíÆ÷Äں˼ÓÔØ´úÂë
ÔÚu-bootµÄ
do_bootm_linuxº¯Êý
ÀʵÏÖÁË´¦ÀíÆ÷¼Ü¹¹Ïà¹ØµÄlinuxÄں˼ÓÔØ´úÂë£¬ÌØ±ðÊÇtags´«µÝ¡£
¸Ãº¯ÊýÖУ¬ÔÚ(u-boot-1.6)lib_arm/armlinux.cµÄ
90ÐÐ
µ÷ÓÃÁËgetenv½«bootargs»·¾³±äÁ¿±£´æÔÚcommandline
    char *commandline = 
getenv
("bootargs");
È»ºó½âÎöuImageÎļþÍ·£¬²¢ÇÒ°´ÕÕÍ·Öе͍Òå·Ö½âºÍ¼ÓÔØuImage¡£ËùÒÔÕⲿ·Ö´úÂëµÄÔËÐÐÈ¡¾öÓÚuImageÎļþÊÇÈçºÎÉú³ÉµÄ£¬±¾ÎIJ»×ö¹ý¶àÐðÊö£¬¿É²Î¿¼ÁíÎÄÁ˽âu-bootʹÓ᣽ÓÏÂÀ´½øÐÐtagsÉèÖù¤×÷£¬·Ö±ðµ÷ÓÃÁË
setup_start_tag() 
setup_memory_tag() 
setup_commandlin ......

linuxÄÚºËÆô¶¯¹ý³Ì——»ùÓÚS3C2410

£¨1£©zImage×Ô½âѹ
±¾ÎÄÒÔÁ÷ÐеÄSamsung¹«Ë¾µÄS3C2410£¬mini2440ƽ̨ºÍlinux-2.6.29ΪÀý£¬½éÉÜÈçºÎÔÚZIXǶÈëʽ¿ª·¢»·¾³ÏÂ̽Ë÷linuxÄÚºËÆô¶¯¹ý³Ì¡£
LinuxÄÚºËÆô¶¯Ò»°ãÓÉÍⲿµÄbootloaderÒýµ¼£¬Ò²¿ÉÒÔÔÚÄÚºËÍ·²¿Ç¶ÈëÒ»¸öloader£¬Êµ¼ÊµÄÓ¦ÓÃÖÐÕâÁ½ÖÖ·½Ê½¶¼»á¾­³£Óöµ½¡£ËùÒÔÒªÁ˽âÄÚºËÆô¶¯×ʼµÄ¹ý³Ì£¬±ØÐë¶ÔbootloaderÈçºÎÒýµ¼ÄÚºËÓÐËùÊìϤ¡£ÏÂÃæÎÒÃÇ´Óu-boot¼ÓÔØlinuxÄں˵ĴúÂ뿪ʼ·ÖÎö£¨¹ØÓÚu-boot ×ÔÉíµÄÆô¶¯Á÷³Ì£¬Çë²Î¿¼
u-boot Æô¶¯¹ý³Ì —— »ùÓÚS3C2410
£©¡£
1.´¦ÀíÆ÷Äں˼ÓÔØ´úÂë
ÔÚu-bootµÄ
do_bootm_linuxº¯Êý
ÀʵÏÖÁË´¦ÀíÆ÷¼Ü¹¹Ïà¹ØµÄlinuxÄں˼ÓÔØ´úÂë£¬ÌØ±ðÊÇtags´«µÝ¡£
¸Ãº¯ÊýÖУ¬ÔÚ(u-boot-1.6)lib_arm/armlinux.cµÄ
90ÐÐ
µ÷ÓÃÁËgetenv½«bootargs»·¾³±äÁ¿±£´æÔÚcommandline
    char *commandline = 
getenv
("bootargs");
È»ºó½âÎöuImageÎļþÍ·£¬²¢ÇÒ°´ÕÕÍ·Öе͍Òå·Ö½âºÍ¼ÓÔØuImage¡£ËùÒÔÕⲿ·Ö´úÂëµÄÔËÐÐÈ¡¾öÓÚuImageÎļþÊÇÈçºÎÉú³ÉµÄ£¬±¾ÎIJ»×ö¹ý¶àÐðÊö£¬¿É²Î¿¼ÁíÎÄÁ˽âu-bootʹÓ᣽ÓÏÂÀ´½øÐÐtagsÉèÖù¤×÷£¬·Ö±ðµ÷ÓÃÁË
setup_start_tag() 
setup_memory_tag() 
setup_commandlin ......

ÈçºÎÔÚLinuxÏÂÀ´²é¿´OSϵͳ¿éµÄ´óС

Skate
¡¡
¡¡¡¡²é¿´osϵͳ¿éµÄ´óС
¡¡
¡¡¡¡[root]# /sbin/tune2fs -l /dev/sda1
¡¡
¡¡¡¡²é¿´osϵͳҳµÄ´óС
¡¡
¡¡¡¡[oracle@skate-test ~]$ getconf PAGESIZE
¡¡
¡¡¡¡4096
¡¡
¡¡¡¡Ð޸ĿéµÄ´óС£º
¡¡
¡¡¡¡´´½¨Îļþϵͳʱ£¬¿ÉÒÔÖ¸¶¨¿éµÄ´óС¡£Èç¹û½«À´ÔÚÄãµÄÎļþϵͳÖÐÊÇһЩ±È½Ï´óµÄÎļþµÄ»°£¬Ê¹ÓýϴóµÄ¿é´óС½«µÃµ½½ÏºÃµÄÐÔÄÜ¡£½«ext2ÎļþϵͳµÄ¿é´óСµ÷ÕûΪ4096byte¶ø²»ÊÇȱʡµÄ1024byte£¬¿ÉÒÔ¼õÉÙÎļþË鯬£¬¼Ó¿ìfsckɨÃèµÄËٶȺÍÎļþɾ³ýÒÔ¼°¶Á²Ù×÷µÄËÙ¶È¡£ÁíÍ⣬ÔÚext2µÄÎļþϵͳÖУ¬Îª¸ùĿ¼±£ÁôÁË5%µÄ¿Õ¼ä£¬¶ÔÒ»¸ö´óµÄÎļþϵͳ£¬³ý·ÇÓÃ×÷ÈÕÖ¾Îļþ£¬5%µÄ±ÈÀýÓÐЩ¹ý¶à¡£¿ÉÒÔʹÓÃÃüÁî
¡¡
¡¡¡¡# mke2fs -b 4096 -m 1 /dev/hda6
¡¡
¡¡¡¡½«Ëü¸ÄΪ1%²¢ÒÔ¿é´óС4096byte´´½¨Îļþϵͳ¡£
¡¡
¡¡¡¡Ê¹Óöà´óµÄ¿é´óС£¬ÐèÒª¸ù¾ÝÄãµÄϵͳ×ۺϿ¼ÂÇ£¬Èç¹ûϵͳÓÃ×÷Óʼþ»òÕßÐÂÎÅ·þÎñÆ÷£¬Ê¹ÓýϴóµÄ¿é´óС£¬ËäÈ»ÐÔÄÜÓÐËùÌá¸ß£¬µ«»áÔì³É´ÅÅ̿ռä½Ï´óµÄÀË·Ñ¡£±ÈÈçÎļþϵͳÖеÄÎļþƽ¾ù´óСΪ2145byte£¬Èç¹ûʹÓÃ4096byteµÄ¿é´óС£¬Æ½¾ùÿһ¸öÎļþ¾Í»áÀË·Ñ1951byte¿Õ¼ä¡£Èç¹ûʹÓÃ1024byteµÄ¿é´óС£¬Æ½¾ùÿһ¸öÎļþ»áÀË·Ñ927byte¿Õ¼ä¡£ÔÚÐÔÄܺʹÅÅ̵Ĵú¼ÛÉÏÈçºÎƽºâ£¬Òª¿´¾ßÌå ......

Linux ÄÚ´æ¹ÜÀí ¸ß¶ËÄÚ´æµÄÓ³É䷽ʽ

½âÊÍÒ»:
¸ß¶ËÄÚ´æÊÇÖ¸ÎïÀíµØÖ·´óÓÚ 896M µÄÄÚ´æ¡£
¶ÔÓÚÕâÑùµÄÄڴ棬ÎÞ·¨ÔÚ“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”½øÐÐÓ³Éä¡£
Ϊʲô£¿
ÒòΪ“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”×î¶àÖ»ÄÜ´Ó 3G µ½ 4G£¬Ö»ÄÜÖ±½ÓÓ³Éä 1G ÎïÀíÄڴ棬¶ÔÓÚ´óÓÚ 1G µÄÎïÀíÄڴ棬ÎÞÄÜΪÁ¦¡£
ʵ¼ÊÉÏ£¬“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”Ò²´ï²»µ½ 1G£¬ »¹µÃÁôµãÏßÐÔ¿Õ¼ä¸ø“Äں˶¯Ì¬Ó³Éä¿Õ¼ä” ÄØ¡£
Òò´Ë£¬Linux ¹æ¶¨“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä” ×î¶àÓ³Éä 896M ÎïÀíÄÚ´æ¡£
¶Ô Óڸ߶ËÄڴ棬¿ÉÒÔͨ¹ý alloc_page() »òÕ߯äËüº¯Êý»ñµÃ¶ÔÓ¦µÄ page£¬µ«ÊÇÒªÏë·ÃÎÊʵ¼ÊÎïÀíÄڴ棬»¹µÃ°Ñ page
תΪÏßÐÔµØÖ·²ÅÐУ¨ÎªÊ²Ã´£¿ÏëÏë MMU ÊÇÈçºÎ·ÃÎÊÎïÀíÄÚ´æµÄ£©£¬Ò²¾ÍÊÇ˵£¬ÎÒÃÇÐèҪΪ¸ß¶ËÄÚ´æ¶ÔÓ¦µÄ page
ÕÒÒ»¸öÏßÐԿռ䣬Õâ¸ö¹ý³Ì³ÆÎª¸ß¶ËÄÚ´æÓ³Éä¡£
¸ß¶ËÄÚ´æÓ³ÉäÓÐÈýÖÖ·½Ê½£º
1¡¢Ó³Éäµ½“Äں˶¯Ì¬Ó³Éä¿Õ¼ä”
ÕâÖÖ·½Ê½ºÜ¼òµ¥£¬ÒòΪͨ¹ý vmalloc() £¬ÔÚ”Äں˶¯Ì¬Ó³Éä¿Õ¼ä“ÉêÇëÄÚ´æµÄʱºò£¬¾Í¿ÉÄܴӸ߶ËÄÚ´æ»ñµÃÒ³Ãæ£¨²Î¿´ vmalloc µÄʵÏÖ£©£¬Òò´Ë˵¸ß¶ËÄÚ´æÓпÉÄÜÓ³Éäµ½”Äں˶¯Ì¬Ó³Éä¿Õ¼ä“ ÖС£
2¡¢ÓÀ¾ÃÄÚºËÓ³Éä
Èç¹ûÊÇͨ¹ý alloc_page() »ñµÃÁ˸߶ËÄÚ´æ¶ÔÓ¦µÄ page£ ......

Linux³õʼ»¯ÄÚºËÁÙʱҳ±íÖ®ºóµÄsetup_memoryº¯Êý

»°ËµÔÚlinuxÄں˳õʼ»¯ÍêÄÚºËÁÙʱҳ±íÀ´Ó³Éäǰ8MBÄÚ´æºó£¬ÔÚÓûÍûµÄÇýʹÏ£¬linux¿ªÊ¼×ÅÊÖÇÀÕ¼
896MBÒÔϵÄÄÚ´æÁË¡£È»¶øÇÀ¶áÕâ896MBÄÚ´æ¾ø·ÇÒ×Ê¡£linux»¹ÓÐÐí¶àÂé·³µÄÊÂÒª×ö¡£±ÈÈç˵½ø¹¥ºÍÕ¼ÁìÒÁÀ­¿ËµÈµÈ¡£ÓÚÊÇ
setup_memoryº¯Êý¿ªÊ¼Îªlinux²ß»®ºÍ³ï±¸´ËÊ¡£Ö÷ÒªÈÎÎñÊǽ¨Á¢Ò»ÕÅÓëÎïÀíÄÚ´æÒ³¿òºÅ¶ÔÓ¦µÄλͼ¡£Èç¹û¸ÃÒ³¿ò±»Õ¼ÓÃÔò¶ÔӦλͼÖеÄλ±»ÖÃ
1£¬·ñÔòÖÃ0¡£ÔÚ»ï°éϵͳ½¨Á¢Ç°¶ÔÄÚ´æ½øÐÐÁÙʱ¹ÜÀí¡£ÔÚ³õʼ»¯ÄÚºË×îÖÕÒ³±íʱalloc_bootmem_low_pagesÄÚ´æ·ÖÅ亯Êý¾ÍÓõ½ÁËÕâ¸öλ
ͼ¡£
ºËÐÄÊý¾Ý½á¹¹£º
typedef struct
bootmem_data
{
         
unsigned long node_boot_start; /* Æðʼҳ¿òºÅ0 */
         
unsigned long node_low_pfn; /* Èç¹ûÎïÀíÄÚ´æ´óÓÚ896MB£¬node_low_pfnΪ0x37FFF¡£
Èç¹ûÎïÀíÄÚ´æÐ¡ÓÚµÈÓÚ896MB,node_low_pfnΪÎïÀíÄÚ´æµÄ×î´óÒ³¿òºÅ¡£*/
         
void *node_bootmem_map; /* λͼµÄÆðʼµØÖ· */
/* ÏÂÃæÈý¸ö±äÁ¿µÄ×÷ÓÃÓÃÓÚalloc_bootmem ......

SQLÓï¾äÓÅ»¯


ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£©Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
orACLEµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£Èç¹ûÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ, ÄǾÍÐèҪѡÔñ½»²æ±í(intersection table)×÷Ϊ»ù´¡±í, ½»²æ±íÊÇÖ¸ÄǸö±»ÆäËû±íËùÒýÓõıí.
£¨2£©Where×Ó¾äÖеÄÁ¬½Ó˳Ðò£®£º
orACLE²ÉÓÃ×Ô϶øÉϵÄ˳Ðò½âÎöWhere×Ó¾ä,¸ù¾ÝÕâ¸öÔ­Àí,±íÖ®¼äµÄÁ¬½Ó±ØÐëдÔÚÆäËûWhereÌõ¼þ֮ǰ, ÄÇЩ¿ÉÒÔ¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐëдÔÚWhere×Ó¾äµÄĩβ.
£¨3£©Select×Ó¾äÖбÜÃâʹÓà ‘ * ‘£º
orACLEÔÚ½âÎöµÄ¹ý³ÌÖÐ, »á½«'*' ÒÀ´Îת»»³ÉËùÓеÄÁÐÃû, Õâ¸ö¹¤×÷ÊÇͨ¹ý²éѯÊý¾Ý×ÖµäÍê³ÉµÄ, ÕâÒâζ׎«ºÄ·Ñ¸ü¶àµÄʱ¼ä
£¨4£©¼õÉÙ·ÃÎÊÊý¾Ý¿âµÄ´ÎÊý£º
orACLEÔÚÄÚ²¿Ö´ÐÐÁËÐí¶à¹¤×÷: ½âÎöSQLÓï¾ä, ¹ÀËãË÷ÒýµÄÀûÓÃÂÊ, °ó¶¨±äÁ¿ , ¶ÁÊý¾Ý¿éµÈ£»
£¨5£©ÔÚSQL*Plus , SQL*FormsºÍPro*CÖÐÖØÐÂÉèÖÃARRAYSIZE²ÎÊý, ¿ÉÒÔÔö¼Óÿ´ÎÊý¾Ý¿â·ÃÎʵļìË÷Êý¾ÝÁ¿ , ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [4574] [4575] [4576] [4577] 4578 [4579] [4580] [4581] [4582] [4583]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ