http://www.chineselinuxuniversity.net/articles/30602.shtml
Linux½ø³Ìµ÷¶È³ÌÐòËäÈ»
ÌØ±ð
ÖØÒª
£¬µ«Ëü²»¹ýÊÇÒ»¸ö´æÔÚÓÚÄں˿ռäÖеĺ¯Êý¶øÒÑ£¬²¢²»ÉñÃØ¡£LinuxµÄµ÷¶È³ÌÐòÊÇÒ»¸ö½ÐSchedule£¨£©µÄº¯Êý£¬Õâ¸öº¯Êý±»µ÷ÓÃµÄÆµÂʺܸߣ¬ÓÉËüÀ´¾ö¶¨ÊÇ·ñ
Òª½øÐнø³ÌµÄÇл»£¬Èç¹ûÒªÇл»µÄ»°£¬Çл»µ½Äĸö½ø³ÌµÈµÈ¡£ÎÒÃÇ
ÏÈÀ´¿´ÔÚʲôÇé¿ö
ÏÂÒªÖ´Ðе÷¶È³ÌÐò£¬ÎÒÃǰÑÕâÖÖÇé¿ö½Ð×öµ÷¶Èʱ»ú¡£
Linuxµ÷¶Èʱ»úÖ÷Òª
ÓУº
1¡¢½ø³Ì״̬ת»»µÄʱ¿Ì£º½ø³ÌÖÕÖ¹¡¢½ø³Ì˯Ãß
£»
2¡¢µ±Ç°½ø³ÌµÄʱ¼ä
ƬÓÃÍêʱ£¨current->counter=0£©£»
3¡¢É豸Çý¶¯³ÌÐò
4¡¢½ø³Ì´ÓÖжϡ¢Òì³£¼°ÏµÍ³µ÷Ó÷µ»Øµ½Óû§Ì¬Ê±£»
ʱ»ú1£¬½ø³ÌÒªµ÷ÓÃsleep£¨£©»òexit£¨£©µÈº¯Êý½øÐÐ״̬ת»»£¬ÕâЩº¯Êý»áÖ÷¶¯µ÷Óõ÷¶È³ÌÐò½øÐнø³Ìµ÷¶È£»
ʱ»ú2£¬ÓÉÓÚ½ø³ÌµÄʱ¼äƬÊÇÓÉʱÖÓÖжÏÀ´¸üеģ¬Òò´Ë£¬ÕâÖÖÇé¿öºÍʱ»ú4ÊÇÒ»ÑùµÄ¡£
ʱ»ú3£¬µ±É豸Çý¶¯³ÌÐòÖ´Ð㤶øÖظ´µÄÈÎÎñʱ£¬Ö±½Óµ÷Óõ÷¶È³ÌÐò¡£ÔÚÿ´Î·´¸´Ñ»·ÖУ¬Çý¶¯³ÌÐò¶¼¼ì²éneed_reschedµÄÖµ£¬Èç¹û±ØÒª£¬Ôòµ÷Óõ÷¶È³ÌÐòschedule()Ö÷¶¯·ÅÆúCPU¡£
ʱ»ú4£¬ÈçǰËùÊö£¬²»¹ÜÊÇ´ÓÖжϡ¢Òì³£»¹ÊÇϵͳµ÷Ó÷µ»Ø£¬×îÖÕ¶¼µ÷ÓÃret_from_sys_call£¨£©£¬ÓÉÕâ¸öº¯Êý½øÐе÷¶È±êÖ¾µÄ ......
¸ÕÏÂÁËÓêÁÖľ·ç£¨ylmf£©µÄisoÅÌ£¬ÔÚ×Ô¼ºµÄubuntu9.10µÄϵͳÉÏÓÃvirtualbox°²×°£¬ÏÖÔÚ°²×°¹ý³ÌÈçÏ¡£
1¡¢Æô¶¯¹âÅÌ£¬¿´ÏÂÆô¶¯»Ã棺
2¡¢Ñ¡ÔñµÚ2Ñ¡Ï¾Í½øÈëÒ»¸öylmfµÄLogo£º
3¡¢°²×°»¹ÊÇubuntuµÄ»Ã棬ÏÖÔÚ·ÖÇø£º
4¡¢»®·ÖµÚÒ»·ÖÇø£¬¿ÉÒÔ¿´µ½½çÃæÉÔÓв»Í¬£º
5¡¢»®·ÖÍê·ÖÇø£º
6¡¢½øÈë°²×°»Ã棺
°²×°»¹ÊÇͦ¿ìµÄ£¬Ã»ÓÐÁËubuntuÖеÄÇøÓòºÍ¼üÅ̵ÈÖ®ÀàµÄÑ¡Ôñ£¬ÕâЩ¶¼Ä¬ÈϳÉÖйúµÄÁË£¬»¹ÓкܶàÈí¼þ¶¼°²×°ÁË£¬ËùÒÔ²»ÓÃÔÚ°²×°Ê±ÔÚÍøÉϰ²×°£¬ËùÒÔ¿ìÁ˺ܶ࣬Óû§Ö»ÓÐÔÚ·ÖÇøºÍÊäÈëÓû§ÃûºÍÃÜÂë²ÅÐèÒªÊÖ¶¯£¬ÆäËü¶¼×Ô¶¯Íê³É¡£
7¡¢°²×°Íê³É£¬ÐèÒªÖØÆô£º
8¡¢ÖØÆôʱ¿ÉÒÔ¿´µ½ubuntuÖÐÐèÒªÄ㵯³ö¹âÇýµÄ»Ã棺
9¡¢ÖØÆô½øÈëϵͳʱ£¬ÐèÒªÓû§ÃûºÍÃÜÂëµÇ¼£¬ºÍxpµÄºÜÒ»Ñù£º
10¡¢½øÈëϵͳ£¬ÓÐЩÏñxp£º
11¡¢¿´Ï¿ªÊ¼²Ëµ¥£º
12¡¢µã»÷ ÎҵĵçÄÔ £¬¿´ÏÂÓÐʲô£º
¿ÉÒÔ¿´µ½£¬ÀïÃæµÄÖ÷Îļþ¼Ð¾ÍÊÇÎÒÃǵÄhomeĿ¼£¬Îļþϵͳ¾ÍÊÇÎÒÃǵĸùĿ¼¡£
13¡¢¿´Ï¿ªÊ¼²Ëµ¥µÄÆäËüÑ¡Ï
¿ÉÒÔ¿´µ½ÓкܶàubuntuµÄÓ°×Ó°É£º£©
14¡¢ÓÒ»÷×ÀÃæ£¬Ñ¡Ôñ££¸ü¸Ä×ÀÃæ±³¾°££Ñ¡ÔñÖ÷Ì⣺
¿ÉÒÔ¿´µ½Ö»²»¹ý°²×°ÁËÓêÁÖľ·çylmf×Ô¼ºµÄxpÖ÷Ì⣬ºÇºÇ¡£
×îºó£¬²»¹ýÓÉÓÚ°²×°Á˺ܶàÈí¼þ£¬Ó¦¸Ã±È½ÏÊʺÏÐÂÊÖʹÓã¬Ò²¿ÉÒÔÔö¼ÓÐÂÊÖÊ ......
¡¡Ò»:ǰÑÔ
¡¡¡¡ÎÒÃÇÔÚ֮ǰ·ÖÎö¹ýinput×ÓϵͳºÍttyÉ豸Çý¶¯¼Ü¹¹.½ñÌìÐèÒª½«Á½Õß½áºÏÆðÀ´.¿´¿´linuxÖеĿØÖÆÌ¨ÊÇÔõôÑùʵÏÖµÄ.
¡¡¡¡¶þ:¿ØÖÆÌ¨Çý¶¯µÄ³õʼ»¯
¡¡¡¡Ö®Ç°ÔÚ·ÖÎöttyÇý¶¯¼Ü¹¹µÄʱºòÔø·ÖÎöµ½.Ö÷É豸Ϊ4,´ÎÉ豸Ϊ0µÄÉ豸½Úµã,¼´/dev/tty0Ϊµ±Ç°µÄ¿ØÖÆÖÕ¶Ë.
¡¡¡¡ÓÐtty_init()ÖÐ,ÓÐÒÔÏ´úÂë¶Î:
¡¡¡¡static int __init tty_init(void)
¡¡¡¡{
¡¡¡¡……
¡¡¡¡……
¡¡¡¡#ifdef CONFIG_VT
¡¡¡¡cdev_init(&vc0_cdev, &console_fops);
¡¡¡¡if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
¡¡¡¡register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
¡¡¡¡panic("Couldn't register /dev/tty0 driver\n");
¡¡¡¡device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), "tty0");
¡¡¡¡vty_init();
¡¡¡¡#endif
¡¡¡¡return 0;
¡¡¡¡}
¡¡¡¡CONFIG_VT:ÊÇÖ¸ÅäÖÃÐéÄâÖÕ¶Ë.¼´ÎÒÃÇËù˵µÄ¿ØÖÆÌ¨.ÔÚ´Ë¿ÉÒÔ¿´µ½TTY_MAJOR(4),0¶ÔÓ¦µÄÉ豸½Úµã²Ù×÷¼¯Îªconsole_fops.
¡¡¡¡¼ÌÐø¸ú½øvty_init()
¡¡¡¡int __init vty_init(void)
¡¡¡¡{
¡¡¡¡vcs_init();
¡¡¡¡console_driver = alloc_tty_driver(MAX_NR_CONSOLES);
¡¡¡¡if ( ......
¾¹ýÒ»¶Îʱ¼äµÄѧϰ֮ºó£¬Ò²¿ª·¢ÁËһЩСÐ͵ÄÇý¶¯£¬ÕýÈçÎÒ֮ǰһƪÖÐдµ½µÃ£¬ÏÖÔÚÎÒ¾ÍÀ´Ð´Ò»ÏÂÔÚARMǶÈëʽLINUXÏÂÈçºÎÉè¼ÆÇý¶¯µÄ¿ò¼Ü¡£
ÔÚÕâÀïÎÒÓõİå×ÓÊÇmicro2440°å×Ó£¬°å×ÓÉϵÄlinux°æ±¾ÊÇ2.6.13¡£ÒòΪÎÒÔÚǰһƪ½éÉÜÁËÇý¶¯±à³ÌµÄÁ½ÖÖ¿ò¼ÜÉè¼Æ£¬ËùÒÔÏÖÔÚÎÒ¾ÍÀ´·Ö±ðдһÏÂÕâÁ½ÖÖ¿ò¼ÜÉè¼ÆµÄ³ÌÐò¡£
¿ª·¢Æ½Ì¨£ºRED HAT LINUX 9£¨Linux 2.4.18£©
¿ª·¢°å£ºmicro2440£¨ÓÑÉÆÖ®±Û£©£¨Linux 2.6.13)
½»²æ±àÒ빤¾ß£ºarm-linux-gcc-3.4.1
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
2.4ÄÚºËÇý¶¯¿ò¼Ü£º
static int __init leds_init(void)
{
int result;
int i;
result = register_chrdev(LED_MAJOR, DEVICE_NAME, &leds_fops);
if(result < 0){
printk(DEVICE_NAME "can't register major number\n");
return result;
}
// static devfs_handle_t dev ......
ÏÖÔÚ×¼±¸µÄÏîÄ¿£¨Ò½ÁÆ·½Ã棩——
Java6
¿ò¼Ü£ºStruts1.0.2
Êý¾Ý¿â£ºMySQL5
WEB·þÎñÆ÷£ºTomcat6
¿ª·¢»·¾³£ºEclipse3.5
Ó¦Ó÷þÎñÆ÷£ºRed Hat Enterprise Edition
¿ª·¢Æ½Ì¨£ºCentOS 5.4
1.MySQLÊý¾Ý¿âÎÒÖ±½ÓÓÓyum -y install mysql-server
”À´°²×°£¬²Î¿¼£ºhttp://www.centospub.com/make/mysql.html
2.JDKµÄ°²×°£¬ÔÚsun.comÏÂÔØ“.bin”Îļþ£¬È»ºó“sh ./jdk-6u17-linux-i586.bin”½âѹ£¬ÔÙ“mv jdk1.6.0_17 /usr/java”»»¸öµØ·½¡£
3.TomcatÒ²Ò»Ñù£¬°ÑÏÂÔØµÄÎļþÓÓtar -zxvf apache-tomcat-6.0.20.tar.gz”ÃüÁî½âѹ£¬È»ºó“mv apache-tomcat-6.0.20 /usr/tomcat”»»¸öλÖá£
4.EclipseͬÑùÓÓtar -zxvf eclipse-jee-galileo-SR1-linux-gtk.tar.gz”½âѹ£¬Ö®ºóÐèÒªÔÚ“eclipse.ini”ÎļþÖÐ×îÉÏ·½¼ÓÉÏ£º
-vm
/usr/java/bin/java
ÃüÁîÐнøÈëeclipseÎļþ¼Ð£¬“./eclipse”Æô¶¯Ö®¡£
ÔÚ“Window”--“Preferences”--“Server”--“Runtime Environments”ÖмÓÉÏTomcatµÄ·¾¶£º“/usr/tomcat”¡ ......
ÏÖÔÚ×¼±¸µÄÏîÄ¿£¨Ò½ÁÆ·½Ã棩——
Java6
¿ò¼Ü£ºStruts1.0.2
Êý¾Ý¿â£ºMySQL5
WEB·þÎñÆ÷£ºTomcat6
¿ª·¢»·¾³£ºEclipse3.5
Ó¦Ó÷þÎñÆ÷£ºRed Hat Enterprise Edition
¿ª·¢Æ½Ì¨£ºCentOS 5.4
1.MySQLÊý¾Ý¿âÎÒÖ±½ÓÓÓyum -y install mysql-server
”À´°²×°£¬²Î¿¼£ºhttp://www.centospub.com/make/mysql.html
2.JDKµÄ°²×°£¬ÔÚsun.comÏÂÔØ“.bin”Îļþ£¬È»ºó“sh ./jdk-6u17-linux-i586.bin”½âѹ£¬ÔÙ“mv jdk1.6.0_17 /usr/java”»»¸öµØ·½¡£
3.TomcatÒ²Ò»Ñù£¬°ÑÏÂÔØµÄÎļþÓÓtar -zxvf apache-tomcat-6.0.20.tar.gz”ÃüÁî½âѹ£¬È»ºó“mv apache-tomcat-6.0.20 /usr/tomcat”»»¸öλÖá£
4.EclipseͬÑùÓÓtar -zxvf eclipse-jee-galileo-SR1-linux-gtk.tar.gz”½âѹ£¬Ö®ºóÐèÒªÔÚ“eclipse.ini”ÎļþÖÐ×îÉÏ·½¼ÓÉÏ£º
-vm
/usr/java/bin/java
ÃüÁîÐнøÈëeclipseÎļþ¼Ð£¬“./eclipse”Æô¶¯Ö®¡£
ÔÚ“Window”--“Preferences”--“Server”--“Runtime Environments”ÖмÓÉÏTomcatµÄ·¾¶£º“/usr/tomcat”¡ ......
LinuxÖУ¬cron±»ÓÃÀ´µ÷¶ÈÖØ¸´µÄÈÎÎñ£¬linux atÃüÁî±»ÓÃÀ´ÔÚÖ¸¶¨Ê±¼äÄÚµ÷¶ÈÒ»´ÎÐÔµÄÈÎÎñ¡£
ҪʹÓÃlinux atÃüÁÄã±ØÐë°²×°ÁËat RPMÈí¼þ°ü£¬²¢ÇÒ atd·þÎñ±ØÐëÔÚÔËÐС£
¿ÉÒÔʹÓÃÒ»ÏÂÃüÁîÆô¶¯atd·þÎñ£º
[root@sso_4 sbin]# /sbin/service atd start
ÒªÅж¨¸ÃÈí¼þ°üÊÇ·ñ±»°²×°ÁË£¬Ê¹ÓÃÃüÁ
[root@sso_4 logs]# rpm -q at
at-3.1.8-82.el4
ÒªÅж¨¸Ã·þÎñÊÇ·ñÔÚÔËÐУ¬Ê¹ÓÃÃüÁ
[root@sso_4 sbin]# /sbin/service atd status
atd (pid 6383) ÕýÔÚÔËÐÐ...
-------------------------------------------------------
´´½¨Ò»¸öÎļþ“nmon.sh”:
touch nmon.sh
±àд¿ÉÖ´ÐеĽű¾Îļþ“nmon.sh”£º
[root@xxx nmon]# more nmon.sh
#!/bin/sh
./nmon_x86_fedora5 -fT -s 10 -c 60
Ôö¼Ó½Å±¾ÎļþȨÏÞ£º
[root@xxx nmon]# chmod +x nmon.sh
-------------------------------------------------------
ÓÓat”ÃüÁʱִÐнű¾£º
¼üÈëatÃüÁîºÍËüµÄʱ¼ä²ÎÊýºó£¬at> Ìáʾ¾Í»á³öÏÖ¡£¼üÈëÒªÖ´ÐеÄÃüÁ°´ [Enter] ¼ü£¬È»ºó¼üÈë Ctrl-D¡£
Äã¿É ......