linux 0.11 ÄÚºËѧϰ inode.c
/*
* linux/fs/inode.c
*
* (C) 1991 Linus Torvalds
*/
#include <string.h>
#include <sys/stat.h> // Îļþ״̬ͷÎļþ
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <asm/system.h>
struct m_inode inode_table[NR_INODE]={{0,},}; // ÄÚ´æÖÐi ½Úµã±í
static void read_inode(struct m_inode * inode);
static void write_inode(struct m_inode * inode);
/* µÈ´ýÖ¸¶¨µÄi ½Úµã¿ÉÓà */
static inline void wait_on_inode(struct m_inode * inode)
{
cli();
while (inode->i_lock) // // Èç¹ûi ½ÚµãÒѱ»Ëø¶¨
sleep_on(&inode->i_wait); // ²»¿ÉÖжϵĵȴý״̬
sti();
}
/* ¶ÔÖ¸¶¨µÄi ½ÚµãÉÏËø */
static inline void lock_inode(struct m_inode * inode)
{
cli();
while (inode->i_lock)
sleep_on(&inode->i_wait);
inode->i_lock=1; // ÖÃËø¶¨±êÖ¾
sti();
}
/* ¶ÔÖ¸¶¨µÄi ½Úµã½âËø */
static inline void unlock_inode(struct m_inode * inode)
{
inode->i_lock=0; // ¸´Î»i ½ÚµãµÄËø¶¨±êÖ¾
wake_up(&inode->i_wait); // »½Ðѵȴý´Ëi ½ÚµãµÄ½ø³Ì
}
/* ÊÍ·ÅÄÚ´æÖÐÉ豸dev µÄËùÓÐi ½Úµã */
void invalidate_inodes(int dev)
{
int i;
struct m_inode * inode;
inode = 0+inode_table;
for(i=0 ; i<NR_INODE ; i++,inode++)
{
wait_on_inode(inode); // µÈ´ý¸Ãi ½Úµã¿ÉÓÃ
if (inode->i_dev == dev)
{
if (inode->i_count) // Èç¹ûÆäÒýÓÃÊý²»Îª0
printk("inode in use on removed disk\n\r");
inode->i_dev = inode->i_dirt = 0; // ÊͷŸÃi ½Úµã£¬Ö»ÊÇÒ»¸ö±ê¼Ç
}
}
}
/* ͬ²½ÄÚ´æ(inodeÊý×é)ÓëÉ豸ÉϵÄËùÓÐi ½ÚµãÐÅÏ¢ */
void sync_inodes(void)
{
int i;
struct m_inode * inode;
inode = 0+inode_table; // µÚÒ»Ïî
for(i=0 ; i<NR_INODE ; i++,inode++)
{
wait_on_inode(inode); // µÈ´ý¸Ãi ½Úµã¿ÉÓÃ
// Èç¹û¸Ãi ½ÚµãÒÑÐÞ¸ÄÇÒ²»ÊǹܵÀ½Úµã
if (inode->i_dirt && !inode->i_pipe)
write_inode(inode); // дÅÌ
}
}
/* ÎļþÊý¾Ý¿éÓ³Éäµ½ÅÌ¿éµÄ´¦Àí²Ù×÷£¬¿ÉÄÜÐèÒª½¨Á¢ÐµÄÂß¼¿é */
static int _bmap(struct m_inode * i
Ïà¹ØÎĵµ£º
J2ee³ÌÐòÔ±Ó¦¸ÃÕÆÎÕµÄlinux֪ʶ
¿ª·¢ÕßÔÚÏß Builder.com.cn ¸üÐÂʱ¼ä:2007-09-01×÷ÕߣºÖйúITʵÑéÊÒ À´Ô´:ÖйúITʵÑéÊÒ
±¾ÎĹؼü´Ê£º Linux J2ee
¡¡Ò»°ã´óÐÍJ2EEÓ¦Óö¼ÔÚ½¨¹¹ÔÚlinux»·¾³Ïµġ£¿ª·¢»·¾³ÏÂÎÒÃÇ¿ÉÒÔͨ¹ýsambaÓ³Éä³É±¾µØµÄÍøÂçÇý¶¯Æ÷£¬Ö±½ÓÔÚwindows»·¾³Ï½øÐбà³Ìµ÷ÊÔ¡£µ«ÊÇ×îºóµÄ·¢²¼»¹ÊÇÒªµ½linux»·¾³£¬ ......
ÏêϸµÄ½éÉÜÁËJ2EE 1.4 application Server for LinuxµÄ°²×°ÓëÅäÖá£ÖµµÃ½è¼ø¡£
By Jawa from LinuxAID Forum
¢Ù ²ÉÓÃRedhatLinux 9 Personal ¼òÌåÖÐÎİæµÄÍêÈ«°²×°(5GB)£¬
¡¡¡¡¡¡¡¡¡¡ °²×°Íê±ÏºóMySQL 3ºÍMozilla 1.2.1µÈÈí¼þÒѱ»°²×°µ½LinuxÖС£±¾ËµÃ÷Õë¶ÔLinux×Ô´øµÄÔÓÐMySQL£¬²»ÁíÐа²×°MySQL¡£ÎªÁË ......
Linux ³£ÓÃÃüÁî
Linux ϵͳ³£ÓÃÃüÁî¸ñʽ£º
command [option] [argument1] [argument2] ...
ÆäÖÐoptionÒÔ“-”¿ªÊ¼£¬¶à¸öoption¿ÉÓÃÒ»¸ö“-”Á¬ÆðÀ´£¬Èç“ls -l -a” Óë“ls -la”µÄЧ¹ûÊÇÒ»ÑùµÄ¡£¸ù¾Ýà ......
ÏÂÔØ SDK
ϵͳºÍÈí¼þÐèÇó
ÓÃAndroid sdkµÄ´úÂëºÍ¹¤¾ß¿ª·¢AndroidÓ¦ÓóÌÐò,ÄãÐèÒªÏÂÃæÁгöÀ´µÄºÏÊÊ¿ª·¢µçÄԺͿª·¢»·¾³.
ËùÐè²Ù×÷ϵͳ:
•Windows XP »ò Vista
•Mac OS X 10.4.8 »ò¸ü¸ß°æ±¾ (½öÖ§³Öx86)
•Linux ( Linux Ubuntu Dapper Drake °æ±¾ÒѲâÊÔ)
ËùÐ迪·¢»·¾³:
•Eclipse IDE
◦Ecli ......
ÔÀ´ÓÉÓÚѧϰ¹¤×÷µÄÐèÒª£¬ÔÚXPÏÂ×°ÁËLINUXϵͳ£¬°²×°XP/LINUX˫ϵͳÂé·³£¬Ã»Ïëµ½Ð¶ÔØÒ²Âé·³¡£¸Õ¿ªÊ¼ÒÔΪ°Ñ×°LINUXϵͳµÄÄǸöÅ̸ñʽ»¯¾ÍOKÁË£¬½á¹ûÖØÆôºóÈÔÈ»³öÏÖÄǸö¿ÉºÞµÄgrubÒýµ¼½çÃæ¡£Ò»ÆøÖ®Ï£¬ÖØ×°CÅÌ£¬grub½çÃæÃ»ÁË£¬¿ÉÈ´½ø²»ÁËϵͳ¡£ÍøÉ϶෽²éÕÒ£¬×îºó½â¾ö°ì·¨£ºÏÂÔØmbrfixÎļþµ½uÅÌ£¬ÓÃϵͳÅ̽øÈëµ½WINPE£¬½«mbrfi ......