Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

The Linux Kernel Module Programming Guide

 http://www.faqs.org/docs/kernel/
µÄ11ºÍ12ÔÙÊÔÊÔ¡£
Linux Äں˵ÄWorkQueues API×öÁËÐÞ¸Ä
 
 
WorkQueue»úÖÆÔÊÐíÄں˴úÂëÔÚÍíÒ»µãµÄʱ¼äÖ´ÐС£Workqueueͨ¹ý´æÔÚµÄÒ»¸ö»òÕß¶à¸öרÃŵĽø³ÌʵÏÖ£¬È¥Ö´ÐжÓÁй¤×÷¡£ÒòΪÔÚ½ø³ÌµÄÉÏÏÂÎÄ»ã×ÜÖ´ÐУ¬Òò´ËÈç¹ûÐèÒª£¬Æä¿ÉÒÔsleep¡£WorkQueueÒ²¿ÉÒÔÑÓ³ÙÌØ¶¨Ê±¼äÖ´Ðй¤×÷¡£ËùÒÔËüÃÇÔÚÄÚºËÖÐÐí¶àµØ·½Ê¹Óá£
David Howells×î½ü¼ì²éworkqueueʱ·¢ÏÖwork_struct£¨ÓÃÀ´ÃèÊöÒ»¸ö³ÌÐòÖ´ÐУ©ÊÇÏ൱´óµÄ£¬ÔÚ64-bit»úÆ÷ÉÏÓÐ96bytes£¬ÕâÊÇÏ൱´óµÄÊý¾Ý½á¹¹£¬ÒòΪºÜ¶àµØ·½¶¼Ê¹ÓÃÕâ¸ö½á¹¹¡£Òò´ËËûÏë³ö°ì·¨°ÑËüÃDZäС£¬Ëû³É¹¦Á˵«ÊÇÐèÒª¸Ä¶¯workqueueµÄAPI.
µ¼ÖÂstruct work_structÓ·Ö×µÄÔ­ÒòÊÇ£º
1.ÆäÖÐËù°üº¬timer structure¡£Ðí¶àworkqueueµÄÓû§´ÓÀ´²»Ê¹ÓÃÕâ¸ödelayÌØÐÔ£¬µ«ÊÇÔڽṹÌåÄÚ¶¼°üº¬timer_list½á¹¹¡£
2.˽ÓÐÊý¾ÝÖ¸Õ룬ÕâÊÇ´«µÝ¸øworkº¯ÊýµÄ²ÎÊý¡£Ðí¶àº¯ÊýʹÓÃÕâ¸öÖ¸Õ룬µ«ÊÇËüͨ³£¿ÉÒÔ´Ówork_structÖ¸ÕëÖÐÓÃcontain_of()¼ÆËã³öÀ´¡£
3.Ò»¸öwordÖ»ÓÃÒ»¸öbitÀ´±íʾpending£¬ÓÃÀ´ËµÃ÷Õâ¸öwork_structĿǰÔÚ¶ÓÁÐÉϵȴýÖ´ÐС£
David´¦ÀíÁËÒÔÉϵÄÇé¿ö£¬Ê¹ÓÃÁËÒ»ÖÖеĽṹÌåstruct delayed_work£¬×¨ÃÅÓÃÓÚÑÓʱµ÷ÓÃʹ ......

linux Socket±à³ÌÈëÃÅ

ÒÔǰÒѾ­½Ó´¥WindowsϵÄSocket±à³Ì£¬×î½üÒ²³¢ÊÔ×ÅÔÙlinuxÏÂʹÓÃSocket±à³Ì£¬ÏÂÃæÊÇÔÚÍøÉÏÕÒµÄÀý×Ó(ÒѾ­²âÊÔ¹ý)
 tcp_server.c:
#include <stdio.h>
#include <sys/socket.h>
#include <unistd.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <time.h>
#define SERVER_PORT 20000
#define LENGTH_OF_LISTEN_QUEUE 10
#define BUFFER_SIZE 255
#define WELCOME_MESSAGE "welcome to connect the server"
int main(int argc, char **argv)
{
 int servfd,clifd;
 struct sockaddr_in servaddr,cliaddr;
 if((servfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
 {
  printf("create socket error!\n");
  exit(1);
 }
 bzero(&servaddr, sizeof(servaddr));
 servaddr.sin_family = AF_INET;
 servaddr.sin_port = htons(SERVER_PORT);
 servaddr.sin_addr.s_addr = htons(INADDR_ANY);
 
 if(bind(servfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < ......

¼«Ð¡µÄLinux·¢Ðаæ

 




<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->

       Ò»¸ö
Linux
·¢Ðа棬Ìå»ýºÜС£¬Óô¦·´¶øºÜ´ó¡£´Ë»°µ±Õ棿
 
       Ò»°ã¶øÑÔ£¬ÀÏʽ¼ÆËã»úÄÚ´æ¶¼²»´ó£¬
CPU
´¦ÀíËٶȲ»¹»¿ì¡£ÒªÊǰÑÕû¸ö
Linux
ϵͳ·ÅÈëÄÚ´æÖÐÔËÐУ¬Ò»¶¨ÊǸöºÃ·½·¨¡£
2005
Ä꣬ÔÚÒ»´Î¡¶
Linux
ÊÀ½ç¡·´ó»áÉÏ£¬
Robert
Shingledecker
Ó뼸λºÃÓѽ»Á÷ÁËÕâ¸öÏë·¨¡£ËûÃǼ¸ÈË£¬Ò»Åļ´ºÏ£¬ÓÚÊÇ£¬¾Í¶¯Ê֏ɯðÀ´ÁË£¬Õâ¸öÏîÄ¿¾ÍÈ¡ÃûΪ“
Tiny
Core
Linux”(“
¼«Ð¡ºËÐÄ
Linux”)
¡£Êµ¼ÊÉÏ£¬ÕâÊÇÒ»¸ö¼«Ð¡µÄ
Linux
·¢Ðа棨׼ȷµØËµ£¬ÊǼ«Ð¡µÄËùν“
Live
·¢Ðа攣©£¬´úÂëÌå»ý½öÓÐ
10MB
£¬ÉõÖÁ¸üµÍÖ»ÓÐ
7
¸ö
MB
¡£ËüµÄ×î´óÌØµãÊÇ£¬Õû¸öϵͳÔËÐÐÔÚÄÚ´æÖУ¬¶øÇÒ£¬ÔÊÐíÓû§Ìí¼Ó×Ô¼ºµÄÓ¦ÓóÌÐò¡£½ñÄê
11
ÔÂ
6
ÈÕ£¬
Tiny
Core 2.5
°æ±¾Õýʽ·¢²¼£¬ÕâÊÇÒ»¸ö·Ç³£»îÔ¾µÄÉçÇø°æ±¾¡£
 
         ´ó¼ÒÖªµÀ£¬ÔÚ
Linux
ÊÀ½çÖÐÓÐÐí¶àÐ¡ÍæÒâ¶ù£¬ÓÐÐ ......

Linux ϵͳʱ¼äÉèÖᢱà³Ì×ܽá

δÍê´ýÐø...
ÉèÖÃʱ¼ä£º
date -s "2009/11/08 11:23:00"
Ó²¼þʱÖÓÓëϵͳʱ¼äͬ²½Ò»Ï£º
hwclock --systohc
±à³Ì£º
#include <cstdlib>
time_t time(time_t *timer)
µ÷Óú󽫵±Ç°ÏµÍ³Ê±¼äÓë1900Äê1ÔÂ1ÈÕÏà²îµÄÃëÊý´æÈëµ½timerÖУ¬timer¿É¿´³ÉÊÇÒ»¸ö³¤ÕûÐÍÊý
¾ßÌåÃèÊö£º
  º¯ÊýÔ­ÐÍ£º  time_t  time(time_t  *timer)     
  º¯ÊýÓÃ;£º  µÃµ½»úÆ÷µÄÈÕÀúʱ¼ä»òÕßÉèÖÃÈÕÀúʱ¼ä     
  Í·  ÎÄ  ¼þ£º  time.h   
  ÊäÈë²ÎÊý£º  timer:=NULLʱ£¬µÃµ½»úÆ÷ÈÕÀúʱ¼ä,=ʱ¼äÊýֵʱ  ÓÃÓÚÉèÖÃÈÕÀúʱ¼ä; 
struct tm* localtime(const time_t *timer)
½«time()º¯Êýµ÷ÓõĽá¹û×öΪ²ÎÊý´«Èëµ½localtime()º¯ÊýÖоÍÄܵõ½µ±Ç°Ê±¼äºÍÈÕÆÚ£¬×¢ÒâµÃµ½µÄÄêÊǺÍ1970µÄ²îÖµ£¬Ô·ÝÊǺÍ1ÔµIJîÖµ
struct tmÊÇÒ»¸ö½á¹¹Ì壬¶¨ÒåÈçÏÂ:
struct tm
{
int tm_sec; //µ±Ç°Ãë
int tm_min; //µ±Ç°·ÖÖÓ
int tm_hour; //µ±Ç°Ð¡Ê±
int tm_mday; //µ±Ç°ÔÚ±¾ÔÂÖеÄÌ죬Èç11ÔÂ1ÈÕ£¬ÔòΪ1
int tm_mon; //µ±Ç°Ô£¬·¶Î§ÊÇ0~11
int tm_year; //µ±Ç°ÄêºÍ1900 ......

Linux driver±àд˼¿¼


<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@ËÎÌå";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:ËÎÌå;
mso-font-kerning:1.0pt;}
h1
{mso-style-next:ÕýÎÄ;
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:justify;
text-justify:inter-ideograp ......

linuxѧϰ±Ê¼Ç

 Ò»±ßѧϰubuntu,Ò»±ß·¢ÏÖÎÊÌ⣬Ŀǰ·¢ÏÖµÄÎÊÌâÓÐÒÔϼ¸¸ö£¬²¢³É¹¦½â¾ö¡£
        Ê×ÏÈ£¬´ò¿ªfirefox,flash²»ÄÜÕýÈ·ÏÔʾ£¬°²×°adobe  flash  ×îвå¼þ¾Í¿ÉÒÔ½â¾ö£¬ÆäËûflash²å¼þЧ¹û²»Ì«ºÃ¡£ºóÀ´´ò¿ªQQÅ©³¡µÄflash£¬ÖÐÎÄÏÔʾ¿Õ¸ñ£¬½â¾ö·½·¨£¬´ò¿ªÖÕ¶Ë£¬ÊäÈëÒÔÏÂÃüÁ cd /etc/fonts/conf.d/
sudo cp 49-sansserif.conf 49-sansserif.conf_backup
sudo rm 49-sansserif.conf Ë¢ÐÂFlashÒ³Ãæ£¬ÏÔʾÕý³££¡
        ¶ÔÓÚoffice£¬openofficeÏÔʾ²»Ì«ÀíÏ룬²¢ÇÒ²»ºÏϰ¹ß¡£×îºóʹÓÃÓÀÖÐoffice 2009£¬¸Ð¾õ²»´í¡£ÔÚÓÀÖпƼ¼¹ÙÍøÏÂÔØtar.bzÎļþ¡£ÓÚÏñºìÆìÕâÒ»ÀàµÄLinux£¬Ö»Òª½âѹºó´ò¿ªSetup¾Í¿ÉÒÔÁË¡£¶ø¶ÔÓÚUbuntu£¬ÐèÒªÖ´Ðв½Ö裺
1¡¢½âѹÎļþ¡£
2¡¢´ò¿ªÖÕ¶Ë£¬ÊäÈ룺sudo chmod +x setup
sudo ./setup
ÕâÀïҪעÒâµÄÊÇ£¬Èç¹ûÔÚ°²×°Ê±ÆôÓÃÁË“×ÀÃæÐ§¹û”£¬Ôò°²×°¶Ô»°¿ò¾ÍÊÇһƬ¿Õ°×£¬ÎÞ·¨Õý³£¼ÌÐø°²×°¡£µ±È¡Ïûµô“×ÀÃæÐ§¹û”ʱ£¬¾ÍÄÜÕý³£°²×°ÁË¡£ ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [819] [820] [821] [822] 823 [824] [825] [826] [827] [828]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ