Linux 0.11°æ ½ø³Ìµ÷¶ÈÎı¾½â˵
0.11ºËÖнø³ÌµÄµ÷¶ÈÖ÷ÒªÓÉËĸö²¿·ÖÊý×é³É£ºµ÷¶È³õʼ»¯¡¢µ÷¶È¡¢Ë¯Ãß¡¢»½ÐÑ¡£
Ò»¡¢µ÷¶È³õʼ»¯:sched_init()
ÎÒÃÇÖªµÀÔÚÄں˳õʼ»¯£¨main£©¹ý³ÌÖУ¬Òª½«ÈÎÎñ0ת»»µ½Óû§Ì¬ÏÂÖ´ÐУ¬Ò²¾ÍÊǽ¨Á¢LinuxÖеĵÚÒ»¸öÓû§³ÌÐò¡£¼ÈÈ»ÈÎÎñ0֮ǰÊÇÔÚÄÚºË̬ÏÂÖ´Ðеģ¬ËùÒÔÓõÄÊÇϵͳµÄldt¡¢ºÍtss£¬ÒªÔÚÓû§Ì¬ÏÂÖ´ÐУ¬¾ÍҪʹÓÃÓû§Ì¬ÏµÄldt¡¢tss£¬ÄÇô£¬µ÷¶È³õʼ»¯µÄÆäÖÐÒ»¸öÈÎÎñ¾ÍÊǽ¨Á¢ÈÎÎñ0µÄldtºÍgdt¡£ÏÂÃæËµÒ»ÏÂsched_init()µÄ¾ßÌ幤×÷¹ý³Ì£º
1£©ÔÚgdtÖÐÉèÖÃldt¡¢gdt£ºldtºÍgdtµÄ¶¨ÒåÔÚsched.hÖС£
2£©½«eflagsÖеÄNTÖÃλ£º¼ÇµÃÔÚÇ°Ãæ¹ØÓÚÈÎÎñÇл»µÄ˵Ã÷ÖУ¬ÎÒÌáµ½ÔÚmainµÄÖÐsched_init()Ö®ºó£¬Òªµ÷ÓÃmove_to_user_mode£¨£©ÊµÏÖºËÐÄ̬µ½Óû§Ì¬µÄת»»£¬¶øÔÚmove_to_user_mode£¨£©ÖУ¬×îºóµ÷ÓÃÁËiret£¬Èç¹û½«NTΪ0£¬¾Í²»»áÒýÆð½ø³ÌµÄÇл»ÁË¡£
3£©¼ÓÔØtssºÍldt£ºÊÖ¶¯¼ÓÔØ½öÕâÒ»´Î£¬ÒÔºó¶¼ÊÇͨ¹ýÈÎÎñµÄÇл»CPU×Ô¶¯¼ÓÔØµÄ¡£ÔÚÕâÀÒòΪÊǵÚÒ»¸öÓû§ÈÎÎñ£¬ËùÒÔÐèÒªÊÖ¶¯ÉèÖá£
4£©³õʼ»¯8253¶¨Ê±Æ÷¡£
5£©ÔÚIDTÖÐÉèÖÃʱÖÓµÄÖжÏÃźÍϵͳµ÷ÓõÄÖжÏÃÅ¡£
¶þ¡¢µ÷¶È£ºschedule()
Õâ¸öº¯ÊýµÄÖ÷Òª¹¤×÷¾ÍÊÇ´ÓËùÓд¦ÔÚ¾ÍÐ÷״̬µÄ½ø³ÌÖÐÑ¡ÔñÏÂÒ»¸öÒªÔËÐеĽø³Ì¡£¾ßÌ幤×÷¹ý³ÌÊÇÕâÑùµÄ£ºËüÊ×Ïȼì²éÔÚ´¦ÔÚ¿ÉÖжÏ˯Ãß״̬ϵĽø³ÌÊÇ·ñ³ýÁË×èÈûÐźÅÒÔÍâ±ðµÄÐźţ¬Èç¹û´æÔÚ£¬Ôò½«ËüÖóɾÍÐ÷״̬¡£È»ºóÑ»·¼ì²éÈÎÎñÊý×éÖеÄËùÓд¦ÔÚ¾ÍÐ÷״̬µÄÈÎÎñ£¬ÌôÑ¡³öÊ£ÓàÖ´ÐÐʱ¼äÖµ×î´óµÄÒ»¸öÈÎÎñ£¬ÀûÓÃswitch_to()º¯ÊýÇл»µ½¸ÃÈÎÎñ¡£Èç¹û·¢ÏÖËùÓоÍÐ÷½ø³ÌµÄʱ¼äƬ¶¼ÊÇ0£¬Ôò¸ù¾ÝÈÎÎñµÄÓÅÏȼ¶£¬ÖØÐ¼ÆËãÿ¸öÈÎÎñµÄʱ¼äƬ£¬ÔÚÖØÐÂÖ´ÐÐÑ»·¼ì²éËùÓоÍÐ÷ÈÎÎñµÄÖ´ÐÐÊ£Óàʱ¼ä¡£
ÆäÖУ¬Õâ¸öº¯ÊýµÄºËÐÄÖ®Ò»¾ÍÊÇswitch_to()º¯Êý£¬ËüÄÜʵÏÖÈÎÎñµÄÇл»£¬ËüµÄ¶¨ÒåÔÚsched.hÖУ¬Ö÷ÒªÔÀí¾ÍÊÇÀûÓÃÈç¹ûljmpµÄ²Ù×÷ÊýÊÇÈÎÎñÃÅÃèÊö·û¾Í»áÒýÆðÈÎÎñµÄÇл»¡£
Èý¡¢Ë¯Ãßsleep_on()¡¢interruptible_sleep_on()
ÔÚ½ÓÊÕÕâ¸öº¯ÊýµÄ¹¤×÷ÔÀí֮ǰ£¬ÏÈÁ˽âÒ»¸öÊý¾Ý½á¹¹£ºµÈ´ý¶ÓÁС£µÈ´ý¶ÓÁÐÆä
Æäʵ¾ÍÊÇÒ»¸ö½ø³ÌÖ¸ÕëÁ´±í£¬ËùÓÐÓÉÓڵȴýͬһ¸ö×ÊÔ´µÄ˯Ãß½ø³Ì×é³ÉÒ»¸öµÈ´ý¶ÓÁС£Õâ¸öÁ´±íµÄÁ¬½Ó²¢²»ÊÇͨ³£ÒâÒåÉÏ
Ïà¹ØÎĵµ£º
ÎÊÌâµÄÒý³ö£º
µ±¶ÔͬһÎļþ¾ä±ú£¨ÔÚWindowsÏ£©»òÊÇÎļþÃèÊö·û£¨ÔÚLinuxÏ£©½øÐÐËæ»ú¶Áд²Ù×÷ʱ£¬»á´æÔÚÎļþÖ¸ÕëµÄ¶¨Î»Óë¶Á\дÁ©¸ö²½Ö裬µ«ÓÉÓÚÕâ²»ÊÇÒ»¸öÔ×Ó²Ù×÷£¬¾Í¿ÉÄܲúÉúÈçÏÂÎÊÌ⣺½ø³ÌA¶ÔijÎļþÏȶ¨Î»µ½ f1 ´¦£¬È»ºó±»Öжϣ¬È»ºó½ø³ÌB¶ÔͬһÎļþ¶¨Î»µ½ f2 ´¦£¬È» ......
±¾ÎÄÁгöÁ˴󲿷ֳ£¼ûµÄLinuxϵͳµ÷Ó㬲¢¸½ÓмòÒªÖÐÎÄ˵Ã÷¡£ ÒÔÏÂÊÇLinuxϵͳµ÷ÓõÄÒ»¸öÁÐ±í£¬°üº¬Á˴󲿷ֳ£ÓÃϵͳµ÷ÓúÍÓÉϵͳµ÷ÓÃÅÉÉú³öµÄµÄº¯Êý¡£Õâ¿ÉÄÜÊÇÄãÔÚ»¥ÁªÍøÉÏËùÄÜ¿´µ½µÄΨһһƪÖÐÎÄ×¢Ê͵ÄLinuxϵͳµ÷ÓÃÁÐ±í£¬¼´Ê¹ÊǼòµ¥µÄ×ÖĸÐòÓ¢ÎÄÁÐ±í£¬ÄÜ×öµ½ÕâôÍêȫҲÊǺܺ±¼ûµÄ¡£ °´ÕÕ¹ßÀý£¬Õâ¸öÁбíÒÔman pagesµÚ2½ ......
VPSʹÓÃÊÖ¼Ç-LinuxÃüÁîÐлù´¡
Written by shine
on 2009, April 21, 4:09 PM. Linux
ÕâÀïÎÒ½«ÁгöʹÓÃlinux
vps
¹ý³ÌÖеij£ÓÃÃüÁî£¬ÃæÏòµÄ¶ÔÏóÊǶ®Ò»µãÃüÁîÐÐ
µÄÅóÓÑ£¬Èç¹ûÄãûÓÐÈκÎÃüÁîÐлù´¡£¬½¨ÒéÕÒ±¾LinuxµÄ»ù´¡½Ì³ÌÀ´¿´¿´¡£
ÔÚ½²¾ßÌåµÄÃüÁî֮ǰ£¬ÏȽéÉÜÒ»ÏÂLinuxÃüÁîÐеÄһЩ³£Ê¶£º
Ò»ÌõÃüÁîÒ»°ãµÄ¸ñʽÊÇÕâ ......
×î½üÔÚLinux×°oracle ÔÚÍøÉÏËÑÁ˵ã×ÊÁϺʹó¼Ò·ÖÏí
linuxÏÂÃüÁîºÍÎļþ¼°Ä¿Â¼Ãû¶¼·Ö´óСд
//²é¿´ÀúÊ·Êý¾Ý
history
history |grep mount
°´"ÉÏϼü"Ñ¡ÒÔǰÇùýµÄÃüÁî
//¿½±´Îļþ
cp /usr/local/tomcat4/temp/func.class /usr/local/tomcat4/webapps/photoblog/WEB-INF/classes/framework/utils/
cp -Rf /photodataold ......
Í·Îļþ£º
#ifndef _LED_CONFIG_H
#define _LED_CONFIG_H
#define LED_CON 0
#define LED_ON 1
#define LED_OFF 2
#endif
ÄÚºËÏÂÃæµÄÇý¶¯Ä£¿é£º
#include <linux/module.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/cdev.h>
#include <linux/fs.h>
......