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

linux 0.11 ÄÚºËѧϰ block_dev.c


/*
 * ¸ÃÎļþµÄÁ½¸öº¯ÊýÊÇΪÁËÏòopenºÍwriteº¯ÊýÌṩ½Ó¿Ú£¬ÊµÏÖÄÚºËÊý¾Ý
 * ºÍÓû§Êý¾ÝµÄ½»»¥
 */
/*
 *  linux/fs/block_dev.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <errno.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <asm/segment.h>
#include <asm/system.h>
/*
 *    |   block1   |block 2|block 3|
 * ---|-----|------|-------|-------|-------|-------|----
 * ---|-----|------|-------|-------|-------|-------|----
 *    |<--->|<---->|------>|------>|
 *    offset  chars  chars1  chars2
 * --pos--->|<--------count------->|
 */
/* ÏòÖ¸¶¨É豸´Ó¸ø¶¨Æ«ÒÆ´¦Ð´ÈëÖ¸¶¨³¤¶È×Ö½ÚÊý¾Ý£¬count - Òª´«Ë͵Ä×Ö½ÚÊý */
/* dev - É豸ºÅ£»pos - É豸ÎļþÖÐÆ«ÒÆÁ¿Ö¸Õ룻buf - Óû§µØÖ·¿Õ¼äÖлº³åÇøµØÖ· */
int block_write(int dev, long * pos, char * buf, int count)
{
// ¶ÔÓÚÄÚºËÀ´Ëµ£¬Ð´²Ù×÷ÊÇÏò¸ßËÙ»º³åÇøÖÐдÈëÊý¾Ý£¬Ê²Ã´Ê±ºòÊý¾Ý×îÖÕдÈëÉ豸ÊÇÓɸßËÙ»º³å¹ÜÀí
// ³ÌÐò¾ö¶¨²¢´¦ÀíµÄ¡£ÁíÍ⣬ÒòΪÉ豸ÊÇÒÔ¿éΪµ¥Î»½øÐжÁдµÄ£¬Òò´Ë¶ÔÓÚд¿ªÊ¼Î»Öò»´¦ÓÚ¿éÆðʼ
// ´¦Ê±£¬ÐèÒªÏȽ«¿ªÊ¼×Ö½ÚËùÔÚµÄÕû¸ö¿é¶Á³ö£¬È»ºó½«ÐèҪдµÄÊý¾Ý´Óд¿ªÊ¼´¦ÌîдÂú¸Ã¿é£¬ÔÙ½«Íê
// ÕûµÄÒ»¿éÊý¾ÝдÅÌ£¨¼´½»ÓɸßËÙ»º³å³ÌÐòÈ¥´¦Àí£©
// ÓÉpos µØÖ·»»Ëã³É¿ªÊ¼¶Áд¿éµÄ¿éÐòºÅblock¡£²¢Çó³öÐè¶ÁµÚ1 ×Ö½ÚÔڸÿéÖÐµÄÆ«ÒÆÎ»ÖÃoffset
int block = *pos >> BLOCK_SIZE_BITS;
int offset = *pos & (BLOCK_SIZE-1);
int chars;
int written = 0;
struct buffer_head * bh;
register char * p;
while (count>0) {
chars = BLOCK_SIZE - offset; // ¼ÆËãÔڸÿéÖпÉдÈëµÄ×Ö½ÚÊý
// Èç¹ûÐèҪдÈëµÄ×Ö½ÚÊýÌî²»ÂúÒ»¿é£¬ÔòÖ»Ðèдcount ×Ö½Ú
if (chars > count)
chars=count;
// Èç¹ûÕýºÃҪд1 ¿éÊý¾Ý£¬ÔòÖ±½ÓÉêÇë1 ¿é¸ßËÙ»º³å¿é
if (chars == BLOCK_SIZE)
bh = getblk(dev,block);
// ·ñÔòÐèÒª¶ÁÈ뽫±»Ð޸ĵÄÊý¾Ý¿é£¬²¢Ô¤¶Á
// ÏÂÁ½¿éÊý¾Ý£¬È»ºó½«¿éºÅµÝÔö1
else
bh = breada(dev,block,block+1,block+2,-1);
block++;


Ïà¹ØÎĵµ£º

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µÄʵÀý

ÎÒ·¢ÏÖÁËÒ»¸öÍøÕ¾£¬ÓÚÊdz£¹æÈëÇÖ¡£ºÜºÃ£¬ËüµÄFINGER¿ª×Å£¬ÓÚÊÇÎÒ±àÁËÒ»¸öSHELL£¬aaaÕʺÅÊÔµ½zzz£¨ÕâÊÇÎÒ·¢ÏÖµÄÒ»¸öÍøÉϹæÂÉ£¬ÄǾÍÊÇÕʺŵij¤¶ÈÓë¿ÚÁîµÄÇ¿¶È³ÉÕý±È£¬ Èç¹ûÒ»¸öÕʺÅÖ»ÓÐÁ½Èý볤£¬ÄÇËüµÄ¿ÚÁîÒ»°ãÒ²ºÜ¼òµ¥£¬·´Ö®ÒàÈ»£¬¹ÊÇÒ³ÆÖ®ÎªÈôÊ϶¨Àí°É£©£¬½á¹ûÒ»¸öÕʺÅÒ²²»´æÔÚ£¬ÎÒûÓÐÔÙÊÔËüµÄÕʺš£ÒòΪÎÒ±»Ëü¿ªµÄ¶Ë¿ÚÎü ......

linuxÓëj2eeµÄ¿ª·¢

  
ÏêϸµÄ½éÉÜÁË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Óëj2ee

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

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> // һЩÄں˳£Óú¯ÊýµÄÔ­Ðζ¨Òå
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ