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++;
Ïà¹ØÎĵµ£º
´ò°ü: 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)ÅäºÏʹÓÃ,Ö¸¶¨ ......
ÎÒ·¢ÏÖÁËÒ»¸öÍøÕ¾£¬ÓÚÊdz£¹æÈëÇÖ¡£ºÜºÃ£¬ËüµÄFINGER¿ª×Å£¬ÓÚÊÇÎÒ±àÁËÒ»¸öSHELL£¬aaaÕʺÅÊÔµ½zzz£¨ÕâÊÇÎÒ·¢ÏÖµÄÒ»¸öÍøÉϹæÂÉ£¬ÄǾÍÊÇÕʺŵij¤¶ÈÓë¿ÚÁîµÄÇ¿¶È³ÉÕý±È£¬ Èç¹ûÒ»¸öÕʺÅÖ»ÓÐÁ½Èý볤£¬ÄÇËüµÄ¿ÚÁîÒ»°ãÒ²ºÜ¼òµ¥£¬·´Ö®ÒàÈ»£¬¹ÊÇÒ³ÆÖ®ÎªÈôÊ϶¨Àí°É£©£¬½á¹ûÒ»¸öÕʺÅÒ²²»´æÔÚ£¬ÎÒûÓÐÔÙÊÔËüµÄÕʺš£ÒòΪÎÒ±»Ëü¿ªµÄ¶Ë¿ÚÎü ......
ÏêϸµÄ½éÉÜÁË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”µÄЧ¹ûÊÇÒ»ÑùµÄ¡£¸ù¾Ýà ......
/*
* 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> // һЩÄں˳£Óú¯ÊýµÄÔÐζ¨Òå
......