linuxÇý¶¯±à³ÌºËÐÄÀíÂÛÖ®²¢·¢¿ØÖÆ
Çý¶¯±à³ÌºËÐÄÀíÂÛÖ®²¢·¢¿ØÖÆ
²¢·¢£¬¾¹Ì¬µÄÀí½â£ºÒ²¾ÍÊÇLinuxµÄ¶«Î÷ÔÚʱ¼äºÍ¿Õ¼ä±»Í¬Ê±Ê¹Óõ¼ÖµÄÎÊÌâ
LinuxϵͳÌṩµÄ½â¾ö·½°¸£º
ÖÐ¼ÌÆÁ±Î
Ô×Ó²Ù×÷
×ÔÐýËø
ÐźÅÁ¿
1,ÖÐ¶ÏÆÁ±Î
Ê×ÏÈÕâ¸öÒÀÀµÓÚCPU£¬CPUÒ»°ãÌṩÆÁ±ÎÖжϵĴò¿ªÖжϵŦÄÜ,ÖÐ¶ÏÆÁ±ÎʹµÃÖжϺͽø³ÌÖ®¼äµÄ²¢·¢
²»ÔÙ·¢Éú£¬Í¬Ê±½ø³Ìµ÷ÊÔÒ²ÒÀÀµÓÚÖжϣ¬ÄÚºËÇÀÕ¼µÄ½ø³Ì¼ä²¢·¢Ò²¾Í¿ÉÒÔ±ÜÃâ
ʹÓ÷½·¨
local_irq_disable()//ÆÁ±ÎÖжÏ
...
critical section()//ÁÙ½çÇø
...
local_irq_enable()//´ò¿ªÖжÏ
ÕâÖÖ·½·¨Ö»Äܽâ¾öµ¥¸öCPUµÄÎÊÌâ
×¢Òâ £º ³¤Ê±¼äÖÐ¶ÏÆÁ±ÎºÜΣÏÕ£¬±È½ÏÊʺϺÍ×ÔÐýËøÁªºÏʹÓÃ
local_irq_save(flags) ½ûÖ¹ÖжÏͬʱ±£´æÄ¿Ç°CPUµÄÖжÏÐÅϢλ
local_irq_restore(flags) ´ò¿ªÖжÏͬʱ»Ö¸´ÖжÏÐÅϢλ
µ×°ë²¿²Ù×÷
local_bh_disable()
local_bh_enable()
2,Ô×Ó²Ù×÷
Ô×Ó²Ù×÷ÊÇÖ¸ÔÚÖ´Ðйý³ÌÖв»»á±»µÄ´úÂë·¾¶ËùÖжϵIJÙ×÷¡£´ýÀí½â
·ÖΪÁ½À࣬Õë¶ÔλµÄ²Ù×÷ºÍÕûÐͱäÁ¿µÄ²Ù×÷
Õë¶ÔÕûÐͱäÁ¿µÄÔ×Ó²Ù×÷µÄÏà¹Øº¯Êý
void atomic_set(atomic_t *v, int i);//ÉèÖÃÔ×Ó±äÁ¿µÄֵΪi
atomic_t v = ATOMIC_INIT(0);//¶¨ÒåÔ×Ó±äÁ¿v²¢³õʼ»¯Îª0
atomic_read(atomic_t *v);//·µ»ØÔ×Ó±äÁ¿µÄÖµ
void atomic_add(int i, atomic_t *v);//Ô×Ó±äÁ¿Ôö¼Ói
void atomic_sub(int i, atomic_t *v);//Ô×Ó±äÁ¿¼õÉÙi
void atomic_inc(atomic_t *v);//Ô×Ó±äÁ¿×ÔÔö¼Ó1
void atomic_dec(atomic_t *v);//Ô×Ó±äÁ¿×Ô¼õÉÙ1
²Ù×÷²¢²âÊÔº¯Êý
int atomic_inc_and_test(atomic_t *v);
int atomic_dec
Ïà¹ØÎĵµ£º
ǰЩÌìÔÚ×Ô¼ºµÄ±¾±¾ÉÏ×°ÁËÐéÄâ»ú£¬²¢°²×°ÁËredhat5£¬Ò»Çи㶨֮ºó·¢ÏÖ´ò¿ªÖÐÎÄÍøÒ³²»ÄÜÕý³£ÏÔʾ¡£Æô³õÒÔΪÊÇϵͳ±àÂëÎÊÌ⣬¿É¸ü¸ÄÁËϵͳ±àÂëºóÎÊÌâÒÀÈ»´æÔÚ£¬¶øÇÒϵͳµÄÎÄ×ÖÒ²±ä³ÉÂÒÂë¡£¿´À´²»ÊǼòµ¥µÄȱʡ±àÂëÎÊÌ⣬һ¶¨ÊÇϵͳûÓÐÖÐÎİüµÄÔÒò¡£ÓÚÊǺõÅܵ½ÍøÉÏËÑѰÖÐÎİüµØÖ·£¬·¢ÏÖredhat5¹âÅÌÖдøÓÐÕâЩ°ü¡£ºÃÁË£¬·Ï»°²» ......
ÖÜÐ÷ºê
http://zxuhong.blog.51cto.com/368977/74442
1.1 ¸ÅÊö
ÊÀ½ç±ê׼ʱ¼ä£¨Coordinated Universal Time£¬UTC£©£¬Ò²¾ÍÊÇ´ó¼ÒËùÊìÖªµÄ¸ñÁÖÍþÖαê׼ʱ ¼ä£¨Greenwich Mean Time£¬GMT£©¡£ÊÀ½ç¸÷µØÊ±¼äÒ²ÊÀ½ç±ê׼ʱ¼äΪ»ù×¼»®·ÖΪ²»Í¬µÄÊ±Çø£¬ÀýÈ磬ÖйúµÄ±±¾©Ê±¼äÓëUTCµÄʱ²îΪ+8£¬Ò²¾ÍÊÇUTC+8¡£ÃÀ¹úÊÇUTC-5¡£
& ......
ǰһƪÎÄÕÂдµÄÔÚAPACHE°²×°MOD_PYTHONµÄ¾¹ý,Æäʵͦ¼òµ¥,¾ÍÊǰ汾²»¼æÈݵÄÎÊÌâ.Õâ´ÎÎÒ´ó¸Å˵ϲ¿ÊðDJANGOµÄ¹ý³Ì.
ÏÈÐÞ¸ÄAPACHEÅäÖÃÎļþ,ʹÆä¼ÓÔØmod_pythonÄ£¿é
LoadModule python_module libexec/mod_python.so
ÔËÐÐÃüÁî²é¿´
bin/httpd -M¿ÉÒÔ¿´µ½
python_module (shared)
Syntax OK
˵Ã÷apacheÒѾ³É¹¦¼Ó ......
ÊÐÃæÉÏÓеÄÒ»±¾½éÉܶàÏ̵߳ÄÊé¡¶Posix ¶àÏ̱߳à³Ì¡·£¬ËüÊÇÓ¢Îİ桶Programming with POSIX Muiltthread¡·ÖÐÒë±¾£¬ÕâÒ²ÊǰëÄêǰÎÒËùÄÜÕÒµ½µÄΨһרÌâ½éÉܶàÏ̱߳à³ÌµÄÊé¡£ÎÒ¸öÈ˸оõÕâ±¾ÊéµÄÇ°Ãæ1/3Ö®Ò»µÄÄÚÈÝдµÄ»¹ÊDz»´íµÄ£¬µ«ÊǺóÃæµÄ¶«Î÷¾Í·Ç³£»Þɬ²¢ÇÒÓкܶàÃ÷ÏÔµÄÎÄ×Ö´íÎ󡣿´¿´Õâ±¾ÊéµÄ·ÒëÕßÊǺü¸¸öÈË£¬¹À¼ÆÃ¿¸öÈ ......
#!/bin/bash
#Key Words:linux0.11 bochs harddisk bash
#mount hdimg name:hdimage-devel
#mount point:/mnt/initrd
hdimg=hdimage-devel
mpoint=/mnt/initrd
if [ "$1" == "mount" ]
then
#mount hdimg
echo "$1 START"
&n ......