Linux lock_kernel()º¯ÊýµÄ·ÖÎö¡£
ÕâÖ»ÊÇÔÝʱµÄ¼Ç¼£¬ÒÔºó»á°ÑËü¹éÀൽstart_kernel()º¯ÊýµÄ·ÖÎö¡£ÔÚ·ÖÎö֮ǰ£¬ÎÒÏÈҪ˵˵¼¸¸ö¸ÅÄî¡£
ÄÚºËÇÀÕ¼£ºÔÚ2.6Äں˼ÓÈëÁËÇÀÕ¼µÄÄÜÁ¦£¬¾ÍÊÇ˵µ÷¶È³ÌÐòÓа취ÔÚÒ»¸öÄں˼¶µÄÈÎÎñÕýÔÚÖ´ÐеÄʱºò´Óе÷¶È¡£µ«ÊDZØÐëÒª±£Ö¤ÖØÐµ÷¶ÈÒª°²È«£¬ÕâÑù¾ÍÒª¿¿Ò»°ÑËøÀ´±£Ö¤ÁË¡£
¼ÆÊýÆ÷£¨thread_info.[reempt_count£©£ºÆäʵҲ¿ÉÒÔ°ÑËû½Ð³ÉËøµÄ£¬ËüµÄ³õÖµ¶¨ÒåΪ0£¬Ã¿µ±Ê¹ÓÃËøµÄʱºò¼Ó1.
ºÃÁË£¬ÎÒÃÇÏÖÔÚÀ´¿´¿´lock_kernel()µÄ¾ßÌå´úÂëÀ²£¨2.6.10°æ±¾µÄ£©
#ifndef __LINUX_SMPLOCK_H
#define __LINUX_SMPLOCK_H
#include <linux/config.h>
#include <linux/sched.h>
#include <linux/spinlock.h>
#ifdef CONFIG_LOCK_KERNEL
#define kernel_locked() (current->lock_depth >= 0)
extern int __lockfunc get_kernel_lock(void);
extern void __lockfunc put_kernel_lock(void);
/*
* Release/re-acquire global kernel lock for the scheduler
*/
#define release_kernel_lock(tsk) do { \
if (unlikely((tsk)->lock_depth >= 0)) \
put_kernel_lock(); \
} while (0)
/*
* Non-SMP kernels will never block on the kernel lock,
* so we are better off returning a constant zero from
* reacquire_kernel_lock() so that the compiler can see
* it at compile-time.
*/
#ifdef CONFIG_SMP
#define return_value_on_smp return
#else
#define return_value_on_smp
#endif
static inline int reacquire_kernel_lock(struct task_struct *task)
{
if (unlikely(task->lock_depth >= 0))
return_value_on_smp get_kernel_lock();
return 0;
}
extern void __lockfunc lock_kernel(void) __acquires(kernel_lock);
extern void __lockfunc unlock_kernel(void) __releases(kernel_lock);
#else
#define lock_kernel() do { } while(0)
#define unlock_kernel() do { } while(0)
#define release_kernel_lock(task) do { } while(0)
#define reacquire_kernel_lock(task) 0
#define kernel_locked() 1
#
Ïà¹ØÎĵµ£º
ÍøÉÏÓкܶà×ÊÁÏ£¬Ò²ÊDzο¼eygleµÄÎĵµ¡£
OS : Redhat AS 4 U5
DB : Oracle 10.2.0.3
1.ÐÞ¸Äjdk ÏÂÃæµÄ×ÖÌå¡£
[oracle@rac2 db_1]$ cd $ORACLE_HOME/jdk/jre/lib/
[oracle@rac2 lib]$ mv font.properties font.properties_bak
[oracle@rac2 lib]$
[oracle@rac2 lib]$ cp font.properties.zh_CN.Redhat font.propertie ......
´ÇÖ°Ö®ºóһֱûÓÐÕÒ¹¤×÷£¬²»ÊÇÕÒ²»µ½£¬Ö»ÊDz»ÂúÒâ´ýÓöÎÊÌâ¡£ÔÚ´òÁËÒ»¸öÔÂÓÎÏ·Ö®ºóÓÚ×òÌ쿪ʼ½Ó´¥linuxϵͳ¡£
ÎÒÓõÄÊÇubuntu£¬¾ßÌå°²×°µÄʱºòûÓÐ×ÐϸµÄ·ÖÇø£¬Ö÷ÒªÊÇ/boot·ÖÁË256M£»¹ÒÔØµã£¨swap)·ÖÁË1GB£»/·ÖÁËËùÓеġ£
ÔÚ°²×°Ö®ºóÓöµ½µÄµÚÒ»¸öÎÊÌâÊÇÒÔǰwindowsϵÄrar²»Äܽâѹ£¬ËæºóÕÒÁËÒ»Ð©ÍøÂçÏà¹ØµÄÎļþ¡£¾ßÌå·½·¨Ê ......
ÉùÃ÷£º´Ëµ÷²é½á¹ûÈçÓдíÎ󣬾´ÇëÖ¸Õý¡£Ð»Ð»^_^
LinuxÏÂÎļþ¶ÔÓ¦µÄÊôÐÔ
struct stat {
mode_t st_mode; //Îļþ¶ÔÓ¦µÄģʽ£¬Îļþ¡¢Ä¿Â¼µÈ
ino_t ......
ÀëÉÏһƪÈÕÖ¾ºÜ³¤Ê±¼äÁË£¬Öм䵱ȻÊÇÒòΪ¹ýÄ꣬ÊÂÇéºÜ¶à£¬Êéû¿´¶àÉÙ£¬ÏÖÔÚÓÐʱ¼äÁË£¬ÔÙ·¢Ò»Æª±Ê¼Ç´æµµ£¬ÊǹØÓÚϵͳÆô¶¯¹ý³ÌµÄ£º
Ò»ÇдӼӵ翪ʼ¡£¼ÓµçÒÔºó£¬ËùÓеļĴæÆ÷Çå0£¬Ö»ÓÐCS¼Ä´æÆ÷Ϊȫ1£¬ÓÚÊÇÖ¸ÕëÖ¸ÏòÁË0xffff:0, Õâ¸öµØÖ·ÊÇ ROM-BIOSµØÖ·£¬ ÔÚ´Ë·ÅÖúͳÌÐò¿ªÊ¼×öµÄÊÂÇéÊÇÖ´ÐÐһЩϵͳ¼ì²â£¬²¢ÔÚÎïÀíµØÖ·0´¦¿ªÊ¼³ ......