LinuxÇý¶¯µÄ±àÒëÓë¼ÓÔØ
±àÒëºÍ¼ÓÔØ
±¾Õ¿ªÍ·µÄ "hello world" Àý×Ó°üº¬ÁËÒ»¸ö¼ò¶ÌµÄ½¨Á¢²¢¼ÓÔØÄ£¿éµ½ÏµÍ³ÖÐÈ¥µÄÑÝʾ. µ±È», Õû¸ö¹ý³Ì±ÈÎÒÃÇĿǰ¿´µ½µÄ¶à. ±¾½ÚÌṩÁ˸ü¶àϸ½Ú¹ØÓÚÒ»¸öÄ£¿é×÷ÕßÈçºÎ½«Ô´Âëת»»³ÉÄÚºËÖеÄÔËÐеÄ×Óϵͳ.
2.4.1. ±àÒëÄ£¿é
µÚÒ»²½, ÎÒÃÇÐèÒª¿´Ò»ÏÂÄ£¿éÈçºÎ±ØÐë±»½¨Á¢. Ä£¿éµÄ½¨Á¢¹ý³ÌÓëÓû§¿Õ¼äµÄÓ¦ÓóÌÐòµÄ½¨Á¢¹ý³ÌÓÐÏÔÖø²»Í¬; ÄÚºËÊÇÒ»¸ö´óµÄ, ¶ÀÁ¢µÄ³ÌÐò, ¶ÔÓÚËüµÄ¸÷¸ö²¿·ÖÈçºÎ×éºÏÔÚÒ»ÆðÓÐÏêϸµÄÃ÷È·µÄÒªÇó. ½¨Á¢¹ý³ÌÒ²ÓëÒÔǰ°æ±¾µÄÄں˵Ĺý³Ì²»Í¬; еĽ¨Á¢ÏµÍ³ÓÃÆðÀ´¸ü¼òµ¥²¢ÇÒ²úÉú¸üÕýÈ·µÄ½á¹û, µ«ÊÇËü¿´ÆðÀ´ÓëÒÔǰ·Ç³£²»Í¬. Äں˽¨Á¢ÏµÍ³ÊÇһͷ¸ºÔðµÄÒ°ÊÞ, ÎÒÃǾͿ´ËüһС²¿·Ö. ÔÚÄÚºËÔ´ÂëµÄ Document/kbuild Ŀ¼Ï·¢ÏÖµÄÎļþ, ÈκÎÏëÀí½â±íÃæÖ®ÏµÄÕæÊµÇé¿öµÄÈ˶¼ÒªÔĶÁÒ»ÏÂ.
Óм¸¸öǰÌá, Äã±ØÐëÔÚÄܽ¨Á¢ÄÚºËÄ£¿éǰ½â¾ö. µÚÒ»¸öÊDZ£Ö¤ÄãÓа汾×㹻еıàÒëÆ÷, Ä£¿é¹¤¾ß, ÒÔ¼°ÆäËû±ØÒª¹¤¾ß. ÔÚÄÚºËÎĵµÄ¿Â¼ÏµÄÎļþ Documentation/Changes Ò»Ö±ÁгöÁËÐèÒªµÄ¹¤¾ß°æ±¾; ÄãÓ¦µ±ÔÚÏòǰ×ß֮ǰ²Î¿¼Ò»ÏÂËü. ÊÔͼ½¨Á¢Ò»¸öÄÚºË(°üÀ¨ËüµÄÄ£¿é), ÓôíÎóµÄ¹¤¾ß°æ±¾, ¿ÉÄܵ¼Ö²»¾¡µÄÆæ¹ÖµÄÄÑÌâ. ×¢Òâ, ż¶ûµØ, ±àÒëÆ÷µÄ°æ±¾Ì«Ð¿ÉÄÜ»áÒýÆðºÍÌ«Àϵİ汾ÒýÆðµÄÒ»ÑùµÄÎÊÌâ. ÄÚºËÔ´Âë¶ÔÓÚ±àÒëÆ÷×öÁ˺ܴóµÄ¼ÙÉè, еķ¢Ðа汾ÓÐʱ»áһʱµØÆÆ»µ¶«Î÷.
Èç¹ûÄãÈÔȻûÓÐÒ»¸öÄÚºËÊ÷ÔÚÊÖ±ß, »òÕß»¹Ã»ÓÐÅäÖúͽ¨Á¢ÄÚºË, ÏÖÔÚÊÇʱ¼äÈ¥×öÁË. ûÓÐÔ´ÂëÊ÷ÔÚÄãµÄÎļþϵͳÉÏ, ÄãÎÞ·¨Îª 2.6 Äں˽¨Á¢¿É¼ÓÔØµÄÄ£¿é. ʵ¼ÊÔËÐÐΪÆä¶ø½¨Á¢µÄÄÚºËÒ²ÊÇÓаïÖúµÄ( ¾¡¹Ü²»ÊDZØÒªµÄ ).
Ò»µ©ÄãÒѽ¨Á¢ÆðËùÓж«Î÷, ¸øÄãµÄÄ£¿é´´½¨Ò»¸ö makefile ¾ÍÊÇÖ±½ØÁ˵±µÄ. ʵ¼ÊÉÏ, ¶ÔÓÚ±¾ÕÂÇ°ÃæÕ¹Ê¾µÄ" hello world" Àý×Ó, µ¥Ðо͹»ÁË:
obj-m := hello.o
ÊìϤ make , µ«ÊÇ¶Ô 2.6 Äں˽¨Á¢ÏµÍ³²»ÊìϤµÄ¶ÁÕß, ¿ÉÄÜÆæ¹ÖÕâ¸ö makefile ÈçºÎ¹¤×÷. ±Ï¾¹ÉÏÃæµÄÕâÒ»Ðв»ÊÇÒ»¸ö´«Í³µÄ makefile µÄÑù×Ó. ´ð°¸, µ±È», ÊÇÄں˽¨Á¢ÏµÍ³´¦ÀíÁËÓàÏµĹ¤×÷. ÉÏÃæµÄ°²ÅÅ( ËüÀûÓÃÁËÓÉ GNU make ÌṩµÄÀ©Õ¹Óï·¨ )±íÃ÷ÓÐÒ»¸öÄ£¿éÒª´ÓÄ¿±êÎļþ hello.o ½¨Á¢. ÔÚ´ÓÄ¿±êÎļþ½¨Á¢ºó½á¹ûÄ£¿éÃüÃûΪ hello.ko.
·´Ö®, Èç¹ûÄãÓÐÒ»¸öÄ£¿éÃûΪ module.ko, ÊÇÀ´×Ô 2 ¸öÔ´Îļþ( ¹ÃÇÒ³ÆÖ®Îª, file1.c ºÍ file2.c ), ÕýÈ·µÄÊéдӦµ±ÊÇ:
obj-m := module.o
module-objs := file1.o file2.o
¶ÔÓÚÒ»¸öÏóÉÏÃæÕ¹Ê¾µÄÒª¹¤×÷µÄ makefile, Ëü±ØÐëÔÚ¸ü´óµÄÄں˽¨Á¢ÏµÍ³µÄÉÏÏÂÎı»µ÷Ó
Ïà¹ØÎĵµ£º
1 ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£¬µ±È»£¬Ò²°üÀ¨Linux¡£
......
Ò». Æô¶¯,¹Ø»ú,µÇÈë,µÇ³öÏà¹ØÃüÁî
<login> 怬
<logout> µÇ³ö
<exit> µÇ³ö
<shutdown> ֹͣϵͳ
<halt> ֹͣϵͳ
<reboot> ÖØÆô¶¯
<poweroff> ÇжϵçÔ´
<sync> °ÑÄÚ´æÀïµÄÄÚÈÝдÈë´ÅÅÌ
<lilo> °²×°liloÆô¶¯¹ÜÀí³ÌÐò
<grub> °²×°liloÆô¶¯¹ÜÀí³ÌÐò ......
ϵͳÖеĽ©Ê¬½ø³Ì¶¼ÒªÓÉwaitϵͳµ÷ÓÃÀ´»ØÊÕ£¬ÏÂÃæ¾Íͨ¹ýʵս¿´Ò»¿´waitµÄ¾ßÌåÓ÷¨£º
waitµÄº¯ÊýÔÐÍÊÇ£º
#include <sys/types.h> /* ÌṩÀàÐÍpid_tµÄ¶¨Òå */
#include <sys/wait.h>
pid_t wait(int *status);
½ø³ÌÒ»µ©µ÷ÓÃÁËwait£¬¾ÍÁ¢¼´×èÈû×Ô¼º£¬ÓÉwait×Ô¶¯·ÖÎöÊÇ·ñµ±Ç°½ø³ÌµÄij¸ö×Ó½ø³ÌÒѾÍ˳ö£¬Èç¹ûÈ ......
µ¥Óû§Ä£Ê½½øÈ룺
½øÈëÆô¶¯»ÃæÖ®ºó£¬ÇÃÈë“e”£¬¹â±êÒÆ¶¯µ½kernel ...ÄÇÒ»ÐУ¬ÔÙÇÃÈë“e”£¬ÔÚkernel Ò»ÐеÄ×îºó¼ÓÉϿոñsingle£¬»Ø³µ
ÇÃÈë“b”£¬Æô¶¯ÏµÍ³£¬¼´½øÈëµ¥Óû§Ä£Ê½
²é¿´ÃüÁîÆô¶¯Â·¾¶£º
vi .bashrc
²é¿´»·¾³±äÁ¿£º
env
¸Ä±äĿ¼ȨÏÞ£º
chmod -R +777 Ŀ¼
²é¿´×Ô ......