LinuxÏÂÊØ»¤½ø³ÌµÄ´´½¨Àý×Ó
#include <stdio.h>
#include <signal.h>
#include <ctype.h>
#include <fcntl.h>
int g_count;
void Exit()
{
printf("I will exit, press any key to continue...(g_count = %d)\n", g_count);
exit(0);
}
int main(int argc, char* argv[])
{
struct sigaction almact;
pid_t pid;
// ´´½¨ÊØ»¤½ø³Ì£¬ÈóÌÐòÔÚºǫ́ÔËÐÐ
// fork£¬ÖÕÖ¹¸¸½ø³Ì
if (pid = fork())
exit(0);
// µÚÒ»×Ó½ø³Ì
setsid();
signal(SIGHUP, SIG_IGN);
// fork, ÖÕÖ¹µÚÒ»×Ó½ø³Ì
if (pid = fork())
exit(0);
// Çå³ýÎļþÑÚÂë
umask(0);
signal(SIGTERM, Exit); // killɱµô½ø³Ìʱºò³ÌÐòĬÈÏÖ´Ðк¯ÊýExit
while (1)
{
sleep(1);
g_count ++;
}
}
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
½á¹¹ÌåºÍ¹²ÓÃÌåµÄÄÚ´æ·ÖÅäÊÇCÓïÑÔµÄÒ»¸öÄѵ㣬ҲÊÇÃæÊÔÌâÖеÄÈȵ㡣
ʾÀý1£º
Union data1
{
double d;
int i;
char c1;
char c2[9];
};
sizeof(union data1 ......
Ä£¿éÊÇLINUXÌØÓеÄÒ»ÖÖ»úÖÆ£¬¿ÉÒÔ¶¯Ì¬µÄÔö¼ÓÄں˵ŦÄÜ
¿ÉÒÔ×÷Ϊ¶ÀÁ¢³ÌÐòÀ´±àÒ룬µ«¿ÉÒÔËæÊ±±»Á´½Óµ½ÄÚºËÖУ¬³ÉΪÄں˵ÄÒ»²¿·Ö£¨INSMOD ./[Ä£¿éÃû].ko£©,Ò²¿ÉÒÔ±»Ð¶ÔØ£¨RMMOD ./[Ä£¿éÃû].ko£©£¬Ä£¿é¼òµ¥Áé»î£¬Ïà±Èϵͳµ÷Ó㬱ÜÃâÁ˱àÒëºÍÆô¶¯Äں˵ÄÂé·³£¬È´Ò»Ñù¿ÉÒÔÔÙºÍÐÄ̬¹¤×÷¡£
ÏÂÃæÐ´Ð´¸öÀý×Ó
Áгöij½ø³Ì¼Ò×åµÄÐÅÏ¢£ ......
ÕâÁ½Ìì¿´ÁËÒ»±¾fedora 6µÄʵ¼ù½Ì³Ì£¬ÏÂÃæÊÇÓйØlinuxÎļþϵͳ֪ʶµÄѧϰ±Ê¼Ç£º
1¡¢linuxÎļþϵͳ·ÖÅä²ßÂÔ£º
¿é·ÖÅä( block allocation ) ºÍ À©Õ¹·ÖÅä ( extent allocation )
¿é·ÖÅ䣺´ÅÅÌÉϵÄÎļþ¿é¸ù¾ÝÐèÒª·ÖÅ䏸Îļþ£¬±ÜÃâÁË´æ´¢¿Õ¼äµÄÀË·Ñ¡£µ«µ±ÎļþÀ©³äʱ£¬»áÔì³ÉÎļþÖÐÎļþ ......
New things to learn about Linux Scheduler):
1. Rotating Staircase Deadline cpu scheduler policy
2. CFS (Completely Fair Scheduler)
3. BFS (Brain Fuck Scheduler)
http://lwn.net/Articles/
http://kerneltrap.org/
......