Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(5)

2008-07-07 22:09
6£¬TCP filterµÄÔ­Àí£º
µ±filterÊÕµ½Ä³¸öÁ¬½ÓµÄµÚÒ»¸ö±¨ÎÄʱ£¬»áΪ¸ÃÁ¬½ÓÔÚÈ«¾ÖÁ¬½Ó±íÖд´½¨Ò»¸ö±íÏ²¢Óñ¨ÎÄÖÐЯ´øµÄÔ´¡¢Ä¿µÄIPºÍ¶Ë¿ÚÕâ¸öËÄÔª×é´´½¨original tupleºÍreply tuple£¬ÕâÁ½¸ötuple·Ö±ð´Ó²»Í¬·½ÏòÀ´±êʶÕâ¸öÁ¬½Ó¡£ºóÐøµÄ±¨ÎÄ»á¸ù¾ÝÆäЯ´øµÄËÄÔª×éÕÒµ½ÏàÓ¦µÄÁ¬½Ó±íÏȻºó¸ù¾Ý±íÏîËù¼Ç¼ ......

LinuxÎļþ´ò°ü½â°ü(tar with gzip & bzip2)

´ò°ü: tar [-j] | [-z] [cv] [-f tar°üÎļþ] Òª´òÈë°üµÄÔ´Îļþ
½â°ü: tar [-j] | [-z] [xv] [-f tar°üÎļþ] [-C Ö¸¶¨½â°üµÄĿ¼]
²é¿´: tar [-j] | [-z] [tv] [-f tar°üÎļþ]
³£ÓõĴò°üÑ¡Ïî:
Ñ¡Ïî
ÃèÊö
-c
½¨Á¢tar°üÎļþ
-t
²é¿´tar°üÎļþÖеÄÎļþÁбí
-x
½â¿ªtar°üÎļþ
-C path
Óë½â°üÑ¡Ïî(-x)ÅäºÏʹÓÃ,Ö¸¶¨ ......

LinuxÒ»¾ä»°ÎÊÌâ½â´ðÖ®¶þ

1101 linuxÖп̼isoµÄ·½·¨(hutuworm)
·½·¨Ò»£ºÊ¹ÓÃxcdroast£¬Ñ¡ÔñÖÆ×÷¹âµú£¬Ñ¡ÔñISOÎļþ£¬¿Ì¼!
²Î¼û[url]http://www.xcdroast.org/xcdr098/faq-a15.html#17[/url]
·½·¨¶þ£ºÕҿ̼»úµÄÃüÁ
cdrecord --scanbus
Êä³ö½á¹ûΪ£º
0,0,0 0) 'ATAPI ' 'CD-R/RW 8X4X32 ' '5.EZ' Removable CD-ROM
¿Ì¼µÄÃüÁ
cdrecord ......

linuxÓëj2ee

Linux ³£ÓÃÃüÁî
Linux ϵͳ³£ÓÃÃüÁî¸ñʽ£º
    command  [option]  [argument1]  [argument2]  ...
ÆäÖÐoptionÒÔ“-”¿ªÊ¼£¬¶à¸öoption¿ÉÓÃÒ»¸ö“-”Á¬ÆðÀ´£¬Èç“ls -l -a” Óë“ls -la”µÄЧ¹ûÊÇÒ»ÑùµÄ¡£¸ù¾Ýà ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ