Linux ×Ö·ûÉ豸Çý¶¯³ÌÐòµÄ±àд¿ò¼Ü
Ò»¡¢Linux device driver µÄ¸ÅÄî
ϵͳµ÷ÓÃÊDzÙ×÷ϵͳÄں˺ÍÓ¦ÓóÌÐòÖ®¼äµÄ½Ó¿Ú£¬É豸Çý¶¯³ÌÐòÊDzÙ×÷ϵͳÄں˺ͻúÆ÷Ó²¼þÖ®¼äµÄ½Ó¿Ú¡£É豸Çý¶¯³ÌÐòΪӦÓóÌÐòÆÁ±ÎÁËÓ²¼þµÄϸ½Ú£¬ÕâÑùÔÚÓ¦ÓóÌ
Ðò¿´À´£¬Ó²¼þÉ豸ֻÊÇÒ»¸öÉ豸Îļþ£¬Ó¦ÓóÌÐò¿ÉÒÔÏó²Ù×÷ÆÕͨÎļþÒ»Ñù¶ÔÓ²¼þÉ豸½øÐвÙ×÷¡£É豸Çý¶¯³ÌÐòÊÇÄں˵ÄÒ»²¿·Ö£¬ËüÍê³ÉÒÔÏµĹ¦ÄÜ:
1¡¢¶ÔÉ豸³õʼ»¯ºÍÊÍ·Å£»
2¡¢°ÑÊý¾Ý´ÓÄں˴«Ë͵½Ó²¼þºÍ´ÓÓ²¼þ¶ÁÈ¡Êý¾Ý£»
3¡¢¶ÁȡӦÓóÌÐò´«Ë͸øÉ豸ÎļþµÄÊý¾ÝºÍ»ØËÍÓ¦ÓóÌÐòÇëÇóµÄÊý¾Ý£»
4¡¢¼ì²âºÍ´¦ÀíÉ豸³öÏֵĴíÎó¡£
ÔÚLinux²Ù×÷ϵͳÏÂÓÐÈýÀàÖ÷ÒªµÄÉ豸ÎļþÀàÐÍ£¬Ò»ÊÇ×Ö·ûÉ豸£¬¶þÊÇ¿éÉ豸£¬ÈýÊÇÍøÂçÉ豸¡£×Ö·ûÉ豸ºÍ¿éÉ豸µÄÖ÷񻂿±ðÊÇ:ÔÚ¶Ô×Ö·ûÉ豸·¢³ö¶Á/дÇëÇó
ʱ£¬Êµ¼ÊµÄÓ²¼þI/OÒ»°ã¾Í½ô½Ó×Å·¢ÉúÁË£¬¿éÉ豸Ôò²»È»£¬ËüÀûÓÃÒ»¿éϵͳÄÚ´æ×÷»º³åÇø£¬µ±Óû§½ø³Ì¶ÔÉ豸ÇëÇóÄÜÂú×ãÓû§µÄÒªÇ󣬾ͷµ»ØÇëÇóµÄÊý¾Ý£¬Èç¹û²»
ÄÜ£¬¾Íµ÷ÓÃÇëÇóº¯ÊýÀ´½øÐÐʵ¼ÊµÄI/O²Ù×÷¡£¿éÉ豸ÊÇÖ÷ÒªÕë¶Ô´ÅÅ̵ÈÂýËÙÉ豸Éè¼ÆµÄ£¬ÒÔÃâºÄ·Ñ¹ý¶àµÄCPUʱ¼äÀ´µÈ´ý¡£
ÒѾÌáµ½£¬Óû§½ø³ÌÊÇͨ¹ýÉ豸ÎļþÀ´Óëʵ¼ÊµÄÓ²¼þ´ò½»µÀ¡£Ã¿¸öÉ豸Îļþ¶¼¶¼ÓÐÆäÎļþÊôÐÔ(c/b)£¬±íʾÊÇ×Ö·ûÉ豸»¹ÊÇ¿éÉ豸?ÁíÍâÿ¸öÎļþ¶¼ÓÐÁ½¸öÉ豸
ºÅ£¬µÚÒ»¸öÊÇÖ÷É豸ºÅ£¬±êʶÇý¶¯³ÌÐò£¬µÚ¶þ¸öÊÇ´ÓÉ豸ºÅ£¬±êʶʹÓÃͬһ¸öÉ豸Çý¶¯³ÌÐòµÄ²»Í¬µÄÓ²¼þÉ豸£¬±ÈÈçÓÐÁ½¸öÈíÅÌ£¬¾Í¿ÉÒÔÓôÓÉ豸ºÅÀ´Çø·ÖËûÃÇ¡£Éè
±¸ÎļþµÄµÄÖ÷É豸ºÅ±ØÐëÓëÉ豸Çý¶¯³ÌÐòÔڵǼÇʱÉêÇëµÄÖ÷É豸ºÅÒ»Ö£¬·ñÔòÓû§½ø³Ì½«ÎÞ·¨·ÃÎʵ½Çý¶¯³ÌÐò¡£
×îºó±ØÐëÌáµ½µÄÊÇ£¬ÔÚÓû§½ø³Ìµ÷ÓÃÇý¶¯³ÌÐòʱ£¬ÏµÍ³½øÈëºËÐÄ̬£¬Õâʱ²»ÔÙÊÇÇÀÏÈʽµ÷¶È¡£Ò²¾ÍÊÇ˵£¬ÏµÍ³±ØÐëÔÚÄãµÄÇý¶¯³ÌÐòµÄ×Óº¯Êý·µ»Øºó²ÅÄܽøÐÐÆäËûµÄ¹¤
×÷¡£Èç¹ûÄãµÄÇý¶¯³ÌÐòÏÝÈëËÀÑ»·£¬²»ÐÒµÄÊÇÄãÖ»ÓÐÖØÐÂÆô¶¯»úÆ÷ÁË£¬È»ºó¾ÍÊÇÂþ³¤µÄfsck¡£
¶þ¡¢ÊµÀýÆÊÎö
ÎÒÃÇÀ´Ð´Ò»¸ö×î¼òµ¥µÄ×Ö·ûÉ豸Çý¶¯³ÌÐò¡£ËäÈ»ËüʲôҲ²»×ö£¬µ«ÊÇͨ¹ýËü¿ÉÒÔÁ˽âLinuxµÄÉ豸Çý¶¯³ÌÐòµÄ¹¤×÷ÔÀí¡£°ÑÏÂÃæµÄC´úÂëÊäÈë»úÆ÷£¬Äã¾Í»á»ñµÃ
Ò»¸öÕæÕýµÄÉ豸Çý¶¯³ÌÐò¡£
ÓÉÓÚÓû§½ø³ÌÊÇͨ¹ýÉ豸ÎļþͬӲ¼þ´ò½»µÀ£¬¶ÔÉ豸ÎļþµÄ²Ù×÷·½Ê½²»Íâºõ¾ÍÊÇһЩϵͳµ÷Óã¬Èç
open£¬read£¬write£¬close…£¬
×¢Ò⣬²»ÊÇfopen£¬ fread£¬µ«ÊÇÈçºÎ°Ñϵͳµ÷ÓúÍÇý¶¯³ÌÐò¹ØÁªÆðÀ´ÄØ?ÕâÐèÒªÁ˽âÒ»¸ö·Ç³£¹Ø¼ü
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
½ñÌìµÄÊÂÌ«¶à£¬Ã»ÓÐÈÏÕæµÄÍê³ÉÈÎÎñ£¬²»¹ý°Ñ·þÎñÆ÷¶ËµÄÎļþ´«Êä×öºÃÁË£¡
Ã÷Ìì°Ñ·þÎñÆ÷¶ËµÄ´úÂ뼯³ÉÆðÀ´²âÊÔһϣ¬²¢°ÑÍøÂç¿Í»§¶Ë³ÌÐò×öºÃ£¡
°Ñ´úÂëÌù³öÀ´°É£¡±ãÓÚ±£´æ£¡
Í·Îļþ£ºserver_udpsocket.h
#ifndef _SERVER_UDPSOCKET_H_
#define _SERVER_UDPSOCKET_H_
#include <stdio.h>
#include <stdlib.h>
......
×î½üÔÚѧϰlinux ½ñÌì°Ñ¼ÜÉèlinux samba·þÎñÆ÷µÄ·½·¨Ð´³öÀ´ »¶Ó´ó¼ÒÌÖÂÛºÍÖ¸µã
±¾»úÊÇÐéÄâ»úºÍwinxp½øÐвâÊÔ£¬ÐéÄâ»úµØÖ·ÊÇ192.168.1.144 Ö÷»úµØÖ·ÊÇ192.168.1.10.Á½ÕßÊÇ¿ÉÒÔ»¥Í¨µÄ¡£
Ê×ÏÈÎÒÃÇÏÈ×ölinuxϵÄÅäÖÃ
Ò». Ê×ÏÈҪȷ¶¨linuxÊÇ·ñ°²×°ÁËsmb
[root@localhost zy]#rpm -qa | grep samba
samba-2.2.5-10
samba-s ......
ÔÚ32λƽ̨ÉϱàÒ붯̬¿âûÓÐɶÎÊÌ⣬Äõ½x86_64λƽ̨ÉϱàÒëʱ³öÏÖÁËÎÊÌâ¡£
relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
ÕÕ×ÅÌáʾ±àÒë´úÂëµÄʱºò¼ÓÈë -fPICÑ¡Ïî¾Íok.
......
linux²¢²»ÊÇʵʱ²Ù×÷ϵͳ£¬°ÑÏÂÃæµÄ´úÂëÔËÐÐÒ»±é¾ÍÄܹ»Àí½âÁË£¬´úÂëÓкÜÏêϸµÄ×¢ÊÍ¡£
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <signal.h>
#include <string.h>
void * thr_fun(void *arg)
{
int policy, ret;
str ......