亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? blk.h

?? linux0.11的源代碼的注釋
?? H
字號:
#ifndef _BLK_H#define _BLK_H#define NR_BLK_DEV 7		// 塊設備的數量。/** NR_REQUEST is the number of entries in the request-queue.* NOTE that writes may use only the low 2/3 of these: reads* take precedence.** 32 seems to be a reasonable number: enough to get some benefit* from the elevator-mechanism, but not so much as to lock a lot of* buffers when they are in the queue. 64 seems to be too many (easily* long pauses in reading when heavy writing/syncing is going on)*//** 下面定義的NR_REQUEST 是請求隊列中所包含的項數。* 注意,讀操作僅使用這些項低端的2/3;讀操作優先處理。** 32 項好象是一個合理的數字:已經足夠從電梯算法中獲得好處,* 但當緩沖區在隊列中而鎖住時又不顯得是很大的數。64 就看上* 去太大了(當大量的寫/同步操作運行時很容易引起長時間的暫停)。*/#define NR_REQUEST 32/** Ok, this is an expanded form so that we can use the same* request for paging requests when that is implemented. In* paging, 'bh' is NULL, and 'waiting' is used to wait for* read/write completion.*//** OK,下面是request 結構的一個擴展形式,因而當實現以后,我們就可以在分頁請求中* 使用同樣的request 結構。在分頁處理中,'bh'是NULL,而'waiting'則用于等待讀/寫的完成。*/// 下面是請求隊列中項的結構。其中如果dev=-1,則表示該項沒有被使用。struct request{  int dev;			/* -1 if no request */// 使用的設備號。  int cmd;			/* READ or WRITE */// 命令(READ 或WRITE)。  int errors;			//操作時產生的錯誤次數。  unsigned long sector;		// 起始扇區。(1 塊=2 扇區)  unsigned long nr_sectors;	// 讀/寫扇區數。  char *buffer;			// 數據緩沖區。  struct task_struct *waiting;	// 任務等待操作執行完成的地方。  struct buffer_head *bh;	// 緩沖區頭指針(include/linux/fs.h,68)。  struct request *next;		// 指向下一請求項。};/** This is used in the elevator algorithm: Note that* reads always go before writes. This is natural: reads* are much more time-critical than writes.*//** 下面的定義用于電梯算法:注意讀操作總是在寫操作之前進行。* 這是很自然的:讀操作對時間的要求要比寫嚴格得多。*/#define IN_ORDER(s1,s2) \((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \(s1)->sector < (s2)->sector)))// 塊設備結構。struct blk_dev_struct{  void (*request_fn) (void);	// 請求操作的函數指針。  struct request *current_request;	// 請求信息結構。};extern struct blk_dev_struct blk_dev[NR_BLK_DEV];	// 塊設備數組,每種塊設備占用一項。extern struct request request[NR_REQUEST];	// 請求隊列數組。extern struct task_struct *wait_for_request;	// 等待請求的任務結構。#ifdef MAJOR_NR			// 主設備號。/** Add entries as needed. Currently the only block devices* supported are hard-disks and floppies.*//** 需要時加入條目。目前塊設備僅支持硬盤和軟盤(還有虛擬盤)。*/#if (MAJOR_NR == 1)		// RAM 盤的主設備號是1。根據這里的定義可以推理內存塊主設備號也為1。/* ram disk *//* RAM 盤(內存虛擬盤) */#define DEVICE_NAME "ramdisk"	// 設備名稱ramdisk。#define DEVICE_REQUEST do_rd_request	// 設備請求函數do_rd_request()。#define DEVICE_NR(device) ((device) & 7)	// 設備號(0--7)。#define DEVICE_ON(device)	// 開啟設備。虛擬盤無須開啟和關閉。#define DEVICE_OFF(device)	// 關閉設備。#elif (MAJOR_NR == 2)		// 軟驅的主設備號是2。/* floppy */#define DEVICE_NAME "floppy"	// 設備名稱floppy。#define DEVICE_INTR do_floppy	// 設備中斷處理程序do_floppy()。#define DEVICE_REQUEST do_fd_request	// 設備請求函數do_fd_request()。#define DEVICE_NR(device) ((device) & 3)	// 設備號(0--3)。#define DEVICE_ON(device) floppy_on(DEVICE_NR(device))	// 開啟設備函數floppyon()。#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device))	// 關閉設備函數floppyoff()。#elif (MAJOR_NR == 3)		// 硬盤主設備號是3。/* harddisk */#define DEVICE_NAME "harddisk"	// 硬盤名稱harddisk。#define DEVICE_INTR do_hd	// 設備中斷處理程序do_hd()。#define DEVICE_REQUEST do_hd_request	// 設備請求函數do_hd_request()。#define DEVICE_NR(device) (MINOR(device)/5)	// 設備號(0--1)。每個硬盤可以有4 個分區。#define DEVICE_ON(device)	// 硬盤一直在工作,無須開啟和關閉。#define DEVICE_OFF(device)#elif/* unknown blk device *//* 未知塊設備 */#error "unknown blk device"#endif#define CURRENT (blk_dev[MAJOR_NR].current_request)	// CURRENT 為指定主設備號的當前請求結構。#define CURRENT_DEV DEVICE_NR(CURRENT->dev)	// CURRENT_DEV 為CURRENT 的設備號。#ifdef DEVICE_INTRvoid (*DEVICE_INTR) (void) = NULL;#endifstatic void (DEVICE_REQUEST) (void);// 釋放鎖定的緩沖區。extern inline voidunlock_buffer (struct buffer_head *bh){  if (!bh->b_lock)		// 如果指定的緩沖區bh 并沒有被上鎖,則顯示警告信息。    printk (DEVICE_NAME ": free buffer being unlocked\n");  bh->b_lock = 0;		// 否則將該緩沖區解鎖。  wake_up (&bh->b_wait);	// 喚醒等待該緩沖區的進程。}// 結束請求。extern inline voidend_request (int uptodate){  DEVICE_OFF (CURRENT->dev);	// 關閉設備。  if (CURRENT->bh)    {				// CURRENT 為指定主設備號的當前請求結構。      CURRENT->bh->b_uptodate = uptodate;	// 置更新標志。      unlock_buffer (CURRENT->bh);	// 解鎖緩沖區。    }  if (!uptodate)    {				// 如果更新標志為0 則顯示設備錯誤信息。      printk (DEVICE_NAME " I/O error\n\r");      printk ("dev %04x, block %d\n\r", CURRENT->dev, CURRENT->bh->b_blocknr);    }  wake_up (&CURRENT->waiting);	// 喚醒等待該請求項的進程。  wake_up (&wait_for_request);	// 喚醒等待請求的進程。  CURRENT->dev = -1;		// 釋放該請求項。  CURRENT = CURRENT->next;	// 從請求鏈表中刪除該請求項。}// 定義初始化請求宏。#define INIT_REQUEST \repeat: \if (!CURRENT) \			// 如果當前請求結構指針為null 則返回。return;if (MAJOR (CURRENT->dev) != MAJOR_NR)  \				// 如果當前設備的主設備號不對則死機。    panic (DEVICE_NAME ": request list destroyed");if (CURRENT->bh)  {    if (!CURRENT->bh->b_lock)      \				// 如果在進行請求操作時緩沖區沒鎖定則死機。	panic (DEVICE_NAME ": block not locked");  }#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品欧美二区三区中文字幕| 国产精品99久久不卡二区| 91在线视频在线| 亚洲欧洲av在线| 日本精品一级二级| 亚洲品质自拍视频| 欧美在线啊v一区| 天天做天天摸天天爽国产一区| 欧美日韩免费高清一区色橹橹 | 日韩精品中文字幕一区二区三区| 婷婷开心久久网| 精品国精品自拍自在线| 国产69精品久久99不卡| 亚洲欧美怡红院| 欧美日韩免费电影| 精品一区二区在线看| 中文字幕精品一区二区精品绿巨人 | 国产99久久久国产精品| 椎名由奈av一区二区三区| 欧美性大战久久久| 久久国产人妖系列| 国产精品久线观看视频| 欧美色视频一区| 久久成人免费日本黄色| 亚洲日本在线天堂| 91精品久久久久久蜜臀| 国产剧情av麻豆香蕉精品| 中文字幕佐山爱一区二区免费| 在线观看亚洲a| 激情五月激情综合网| 亚洲欧美视频在线观看视频| 欧美日韩国产中文| 丁香六月久久综合狠狠色| 亚洲成人午夜影院| 国产清纯白嫩初高生在线观看91| 日本久久电影网| 国产一区二区三区四| 亚洲电影一区二区三区| 精品国产乱码久久久久久图片| 色av一区二区| 国产乱子轮精品视频| 亚洲国产一区二区视频| 欧美激情一区二区在线| 欧美一区二区三区人| 99r国产精品| 黄色日韩三级电影| 亚洲国产一区在线观看| 国产精品嫩草99a| 欧美草草影院在线视频| 欧美亚洲一区二区三区四区| 国产成人在线看| 日韩专区欧美专区| 亚洲精品国产精华液| 国产欧美日韩在线视频| 日韩一区二区三区视频在线观看| 99re视频精品| 成人蜜臀av电影| 国产综合色产在线精品| 日本不卡一二三区黄网| 亚洲va韩国va欧美va| 亚洲欧美二区三区| 国产精品久久久久久一区二区三区| 日韩午夜电影在线观看| 欧美三级韩国三级日本一级| 日本黄色一区二区| av资源网一区| 99久久国产免费看| 懂色一区二区三区免费观看| 精品亚洲成av人在线观看| 日韩精品电影在线观看| 亚洲va国产天堂va久久en| 亚洲自拍另类综合| 亚洲自拍都市欧美小说| 亚洲人成精品久久久久久| 欧美国产精品中文字幕| 中国av一区二区三区| 日本一区二区三区四区| 久久久亚洲综合| 久久婷婷色综合| 久久久久久久网| 国产日韩高清在线| 中文成人综合网| 中文字幕日韩av资源站| 国产精品国产自产拍高清av王其| 欧美激情在线一区二区三区| 国产精品日日摸夜夜摸av| 日本一区二区三区在线观看| 中文字幕av一区 二区| 中文字幕在线观看不卡视频| 国产精品美女久久久久久2018| 国产日产欧美一区二区三区| 国产精品欧美精品| 日韩理论电影院| 亚洲国产wwwccc36天堂| 丝袜亚洲另类欧美综合| 麻豆成人综合网| 激情六月婷婷久久| 成人一区二区三区在线观看| 色综合久久99| 56国语精品自产拍在线观看| 日韩精品最新网址| 国产精品久久久久久久久免费相片| 国产精品天干天干在观线| 亚洲精品乱码久久久久久| 天天免费综合色| 国产一区二区不卡| 91黄视频在线观看| 欧美一级搡bbbb搡bbbb| 国产亚洲1区2区3区| 亚洲免费观看高清完整版在线观看熊| 香蕉久久夜色精品国产使用方法| 美女脱光内衣内裤视频久久网站| 国产精品一区二区男女羞羞无遮挡| 成人黄色av网站在线| 欧美日韩精品综合在线| 国产色91在线| 午夜电影一区二区三区| 成人一区二区三区| 欧美日韩卡一卡二| 国产亚洲成年网址在线观看| 亚洲综合丝袜美腿| 国产一区二区三区最好精华液| 97aⅴ精品视频一二三区| 欧美一区二区三区在线视频| 国产女人18水真多18精品一级做| 亚洲动漫第一页| 国产成人精品在线看| 欧美日韩电影一区| 国产精品久久久久久久久图文区| 日产国产欧美视频一区精品 | 国产精品一二三四| 欧美图区在线视频| 中文字幕国产精品一区二区| 视频一区二区欧美| 99re视频这里只有精品| 久久久综合九色合综国产精品| 亚洲一区二区精品久久av| 成人免费va视频| 亚洲精品一区二区精华| 午夜精品福利一区二区三区av | 91精品福利在线| 欧美国产丝袜视频| 精品一区二区三区免费观看| 在线免费视频一区二区| 中文字幕不卡三区| 国产精品18久久久久久久网站| 777奇米四色成人影色区| 夜夜精品浪潮av一区二区三区| 丁香网亚洲国际| 久久先锋资源网| 久久黄色级2电影| 欧美人狂配大交3d怪物一区| 亚洲综合激情另类小说区| 91在线视频观看| 国产精品久久久久精k8| 丁香婷婷深情五月亚洲| 久久九九久精品国产免费直播| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩一区二区视频| 亚洲成人av福利| 欧美无乱码久久久免费午夜一区| 亚洲色图欧洲色图| 99久久国产综合精品色伊| 国产精品色哟哟网站| 成人小视频在线| 中文字幕一区二区三区在线播放 | 亚洲成人一区在线| 欧美亚日韩国产aⅴ精品中极品| 国产精品高潮久久久久无| 国产成人激情av| 亚洲精品一区二区三区福利| 老司机免费视频一区二区| 日韩丝袜美女视频| 麻豆国产精品官网| xf在线a精品一区二区视频网站| 激情综合网av| 国产亚洲一区字幕| 成人黄色免费短视频| 亚洲美女在线国产| 欧美性猛片aaaaaaa做受| 亚洲成人777| 日韩女优视频免费观看| 狠狠色丁香久久婷婷综合_中| 久久婷婷综合激情| av电影在线观看一区| 亚洲精品亚洲人成人网| 欧美一a一片一级一片| 蜜芽一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 国产v日产∨综合v精品视频| 一色桃子久久精品亚洲| 欧美这里有精品| 青青草97国产精品免费观看| 精品福利av导航| 99免费精品视频| 三级久久三级久久久| 亚洲精品在线一区二区| 色综合久久综合网| 日本女人一区二区三区| 国产婷婷一区二区|