linuxËøµÄÓ¦ÓÃ
ѧ¹ý²Ù×÷ϵͳµÄÈËÖªµÀÓÐÒ»¸ö·Ç³£ÖøÃûµÄÎÊÌ⣺¶ÁÕߣдÕßÎÊÌâ¡£¶ÁÕߣдÕßÎÊÌâÊÇָϵͳµ±ÖеĵÄ×ÊÔ´ÔÚijһʱ¼äÀï¿ÉÒÔͬʱÔÊÐí¶à¸ö½ø³Ì¶Á£¬µ«Ö»ÔÊÐíÒ»¸ö½ø³Ìд¡£Õâ¸ö½ø³Ìͬ²½ÎÊÌâµÄ½â·¨ÓÐÐí¶àÖÖ£¬ÔÚwindowϵͳÀïÓû¥³â±äÁ¿À´½øÐнø³ÌµÄͬ²½¡£ÔÚLinuxÀïÓÐÁíÒ»ÖÖ·½·¨£¬ÄǾÍÊÇÎļþËø£¬ÎļþËøÀïµÄÎļþ²»µ¥µ¥Ö»Ö¸Æ½Ê±Ëù˵µÄÎļþËüÓ¦°üº¸ü¹ã·ºµÄº¬Òâ¡£¼´Ò²Ö¸ÏµÍ³ËùÓпÉÒÔ·ÃÎʵÄϵͳ×ÊÔ´¡£¿ÉÒÔ¸øÎļþ¼Ó¶ÁËø£¬Ò²¿ÉÒÔ¸øÎļþ¼ÓÐ´Ëø£¬Ò»¸ö½ø³Ì¸øÒ»¸öÎļþ¼Ó¶ÁËøºóÆäËûµÄ½ø³ÌÒ²¿ÉÒÔ¸øÕâ¸öÎļþ¼Ó¶ÁËø£¬µ«ÊDz»¿ÉÒÔ¸øÕâ¸öÎļþ¼ÓÐ´Ëø£¬Ö±µ½¸øÕâ¸öÎļþ¼Ó¶ÁËøµÄËùÓнø³Ì¶¼ReleaseÁËËü×Ô¼ºËù¼ÓµÄËøºó²Å¿ÉÒÔ¡£Èç¹ûÒ»¸ö½ø³Ì¸øÒ»¸öÎļþ¼ÓÐ´Ëøºó£¬²»ÔÊÐíÆäËü½ø³Ì¶ÔÕâ¸öÎļþ¼ÓÈκεÄËø¡£ÏÂÃæÊÇËøµÄ¾ßÌåÓ¦Óᣣ¯
ÆäÖÐÓõ½Á˶à¸öϵͳº¯Êý£ºfcntl(),getpid(),getchar,open(),flock£¬read(),write()¡£
#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<string.h>
int lock_set(int fd,struct flock *lock)
{
if(fcntl(fd,F_SETLK,lock)==0)
{
if(lock->l_type==F_RDLCK)
printf("set read lock,pid:%d\n",getpid());
else if(lock->l_type==F_WRLCK)
printf("set write lock,pid:%d\n",getpid());
else if(lock->l_type=F_UNLCK)
printf("release lock,pid:%d\n",getpid());
}
else
{
printf("set lock operatiion fail\n");
return -1;
}
return 0;
}
int lock_test(int fd,struct flock *lock)
{
if(fcntl(fd,F_GETLK,lock)==0)
{
if(lock->l_type==F_UNLCK)
printf("lock can be set by fd\n");
else{
if(lock->l_type=F_RDLCK)
printf("can't set lock,read lock can be set by:%d\n",lock->l_pid);
el
Ïà¹ØÎĵµ£º
Õⲿ·ÖÄÜÓñ¾×ÅÏë¼Ç¾Í¾Í¼Ç£¬Ïë²»ÆðÀ´¾Í²»¼ÇµÄÔÔò¡£Í¬ÊdzöÓÚÁ·Ï°Ó¢ÎĵÄÄ¿µÄ£¬²¿·Ö²»ÖØÒªÄÚÈݼƻ®ÓÃÓ¢ÎÄ¡£
ÊÂÏÈ˵Ã÷ÎÒ¶ÁµÄÊÇlinux1.0£¬ÕâÀï¿ÉÒÔ¼¸ºõ²»ÓÃÔõô¿´µ½lock ǰ׺£¬¶¼Êǵ¥cpu£¬Í¬Ê±ÓÐÒýµ¼³ÌÐò¡£ Ê×ÏÈ˵Ã÷cpuΪʲô»áÔËתÆðÀ´£º
1£ºcpuÉϵçºó»á´Óijһ¸öµØÖ·¿ªÊ¼Ë³ÐòÖ´ÐгÌÐò£¬µ±È»´ËʱÊÇʵģʽ£¨Èç¹ûÎÊʲôÊÇʵģ ......
´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:Platform_deviceºÍPlatform_driver¡£
LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃPlatform_device±íʾ£¬Çý¶¯ÓÃPlatform_driver½øÐÐ×¢²á¡£
Linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔµÄÓ ......
1¡¢×ܽᱳ¾°
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not
found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²
ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾°¸Àý»ùÓÚRedHat ......
ÔÀí£ºÊ¹ÓÃWindowsϵÄÁ¬½Ó×÷ÎªÍø¹Ø¡£Linux×÷Ϊһ¸öÐéÄâµÄ¿Í»§¶Ëͨ¹ýÕâ¸öWindowsϵÄÁ¬½ÓÁ¬ÉÏÍø¡£ 1¡¢ÉèÖÃWindowsϵı¾µØÁ¬½Ó´ðÓ¦VMwareµÄÐéÄâÍø¿¨À´¹²ÏíÉÏÍø¡£(ºÜÖØÒª£¡) 2¡¢ÉèÖÃWindowsϵÄVMware²úÉúµÄÐéÄâÍø¿¨1¡£½«ÆäIPÉèÖÃΪ192.168.0.1¡£×ÓÍøÑÚÂëΪ255.255.255.0¡£ 3¡¢ÉèÖÃVMwareµÄÍø¿¨ÎªHost-only 4¡¢Æô¶¯L ......