linux¶àÏ̱߳à³Ì Ïà¹Ø¸ÅÄî
ѧϰLinux¶à½ø³Ì±à³Ì
Ò»¡¢½ø³ÌµÄ¶¨Ò壺³ÌÐòÖ´ÐкÍ×ÊÔ´¹ÜÀíµÄ×îСµ¥Î»¡£
¶þ¡¢½ø³Ì¿ØÖÆ£º
£¨1£©½ø³Ì±êʶ£º ½ø³Ì±êʶ ×Ó½ø³ÌºÅ ¸¸½ø³ÌºÅ
Í·Îļþ #include<unistd.h> #include<unistd.h>
º¯Êý¹¦ÄÜ È¡µÃµ±Ç°½ø³ÌµÄ½ø³ÌºÅ È¡µÃµ±Ç°½ø³ÌµÄ¸¸½ø³ÌºÅ
º¯ÊýÔÐÍ Pid_t getpid(void) Pid_t getppid(void)
º¯Êý·µ»ØÖµ ³É¹¦·µ»Ø½ø³ÌµÄ½ø³Ì±êʶ·û ³É¹¦·µ»Ø¸¸½ø³ÌµÄ½ø³Ì±êʶ·û
×¢£ºPid_tÆäʵÊÇÒ»¸ötypedefÀàÐÍ£¬Ï൱ÓÚunsigned int.
Àý£º
#include<stdio.h>
#include<unistd.h>
int main()
{
printf("ϵͳ·ÖÅäµÄ½ø³ÌºÅÊÇ£º%d\n",getpid());
printf("ϵͳ·ÖÅäµÄ¸¸½ø³ÌºÅÊÇ£º%d\n",getppid());
return 0;
}
£¨2£©½ø³ÌµÄ´´½¨£º
1)exec×庯Êý£º
Í·Îļþ #include<unistd.h>
ÔÐÍ
int execl(const chat *path,const char *args,...)
int execv(const char *path,char const *argv[])
int execle(const cahr *path,const char *arg,...,char *const envp[])
int execve(const char *path,char *const argv[],char *const envp[])
int execlp(const char *file,char *arg,...)
int execvp(const cahr *file,char *const argv[])
·µ»Ø ·µ»Ø-1±íʾ³ö´í
ÓÉÓڱȽ϶࣬ÔÚ´ËÖ»¾ÙÀýexecveº¯Êý£º
#include<stdio.h>
#include<unistd>
int main()
{
char *args[]={"/usr/bin/vim",NULL};
printf("ϵͳ·ÖÅäµÄ½ø³ÌºÅÊÇ£º%d\n",getpid());
if(execve("/usr/bin/vim",args,NULL)<0)
perror("´´½¨½ø³Ì³ö´í£¡");
return 0;
}
×¢:ÔÚÓÃexecveº¯Êý´´½¨Ð½ø³ÌµÄºó£¬»áÒÔеijÌÐòÈ¡´úÔÀ´µÄ½ø³Ì£¬È»ºóϵͳ»á´ÓеĽø³ÌÔËÐУ¬µ«ÊÇеĽø³ÌµÄPIDÖµ»áÓëÔÀ´½ø³ÌµÄPIDÖµÏàͬ.
2)system()º¯Êý
Í·Îļþ #include<stdlib.h>
¹¦ÄÜ ÔÚ½ø³ÌÖпªÊ¼ÁíÒ»¸ö½ø³Ì
ÔÐÍ int system(const char *string)
´«ÈëÖµ ϵͳ±äÁ¿
·µ»ØÖµ
³É¹¦Ôò·µ»ØÖ´ÐÐshellÃüÁîºóµÄ·µ»ØÖµ£¬µ÷ÓÃ/bin/shÊý°Ù·µ»Ø127£¬ÆäËû
ʧ°Ü·µ»Ø£1£¬ÈýÊåstringΪ¿Õ·µ»Ø·ÇÁãÖµ
Àý£º
#include<stdio.h>
#include<stdlib.h>
main()
{
int newret;
printf("ϵͳ·ÖÅ
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
from: ¡¶×Ô¼º¶¯ÊÖд²Ù×÷ϵͳ¡·
1. ÖжÏÏòÁ¿±í ²é¿´ linux/init/main.c in http://lxr.linux.no/#linux+v2.6.32/init/main.c
2.
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd on ......
LinuxÄÚºËÖеÄplatform»úÖÆ
´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ£ºplatform_deviceºÍplatform_driver¡£LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ£¬É豸ÓÃplatform_device±íʾ£¬Çý¶¯ÓÃplatform_driver½øÐÐ×¢²á¡£
Linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ( ......
ÉùÃ÷£º¸ÃÎļþÊǶÔÎÒ2009Äê×îºóÁ½ÖÜѧϰ¹ý³ÌµÄ×ܽᣬϣÍûÄܰïÖúµ½Ñ§Ï°ÖеÄÈËÃÇ¡£¸ÃÎĵµ°´ÕÕµ±Ç°ÈÕÆÚµÄ×îаæGPLÐÒé·¢²¼¡£»¶Ó×ªÔØ£¬µ«Ðë×¢Ã÷×÷Õß¼°³ö´¦¡£
×÷ÕߣºJim Zheng¡£½Ó´¥Linux 4Ä꣬µ«ÊÇÒ»Ö±´¦ÓÚ×Ôѧ״̬£¬Ã»Óлú»á²ÎÓëLinuxƽ̨µÄ²úÆ·¿ª·¢¡£ºÜÏ£ÍûÄÜÓÃÉÏLinuxƽ̨×÷ʵ¼Ê¿ª·¢¡£ÁªÏµ·½Ê½:zhengweishang@google.com
......
LinuxÏÂͨ¹ýmdadm½øÐÐÈíraidÉèÖã¨×ª£©
×¢£ºÕâÊÇһƪ¿ìËÙÈëÃÅ£¬ÈôÏë¸üÏêϸµÄÁ˽âmdadmµÄ֪ʶ£¬¿É·ÃÎÊ
1¡¢LinuxÏÂÈíraidµÄʵÏÖ£ºhttp://www.ibm.com/developerworks/cn/linux/l-cn-raid/
2¡¢³£¼ûÎÊÌâ½â¾ö£ºhttp://www.ibm.com/developerworks/cn/linux/l-cn-raid2/
**********************
×÷Ϊһ¸öÃæÏò·þÎñÆ÷µÄÍøÂçÐ ......