Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux 0.11 ÄÚºËѧϰ bitmap.c


/*
 *  linux/fs/bitmap.c
 *
 *  (C) 1991  Linus Torvalds
 */
/* bitmap.c contains the code that handles the inode and block bitmaps */
#include <string.h>
#include <linux/sched.h>
#include <linux/kernel.h> // һЩÄں˳£Óú¯ÊýµÄÔ­Ðζ¨Òå
/* ½«Ö¸¶¨µØÖ·(addr)´¦µÄÒ»¿éÄÚ´æÇåÁã */
#define clear_block(addr) \
__asm__("cld\n\t" \
"rep\n\t" \
"stosl" \
::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr)):"cx","di")
/* ÖÃλָ¶¨µØÖ·¿ªÊ¼µÄµÚnr ¸öÎ»Æ«ÒÆ´¦µÄ±ÈÌØÎ» */
#define set_bit(nr,addr) ({\
register int res __asm__("ax"); \
__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \
"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \
res;})
/* ¸´Î»Ö¸¶¨µØÖ·addr¿ªÊ¼µÄµÚnr Î»Æ«ÒÆ´¦µÄ±ÈÌØÎ» */
#define clear_bit(nr,addr) ({\
register int res __asm__("ax"); \
__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \
"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \
res;})
/* ´Óaddr ¿ªÊ¼Ñ°ÕÒµÚ1 ¸ö0 Öµ±ÈÌØÎ»£¬²¢½«Æä¾àÀëaddr µÄ±ÈÌØÎ»Æ«ÒÆÖµ·µ»Ø */
#define find_first_zero(addr) ({ \
int __res; \
__asm__("cld\n" \
"1:\tlodsl\n\t" \
"notl %%eax\n\t" \
"bsfl %%eax,%%edx\n\t" \
"je 2f\n\t" \
"addl %%edx,%%ecx\n\t" \
"jmp 3f\n" \
"2:\taddl $32,%%ecx\n\t" \
"cmpl $8192,%%ecx\n\t" \
"jl 1b\n" \
"3:" \
:"=c" (__res):"c" (0),"S" (addr):"ax","dx","si"); \
__res;})
/* ¸´Î»Ö¸¶¨Âß¼­¿éblock £¨Ïà¶ÔÓÚ´ÅÅ̶øÑÔ£©µÄÂß¼­¿éλͼ±ÈÌØÎ» */
void free_block(int dev, int block)
{
struct super_block * sb;
struct buffer_head * bh;
if (!(sb = get_super(dev))) // ȡָ¶¨É豸dev µÄ³¬¼¶¿é
panic("trying to free block on nonexistent device"); // É豸²»´æÔÚ
// ÈôÂß¼­¿éºÅСÓÚÊ׸öÂß¼­¿éºÅ»òÕß´óÓÚÉ豸ÉÏ×ÜÂß¼­¿éÊý
if (block < sb->s_firstdatazone || block >= sb->s_nzones)
panic("trying to free block not in datazone");
bh = get_hash_table(dev,block); // ´Óhash ±íÖÐѰÕҸÿéÊý¾Ý
if (bh) // ºÏ·¨£¿ 
{
if (bh->b_count != 1) // Ö»Óиýø³ÌÕ¼¾Ýblock
{
printk("trying to free block (%04x:%d), count=%d\n",


Ïà¹ØÎĵµ£º

Linuxѧϰ±Ê¼Ç——DHCP·þÎñ


£­¡¢¸ÅÄî
       1¡¢DHCP£º¶¯Ì¬Ö÷»úÅäÖÃЭÒé
                     ×÷ÓãºÓÃÓÚ¼ò»¯IPÅä¹ÜÀíµÄTCP/IP±ê×¼¡£
       2¡¢DHCP¹¤×÷Á÷³Ì£º
 &nb ......

linuxÏÂvncserverÅäÖÃÓëwinÏÂvnc¿Í»§¶Ë


linuxÏÂvncserverÅäÖÃÓëwinÏÂvnc¿Í»§¶Ë


8 Nov, 2008
 
¹ÜÀí&·þÎñ

< type="text/javascript"><!--
google_ad_client = "pub-7056129240767270";
/* 300x250, ´´½¨ÓÚ 09-2-13 */
google_ad_slot = "270491 ......

linuxÏÂj2eeµÄ²¿Êð

            ×îÐÂliuxÏÂtomcat5.5.25+mysql5.0.45+jdk1.0.5.13+eclipse3.3.1+myeclipse6.0ÅäÖÃ
Ò»¡¢°²×°ËùÐèÈí¼þ°ü£º
1.JDK 5.0 Update 13(jdk-1_5_0_13-linux-i586-rpm.bin)
ÏÂÔØµØÖ·£º
http://sdlc-esd.sun.com/ESD36/JSCDL/jdk/1.5.0_13/jdk-1_5_0_13-linux ......

linuxÓëj2ee

Linux ³£ÓÃÃüÁî
Linux ϵͳ³£ÓÃÃüÁî¸ñʽ£º
    command  [option]  [argument1]  [argument2]  ...
ÆäÖÐoptionÒÔ“-”¿ªÊ¼£¬¶à¸öoption¿ÉÓÃÒ»¸ö“-”Á¬ÆðÀ´£¬Èç“ls -l -a” Óë“ls -la”µÄЧ¹ûÊÇÒ»ÑùµÄ¡£¸ù¾Ýà ......

zz GDB¸ÅÊö£¨LINUXϵĸú×Ùµ÷ÊÔ£©


GDBÊÇGNU¿ªÔ´×éÖ¯·¢²¼µÄÒ»¸öÇ¿´óµÄUNIXϵijÌÐòµ÷ÊÔ¹¤¾ß¡£»òÐí£¬¸÷λ±È½Ïϲ»¶ÄÇÖÖͼÐΠ
½çÃæ·½Ê½µÄ£¬ÏñVC¡¢BCBµÈIDEµÄµ÷ÊÔ£¬µ«Èç¹ûÄãÊÇÔÚUNIXƽ̨ÏÂ×öÈí¼þ£¬Äã»á·¢ÏÖGDBÕâ¸ö 
µ÷ÊÔ¹¤¾ßÓбÈVC¡¢BCBµÄͼÐλ¯µ÷ÊÔÆ÷¸üÇ¿´óµÄ¹¦ÄÜ¡£Ëùν“´çÓÐËù³¤£¬³ßÓÐËù¶Ì”¾ÍÊÇÕâ 
¸öµÀÀí¡£ 
 
Ò» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ