µÚÒ»¸öǶÈëʽLinuxµÄÇý¶¯³ÌÐò
´ÓÕâ¸ö×ܽáÕýʽ¿ªÊ¼ÁËÎÒµÄÇý¶¯Ö®Âã¬ÐÄÇé²»ÃâÓе㼤¶¯£¬¾¡¹ÜÏÖÔÚ¶ÔÇý¶¯µÄ±àд»¹ºÜÄ£ºý£¬µ«»¹ÊÇÓмÍÄîÒâÒåµÄ……
¿ª·¢Æ½Ì¨£º
ÐéÄâ»úÏÂRedHat9£¬ÄÚºË2.4.20.8
½»²æ±àÒë±àÒëÆ÷£ºÌìǶ¹«Ë¾ÌṩµÄarm-linux-gcc 4.3.3
ÄÚºËÊ÷£º/home/linux-2.6.30.4
Ä¿±êƽ̨£º
TQ2440£¬ÄÚºËÊÇARM9
OSÄںˣºÌìǶ¹«Ë¾ÌṩµÄlinux-2.6.30.4
¹ØÓÚÌìǶµÄÈí¼þ¿ÉÒÔµ½http://bbs.embedsky.net/ÏÂÔØ
·Ï»°ÉÙ˵£¬ÎÒµÄÇý¶¯Ô´ÂëÊÇ£º
demo.h:
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioctl.h>
#undef PDEBUG
#ifdef DEMO_DEBUG
#ifdef __KERNEL__
# define PDEBUG(fmt, args...) printk( KERN_DEBUG "DEMO: " fmt, ## args)
#else//usr space
# define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
#endif
#else
# define PDEBUG(fmt, args...)
#endif
#undef PDEBUGG
#define PDEBUGG(fmt, args...)
//É豸ºÅ
#define DEMO_MAJOR 224
#define DEMO_MINOR 0
#define COMMAND1 1
#define COMMAND2 2
//É豸½á¹¹
struct DEMO_dev
{
struct cdev cdev;
};
//º¯ÊýÉêÃ÷
ssize_t DEMO_read(struct file *filp, char __user *buf, size_t count, loff_t *f_pos);
ssize_t DEMO_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos);
loff_t DEMO_llseek(struct file *filp, loff_t off, int whence);
int DEMO_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);
#endif
demo.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/cdev.h>
#include <linux/version.h>
#include <linux/vmalloc.h>
#include <linux/ctype.h>
#include <linux/p
Ïà¹ØÎĵµ£º
LinuxÄÚ´æ¹ÜÀí(ÉÏ)
ÕªÒª£º±¾ÕÂÊ×ÏÈÒÔÓ¦ÓóÌÐò¿ª·¢ÕߵĽǶÈÉóÊÓLinuxµÄ½ø³ÌÄÚ´æ¹ÜÀí£¬ÔÚ´Ë»ù´¡ÉÏÖð²½ÉîÈëµ½ÄÚºËÖÐÌÖÂÛϵͳÎïÀíÄÚ´æ¹ÜÀíºÍÄÚºËÄÚ´æµØÊ¹Ó÷½·¨¡£Á¦Çó´ÓÍâ×ÔÄÚ¡¢Ë®µ½Çþ³ÉµØÒýµ¼ÍøÓÑ·ÖÎöLinuxµØÄÚ´æ¹ÜÀíÓëʹÓá£ÔÚ±¾ÕÂ×îºóÎÒÃǸø³öÒ»¸öÄÚ´æÓ³ÉäµØÊµÀý£¬°ïÖúÍøÓÑÃÇÀí½âÄÚºËÄÚ´æ¹ÜÀíÓëÓû§ÄÚ´æ¹ÜÀíÖ®¼äµØ¹ØÏµ£¬Ï£Í ......
Ò»¡¢ÏÂÔØVMwareÈí¼þ²¢°²×°
¶þ¡¢¹âÅÌ.iso·½Ê½°²×°linux
Èý¡¢¹²ÏílinuxºÍwindowsĿ¼
ËÄ¡¢½«"±¾µØÁ¬½Ó"ÉèΪ¹²Ïí·½Ê½£¬½ûÖ¹ÆäËûÐéÄâ»úÁ¬½Ó
´ò¿ªÐéÄâ»úÔÚÐéÄâ»ú±à¼ÖÐÉèÖÃΪ'ÇŽÓ"·½Ê½;
²¢Ñ¡ÖÐDevice statusϵÄÁ½ÏֻËùÒÔÓÃÇŽӷ½Ê½²»ÓÃhost-only·½Ê½ÉÏÍøÊÇÒòΪ
ÔÚÓ÷ÓÉÆ÷ʱhost-onl ......
ʱ¼ä¼ä¸ô¶¨Ê±Æ÷
interval timer(ʱ¼ä¼ä¸ô¶¨Ê±Æ÷)ϵͳµ÷ÓÃ×Ô´Ó±»POSIX±ê×¼»¯ºó£¬Ê״γöÏÖÓÚ4.2BSD£¬Äܹ»Ìṩ±Èalarm()»¹¶àµÄ¿ØÖÆ£º
#include <sys/time.h>
int getitimer(int which, struct itimerval *value);
int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
interval ti ......
ÕâÁ½Ìì´î½¨ÁËÒ»×éApache·þÎñÆ÷£¬Ã¿Ì¨·þÎñÆ÷4GÄڴ棬²ÉÓõÄÊÇpreforkģʽ£¬Ò»¿ªÊ¼ÉèÖõÄÁ¬½ÓÊýÌ«ÉÙÁË£¬ÐèÒª½Ï³¤µÄʱ¼äÈ¥ÏìÓ¦Óû§µÄÇëÇ󣬺óÀ´ÐÞ¸ÄÁËÒ»ÏÂApache 2.0.59µÄÅäÖÃÎļþhttpd.conf£º
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes ......