¿´linuxÄں˺ÜÈÝÒ×±»struct address_space Õâ¸ö½á¹¹ÃÔ»ó£¬ËüÊÇ´ú±íij¸öµØÖ·¿Õ¼äÂð£¿Êµ¼ÊÉϲ»Êǵģ¬ËüÊÇÓÃÓÚ¹ÜÀíÎļþ£¨struct inode)Ó³Éäµ½ÄÚ´æµÄÒ³Ãæ(struct page)µÄ£»ÓëÖ®¶ÔÓ¦£¬address_space_operations ¾ÍÊÇÓÃÀ´²Ù×÷¸ÃÎļþÓ³Éäµ½ÄÚ´æµÄÒ³Ãæ£¬±ÈÈç°ÑÄÚ´æÖеÄÐÞ¸Äд»ØÎļþ¡¢´ÓÎļþÖжÁÈëÊý¾Ýµ½Ò³Ã滺³åµÈ¡£
²Î¿¼ÏÂÃæÕâÕÅͼ£¬Õª×Ô¡¶ÉîÈëÀí½âlinuxÐéÄâÄÚ´æ¹ÜÀí¡·£¬¶ÔÀí½âlinuxÄÚ´æ¹ÜÀíÆÄÓаïÖú
......
ÓÉÓÚÓû§ÔÚUNIXϾ³£»áÓöµ½SUID¡¢SGIDµÄ¸ÅÄ¶øÇÒSUIDºÍSGIDÉæ¼°µ½ÏµÍ³°²È«£¬ËùÒÔÓû§Ò²±È½Ï¹ØÐÄÕâ¸öÎÊÌâ¡£
Ò»¡¢ UNIXϹØÓÚÎļþȨÏ޵ıíʾ·½·¨ºÍ½âÎö
SUID ÊÇ Set User ID, SGID ÊÇ Set Group IDµÄÒâ˼¡£
UNIXÏ¿ÉÒÔÓÃls -l ÃüÁîÀ´¿´µ½ÎļþµÄȨÏÞ¡£ÓÃlsÃüÁîËùµÃµ½µÄ±íʾ·¨µÄ¸ñʽÊÇÀàËÆÕâÑùµÄ£º-rwxr-xr-x ¡£ÏÂÃæ½âÎöһϸñʽËù±íʾµÄÒâ˼¡£ÕâÖÖ±íʾ·½·¨Ò»¹²ÓÐʮλ£º
9 8 7 6 5 4 3 2 1 0
- r w x r - x r - x
µÚ9λ±íʾÎļþÀàÐÍ,¿ÉÒÔΪp¡¢d¡¢l¡¢s¡¢c¡¢bºÍ-£º
p±íʾÃüÃû¹ÜµÀÎļþ
d±íʾĿ¼Îļþ
l±íʾ·ûºÅÁ¬½ÓÎļþ
-±íʾÆÕͨÎļþ
s±íʾsocketÎļþ
c±íʾ×Ö·ûÉ豸Îļþ
b ±íʾ¿éÉ豸Îļþ
µÚ8-6λ¡¢5-3λ¡¢2-0λ·Ö±ð±íʾÎļþËùÓÐÕßµÄȨÏÞ£¬Í¬×éÓû§µÄȨÏÞ£¬ÆäËûÓû§µÄȨÏÞ£¬ÆäÐÎʽΪrwx£º
r±íʾ¿É¶Á£¬¿ÉÒÔ¶Á³öÎļþµÄÄÚÈÝ
w±íʾ¿Éд£¬¿ÉÒÔÐÞ¸ÄÎļþµÄÄÚÈÝ
x±íʾ¿ÉÖ´ÐУ¬¿ÉÔËÐÐÕâ¸ö³ÌÐò
ûÓÐȨÏÞµÄλÖÃÓÃ-±íʾ
Àý×Ó£º
ls -l myfileÏÔʾΪ£º
-rwxr-x--- 1 foo staff 7734 Apr 05 17:07 myfile
±íʾÎļþmyfileÊÇÆÕͨÎļþ£¬ÎļþµÄËùÓÐÕßÊÇ fooÓû§£¬¶øfooÓû§ÊôÓÚstaff×飬ÎļþÖ»ÓÐ1¸öÓ²Á¬½Ó£¬³¤¶ÈÊÇ7734¸ö×Ö½Ú£¬×îºóÐÞ¸Äʱ¼ä4ÔÂ5ÈÕ17:0 ......
ÔÚLinuxÖÐÓÐ7ÖÖÆô¶¯¼¶±ð£¬Ä¬ÈÏÊÇX-Window£¬ÏñÊÇWindowsµÄ´°¿Úģʽ£¬¶øLinuxµÄ²Ù×÷ºÍÅäÖÃÒ»°ãÎÒÃǶ¼²ÉÓÃÊäÈëÃüÁîµÄ·½Ê½À´Íê³É£¬ÏñDOS²Ù×÷ϵͳһÑù£¬ÈçºÎÈÃLinuxÒ»Æô¶¯¾Í½øÈëÕâÖÖÄ£Ê½ÄØ£¿
ÒÔ¹ÜÀíÔ±Éí·Ý½øÈëLinux£¬ÐÞ¸ÄÎļþ£º/etc/inittabÎļþ
ÕÒµ½¡°id:5:initdefault:¡±£¬ÆäÖеÄ5¾ÍÊÇX-Window£¬ÎªÄ¬ÈÏÔËÐм¶±ð£¬Ò»°ãÎÒÃǰÑ5¸ÄΪ3¼´¿É¡£
Ò»¹²ÓÐ7ÖÖÆô¶¯¼¶±ð£¬·Ö±ðΪ£º # 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this) ¸÷¸öÔËÐм¶µÄÏêϸ½âÊÍ£º
0 Ϊͣ»ú£¬»úÆ÷¹Ø±Õ¡£
1 Ϊµ¥Óû§Ä£Ê½£¬¾ÍÏñWin9xϵݲȫģʽÀàËÆ¡£
2 Ϊ¶àÓû§Ä£Ê½£¬µ«ÊÇûÓÐNFSÖ§³Ö¡£
3 ΪÍêÕûµÄ¶àÓû§Ä£Ê½£¬ÊDZê×¼µÄÔËÐм¶¡£
4 Ò»°ã²»Óã¬ÔÚÒ»Ð©ÌØÊâÇé¿öÏ¿ÉÒÔÓÃËüÀ´×öһЩÊÂÇé¡£ÀýÈ ......
Ç°ÃæÒ²ÓнéÉܹýAdobe AIR£¬²»¹ýÊÇWindowsƽ̨£¬×î½üÓÐһʷ³ÐÄ£ºLinuxQQÌ«À¬»ø£¬wine qqÌ«Âý£¬web qq²»·½±ã£¬ÄÇÔõô°ìÄØ£¿
ÎÒÏëµ½ÁËair¡£
Ê×Ïȵ±È»ÒªÏÂÔØsdkºÍruntime£ºhttp://www.adobe.com/cn/products/air/tools/sdk/
×îÖØÒªµÄÊÇÏÈÏÂÔØruntime£¬ÔÚÍøÕ¾µÄ×îµ×²¿Óиö
Á¢¼´ÏÂÔØ Adobe AIR
ÕâÑùµÄÁ´½Ó£¬µã½øÈ¥¾ÍÊÇÏÂÔØÁË£¬ÔÚÏÂÔØÒ³Ãæ»áÌáʾÄãÊÇLinux°æÓû§£¬Èç¹ûÊÇ£¬ÄǾͼÌÐø£¬²»ÊÇ£¬ÄǾͽøÐÐÑ¡Ôñ¡£
ÏÂÔØ»áµ¯³öÒ»¸ö¿ò£¨ÎÒÓÃfirefox£©AdobeAIRInstaller.bin£¬µã±£´æÎļþÔÙѡȷ¶¨¡£
ÏÂÔØÄ¬ÈÏ»áÏÂÔØµ½~/ÏÂÔØ£¬ËùÒÔ´ò¿ªÖÕ¶Ë£º
cd ÏÂÔØ
ÏÖÔÚÄã¿ÉÄÜ»áÆÈ²»¼°´ýµØ./AdobeAIRInstaller.bin
±ð¼±£¬bash»áÌáʾÄãȨÏÞ²»×ã¡£
²»ÓÃ׿±£¬ÎÒÃÇÀ´£ºchmod +x AdobeAIRInstaller.bin
È»ºóÖ´ÐУ¬¾Í¿ÉÒÔÁË£¬»áÓа²×°Ïòµ¼¡£
½ÓÏÂÀ´ÏÂÔØ¸öSDK£¬»¹ÊÇ×îÉÏÃæµÄÁ´½Ó¡£
ÓÐÕâÑùÒ»¸öÑ¡ÏÎÒÒÑÔĶÁ Adobe AIR SDK Ðí¿ÉÖ¤
, ²¢ÇÒͨ¹ýÏÂÔØÒÔÏÂÁгöµÄÈí¼þ, ÎÒͬÒâ¸ÃÐÒéµÄÌõ¿î¡£
Ñ¡ÖжԹ³£¬¾Í»áÏÔʾSDKÏÂÔØÁ´½Ó£¬µã»÷ÏÂÔØÊÊÓÃÓÚ Linux µÄ Adobe AIR SDK
¡£»áÓÐÒ»¸öAdobeAIRSDK.tbz2ÒªÏÂÔØ£¬ÏÂÔØºÃÁË¡£
Óù鵵¹ÜÀíÆ÷´ò¿ª£¬½âѹ³öÀ´£¬Õâʱ£¬Adobe AIR SDKÏÂÔØÍê±Ï£¡
È»ºó¿ÉÒÔ¿ªÊ¼Ð´³ÌÐòÁË¡£½éÉ ......
Linux + JDK + Tomcat + MySQL + JDBC °²×°ÊÖ¼Ç
Ò»¡¢Red Hat Linux
1.·ÖÇø
| swap 512 M
| /boot 100 M
10G¿Õ¼ä | /home 1000M
| / 2000M
| /usr &nbs ......
Linux + JDK + Tomcat + MySQL + JDBC °²×°ÊÖ¼Ç
Ò»¡¢Red Hat Linux
1.·ÖÇø
| swap 512 M
| /boot 100 M
10G¿Õ¼ä | /home 1000M
| / 2000M
| /usr &nbs ......
#include <unistd.h>
#include <fcntl.h>
#include
<sys/types.h>
#include <sys/ioctl.h>
#include
<stdlib.h>
#include <stdio.h>
#include
<linux/soundcard.h>
/* ÏÂÃæµÄÈý¸ö²ÎÊýÊǸú¾ßÌåÎļþÏà¹ØµÄ£¬ÎļþʲôÑù£¬¾ÍÒªÉèÖóÉʲôÑù */
#define RATE 11025
#define SIZE 16
#define CHANNELS
2 // 1±íʾµ¥ÉùµÀ£¬2ΪÁ¢ÌåÉù
/* ................ */
unsigned char
buf[RATE*SIZE/8]; //bufÀïÃæÕýºÃ·ÅÒ»ÃëÖÓµÄÒôƵ£¬ÏÂÃæµÄ¼ÆÊ±»¹ÒªÓÃ
int main()
{
int fd;
int wavfd; //wavÎļþµÄÃèÊö·û
int arg; /* ..ioctl..... */
int status; /*
........ */
/* ...... */
fd = open("/dev/dsp",
O_RDWR);
if (fd < 0) {
&n ......
#include <unistd.h>
#include <fcntl.h>
#include
<sys/types.h>
#include <sys/ioctl.h>
#include
<stdlib.h>
#include <stdio.h>
#include
<linux/soundcard.h>
/* ÏÂÃæµÄÈý¸ö²ÎÊýÊǸú¾ßÌåÎļþÏà¹ØµÄ£¬ÎļþʲôÑù£¬¾ÍÒªÉèÖóÉʲôÑù */
#define RATE 11025
#define SIZE 16
#define CHANNELS
2 // 1±íʾµ¥ÉùµÀ£¬2ΪÁ¢ÌåÉù
/* ................ */
unsigned char
buf[RATE*SIZE/8]; //bufÀïÃæÕýºÃ·ÅÒ»ÃëÖÓµÄÒôƵ£¬ÏÂÃæµÄ¼ÆÊ±»¹ÒªÓÃ
int main()
{
int fd;
int wavfd; //wavÎļþµÄÃèÊö·û
int arg; /* ..ioctl..... */
int status; /*
........ */
/* ...... */
fd = open("/dev/dsp",
O_RDWR);
if (fd < 0) {
&n ......