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++;
Ïà¹ØÎĵµ£º
2008-07-07 22:09
6£¬TCP filterµÄÔÀí£º
µ±filterÊÕµ½Ä³¸öÁ¬½ÓµÄµÚÒ»¸ö±¨ÎÄʱ£¬»áΪ¸ÃÁ¬½ÓÔÚÈ«¾ÖÁ¬½Ó±íÖд´½¨Ò»¸ö±íÏ²¢Óñ¨ÎÄÖÐЯ´øµÄÔ´¡¢Ä¿µÄIPºÍ¶Ë¿ÚÕâ¸öËÄÔª×é´´½¨original tupleºÍreply tuple£¬ÕâÁ½¸ötuple·Ö±ð´Ó²»Í¬·½ÏòÀ´±êʶÕâ¸öÁ¬½Ó¡£ºóÐøµÄ±¨ÎÄ»á¸ù¾ÝÆäЯ´øµÄËÄÔª×éÕÒµ½ÏàÓ¦µÄÁ¬½Ó±íÏȻºó¸ù¾Ý±íÏîËù¼Ç¼ ......
´ò°ü: 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)ÅäºÏʹÓÃ,Ö¸¶¨ ......
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 ......
Unix/Linux ½ø³Ì¹ÜÀíÏà¹ØÃüÁî½éÉÜ
½ø³ÌÊDzÙ×÷ϵͳÓÃÓÚ¿ØÖÆϵͳ×ÊԴʹÓõÄʵÌå¡£Unix/Linux ½ø³Ì¹ÜÀíÏà¹ØµÄÃüÁîÖ÷ÒªÓÐÒÔϼ¸¸ö£¬ÔÚºóÃæµÄ½Å±¾ÊµÏÖÖлáÓõ½²¿·ÖÃüÁî¡£
ÏÔʾ½ø³ÌÊôÐÔÃüÁî
ps ÃüÁ¸ÃÃüÁîÊÇ×î»ù±¾Í¬Ê±Ò²ÊǷdz£Ç¿´óµÄ½ø³Ì²é¿´ÃüÁÓÃÓÚ±¨¸æ½ø³Ì±êʶ¡¢Óû§¡¢CPU ʱ¼äÏûºÄÒÔ¼°ÆäËûÊôÐÔ¡£ÀûÓÃËü¿ÉÒÔÈ·¶¨ÓÐÄÄÐ ......
GDBÊÇGNU¿ªÔ´×éÖ¯·¢²¼µÄÒ»¸öÇ¿´óµÄUNIXϵijÌÐòµ÷ÊÔ¹¤¾ß¡£»òÐí£¬¸÷λ±È½Ïϲ»¶ÄÇÖÖͼÐÎ
½çÃ淽ʽµÄ£¬ÏñVC¡¢BCBµÈIDEµÄµ÷ÊÔ£¬µ«Èç¹ûÄãÊÇÔÚUNIXƽ̨ÏÂ×öÈí¼þ£¬Äã»á·¢ÏÖGDBÕâ¸ö
µ÷ÊÔ¹¤¾ßÓбÈVC¡¢BCBµÄͼÐλ¯µ÷ÊÔÆ÷¸üÇ¿´óµÄ¹¦ÄÜ¡£Ëùν“´çÓÐËù³¤£¬³ßÓÐËù¶Ì”¾ÍÊÇÕâ
¸öµÀÀí¡£
Ò» ......