Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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¡¿IP·ÖÆ¬ÖØ×é·ÖÎö

±¾ÎĵµµÄCopyleft¹éyfydzËùÓУ¬Ê¹ÓÃGPL·¢²¼£¬¿ÉÒÔ×ÔÓÉ¿½±´£¬×ªÔØ£¬×ªÔØÊ±Çë±£³ÖÎĵµµÄÍêÕûÐÔ£¬ÑϽûÓÃÓÚÈκÎÉÌÒµÓÃ;¡£
msn: yfydz_no1@hotmail.com
À´Ô´£ºhttp://yfydz.cublog.cn
1. ǰÑÔ
 
¶ÔIPË鯬µÄÖØ×éÊÇ·À»ðǽÌá¸ß°²È«ÐÔµÄÒ»¸öÖØÒªÊֶΣ¬Í¨¹ýÌáǰ½øÐÐË鯬֨×飬¿ÉÒÔÓÐЧ·ÀÓù¸÷ÖÖË鯬¹¥»÷£¬LinuxÄں˵ķÀ»ðǽ ......

ѧϰ¹ý³ÌÖÐÓöµ½µÄһЩlinux²Ù×÷tips

Æô¶¯/ÖØÆô/Í£Ö¹Ò»¸ö·þÎñ
/etc/init.d/program_name start
±ÈÈçÓʼþ·þÎñÆ÷postfix¿ÉÒÔÕâÑù: sudo /etc/init.d/postfix start
------------------------------------------------
ÉèÖóÌÐòµ½Æô¶¯×éÀ
# chkconfig program_name on
±ÈÈ磺sudo chkconfig postfix on
----------------------------------------------- ......

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”µÄЧ¹ûÊÇÒ»ÑùµÄ¡£¸ù¾Ýà ......

linux£¬windows¹µÍ¨µÄÇÅÁºssh

½éÉÜSSH
ʲôÊÇSSH£¿
´«Í³µÄÍøÂç·þÎñ³ÌÐò£¬È磺ftp¡¢popºÍtelnetÔÚ±¾ÖÊÉ϶¼ÊDz»°²È«µÄ£¬ÒòΪËüÃÇÔÚÍøÂçÉÏÓÃÃ÷ÎÄ´«ËÍ¿ÚÁîºÍÊý¾Ý£¬±ðÓÐÓÃÐĵÄÈ˷dz£ÈÝÒ׾ͿÉÒԽػñÕâЩ¿ÚÁîºÍÊý¾Ý¡£¶øÇÒ£¬ÕâЩ·þÎñ³ÌÐòµÄ°²È«ÑéÖ¤·½Ê½Ò²ÊÇÓÐÆäÈõµãµÄ£¬¾ÍÊǺÜÈÝÒ×Êܵ½“ÖмäÈË”£¨man-in-the-middle£©ÕâÖÖ·½Ê½µÄ¹¥»÷¡£Ëùν“ÖÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ