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һ¸öµØÖ·¿ªÊ¼Ë³ÐòÖ´ÐгÌÐò£¬µ±È»´ËʱÊÇʵģʽ£¨Èç¹ûÎÊʲôÊÇʵģ ......
6.7.1 LinuxʹÓõĻº´æ
²»¹ÜÔÚÓ²¼þÉè¼Æ»¹ÊÇÈí¼þÉè¼ÆÖУ¬¸ßËÙ»º´æÊÇ»ñµÃ¸ßÐÔÄܵij£ÓÃÊֶΡ£Linux ʹÓÃÁ˶àÖÖºÍÄÚ´æ¹ÜÀíÏà¹ØµÄ¸ßËÙ»º´æ¡£
1£® »º³åÇø¸ßËÙ»º´æ£º
»º³åÇø¸ßËÙ»º´æÖаüº¬ÁËÓÉ¿éÉ豸ʹÓõÄÊý¾Ý»º³åÇø¡£ÕâЩ»º³åÇøÖаüº¬ÁË´ÓÉ豸ÖжÁÈ¡µÄÊý¾Ý¿é»òдÈëÉ豸µÄÊý¾Ý¿é¡£»º³åÇø¸ßËÙ»º´æÓÉÉ豸±êʶºÅºÍ¿é±êºÅË÷Òý£¬Ò ......
1. I/O Port
¡¡¡¡ºÍÓ²¼þ´ò½»µÀÀë²»¿ªI/O Port£¬ÀϵÄISAÉ豸¾³£ÊÇÕ¼ÓÃʵ¼ÊµÄI/O¶Ë¿Ú£¬ÔÚlinuxÏ£¬²Ù×÷ϵͳûÓжÔI/O¿ÚÆÁ±Î£¬Ò²¾ÍÊÇ˵£¬ÈκÎÇý¶¯³ÌÐò¶¼¿É¶ÔÈÎÒâµÄI/O¿Ú²Ù×÷£¬ÕâÑù¾ÍºÜÈÝÒ×ÒýÆð»ìÂÒ¡£Ã¿¸öÇý¶¯³ÌÐòÓ¦¸Ã×Ô¼º±ÜÃâÎóÓö˿ڡ£
¡¡¡¡ÓÐÁ½¸öÖØÒªµÄkernelº¯Êý¿É ......
fg¡¢bg¡¢jobs¡¢&¡¢ctrl + z¶¼ÊǸúϵͳÈÎÎñÓйصģ¬ËäÈ»ÏÖÔÚ»ù±¾Éϲ»ÔõôÐèÒªÓõ½ÕâЩÃüÁµ«Ñ§»áÁËÒ²ÊǺÜʵÓõÄ
Ò»¡£& ×î¾³£±»Óõ½
Õâ¸öÓÃÔÚÒ»¸öÃüÁîµÄ×îºó£¬¿ÉÒÔ°ÑÕâ¸öÃüÁî·Åµ½ºǫִ́ÐÐ
¶þ¡£ctrl + z
¿ÉÒÔ½«Ò»¸öÕýÔÚǰִ̨ÐеÄÃüÁî·Åµ½ºǫ́£¬²¢ÇÒÔÝÍ£
Èý¡£jobs
²é¿´µ±Ç°ÓжàÉÙÔÚºǫ́ÔËÐеÄÃüÁî
ËÄ¡£fg
½ ......
1¡¢ÐÞ¸ÄkernelÅäÖã¨linux os£©
ÔÚlinuxÏ£¬ÖÕ¶Ë---½øÈë±àÒëĿ¼£¬Ö´ÐÐmake k.menuconfig£¬
ÔÚµ¯³öµÄÅäÖô°¿ÚÀïÑ¡ÔñDevice Drivers-----Amlogic Devices Driver-----Amlogic Display Driver-----setup logoºÍlogo on osd0
2¡¢Í¼Æ¬×ª»»£¨windows os£©
a¡¢´ò¿ªBitmapDataGet.exe¹¤¾ß£¬Ñ¡Ôñ32λ¡£
b¡¢Ñ¡Ôñ¼Ó ......