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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? block_dev.c

?? 帶中文注釋的linux 0.11源碼 很好
?? C
字號:
/** linux/fs/block_dev.c** (C) 1991 Linus Torvalds*/#include <errno.h>		// 錯誤號頭文件。包含系統(tǒng)中各種出錯號。(Linus 從minix 中引進的)。#include <linux/sched.h>	// 調(diào)度程序頭文件,定義了任務(wù)結(jié)構(gòu)task_struct、初始任務(wù)0 的數(shù)據(jù),// 還有一些有關(guān)描述符參數(shù)設(shè)置和獲取的嵌入式匯編函數(shù)宏語句。#include <linux/kernel.h>	// 內(nèi)核頭文件。含有一些內(nèi)核常用函數(shù)的原形定義。#include <asm/segment.h>	// 段操作頭文件。定義了有關(guān)段寄存器操作的嵌入式匯編函數(shù)。#include <asm/system.h>		// 系統(tǒng)頭文件。定義了設(shè)置或修改描述符/中斷門等的嵌入式匯編宏。//// 數(shù)據(jù)塊寫函數(shù) - 向指定設(shè)備從給定偏移處寫入指定長度字節(jié)數(shù)據(jù)。// 參數(shù):dev - 設(shè)備號;pos - 設(shè)備文件中偏移量指針;buf - 用戶地址空間中緩沖區(qū)地址;// count - 要傳送的字節(jié)數(shù)。// 對于內(nèi)核來說,寫操作是向高速緩沖區(qū)中寫入數(shù)據(jù),什么時候數(shù)據(jù)最終寫入設(shè)備是由高速緩沖管理// 程序決定并處理的。另外,因為設(shè)備是以塊為單位進行讀寫的,因此對于寫開始位置不處于塊起始// 處時,需要先將開始字節(jié)所在的整個塊讀出,然后將需要寫的數(shù)據(jù)從寫開始處填寫滿該塊,再將完// 整的一塊數(shù)據(jù)寫盤(即交由高速緩沖程序去處理)。intblock_write (int dev, long *pos, char *buf, int count){// 由pos 地址換算成開始讀寫塊的塊序號block。并求出需讀第1 字節(jié)在該塊中的偏移位置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;// 針對要寫入的字節(jié)數(shù)count,循環(huán)執(zhí)行以下操作,直到全部寫入。  while (count > 0)    {// 計算在該塊中可寫入的字節(jié)數(shù)。如果需要寫入的字節(jié)數(shù)填不滿一塊,則只需寫count 字節(jié)。      chars = BLOCK_SIZE - offset;      if (chars > count)	chars = count;// 如果正好要寫1 塊數(shù)據(jù),則直接申請1 塊高速緩沖塊,否則需要讀入將被修改的數(shù)據(jù)塊,并預讀// 下兩塊數(shù)據(jù),然后將塊號遞增1。      if (chars == BLOCK_SIZE)	bh = getblk (dev, block);      else	bh = breada (dev, block, block + 1, block + 2, -1);      block++;// 如果緩沖塊操作失敗,則返回已寫字節(jié)數(shù),如果沒有寫入任何字節(jié),則返回出錯號(負數(shù))。      if (!bh)	return written ? written : -EIO;// p 指向讀出數(shù)據(jù)塊中開始寫的位置。若最后寫入的數(shù)據(jù)不足一塊,則需從塊開始填寫(修改)所需// 的字節(jié),因此這里需置offset 為零。      p = offset + bh->b_data;      offset = 0;// 將文件中偏移指針前移已寫字節(jié)數(shù)。累加已寫字節(jié)數(shù)chars。傳送計數(shù)值減去此次已傳送字節(jié)數(shù)。      *pos += chars;      written += chars;      count -= chars;// 從用戶緩沖區(qū)復制chars 字節(jié)到p 指向的高速緩沖區(qū)中開始寫入的位置。      while (chars-- > 0)	*(p++) = get_fs_byte (buf++);// 置該緩沖區(qū)塊已修改標志,并釋放該緩沖區(qū)(也即該緩沖區(qū)引用計數(shù)遞減1)。      bh->b_dirt = 1;      brelse (bh);    }  return written;		// 返回已寫入的字節(jié)數(shù),正常退出。}//// 數(shù)據(jù)塊讀函數(shù) - 從指定設(shè)備和位置讀入指定字節(jié)數(shù)的數(shù)據(jù)到高速緩沖中。intblock_read (int dev, unsigned long *pos, char *buf, int count){// 由pos 地址換算成開始讀寫塊的塊序號block。并求出需讀第1 字節(jié)在該塊中的偏移位置offset。  int block = *pos >> BLOCK_SIZE_BITS;  int offset = *pos & (BLOCK_SIZE - 1);  int chars;  int read = 0;  struct buffer_head *bh;  register char *p;// 針對要讀入的字節(jié)數(shù)count,循環(huán)執(zhí)行以下操作,直到全部讀入。  while (count > 0)    {// 計算在該塊中需讀入的字節(jié)數(shù)。如果需要讀入的字節(jié)數(shù)不滿一塊,則只需讀count 字節(jié)。      chars = BLOCK_SIZE - offset;      if (chars > count)	chars = count;// 讀入需要的數(shù)據(jù)塊,并預讀下兩塊數(shù)據(jù),如果讀操作出錯,則返回已讀字節(jié)數(shù),如果沒有讀入任何// 字節(jié),則返回出錯號。然后將塊號遞增1。      if (!(bh = breada (dev, block, block + 1, block + 2, -1)))	return read ? read : -EIO;      block++;// p 指向從設(shè)備讀出數(shù)據(jù)塊中需要讀取的開始位置。若最后需要讀取的數(shù)據(jù)不足一塊,則需從塊開始// 讀取所需的字節(jié),因此這里需將offset 置零。      p = offset + bh->b_data;      offset = 0;// 將文件中偏移指針前移已讀出字節(jié)數(shù)chars。累加已讀字節(jié)數(shù)。傳送計數(shù)值減去此次已傳送字節(jié)數(shù)。      *pos += chars;      read += chars;      count -= chars;// 從高速緩沖區(qū)中p 指向的開始位置復制chars 字節(jié)數(shù)據(jù)到用戶緩沖區(qū),并釋放該高速緩沖區(qū)。      while (chars-- > 0)	put_fs_byte (*(p++), buf++);      brelse (bh);    }  return read;			// 返回已讀取的字節(jié)數(shù),正常退出。}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美视频一区二区| 夜夜精品视频一区二区 | 7777精品伊人久久久大香线蕉的 | 色噜噜狠狠一区二区三区果冻| 国产精品综合二区| 精品一区二区三区免费观看| 日本aⅴ免费视频一区二区三区| 亚洲成人免费在线| 视频一区二区三区入口| 亚洲成人综合在线| 五月天欧美精品| 青青草国产精品亚洲专区无| 麻豆精品久久久| 国产伦理精品不卡| 国产成人精品免费视频网站| 成人avav在线| 欧美体内she精视频| 欧美日韩二区三区| 精品欧美一区二区三区精品久久| 日韩精品一区二区三区蜜臀| 国产三级精品视频| 亚洲欧美aⅴ...| 天天综合天天综合色| 韩国精品一区二区| 91在线观看地址| 欧美日韩国产在线观看| 日韩精品在线一区二区| 国产欧美一区二区精品性色超碰| 亚洲日本一区二区| 日韩激情一区二区| 国产福利91精品一区二区三区| 成人国产在线观看| 欧美日韩国产高清一区二区| 欧美大片日本大片免费观看| 中文字幕 久热精品 视频在线| 中文字幕一区日韩精品欧美| 亚洲国产裸拍裸体视频在线观看乱了| 日韩精品高清不卡| 丁香天五香天堂综合| 欧美在线播放高清精品| 日韩精品在线看片z| 中文字幕一区在线观看| 日日夜夜精品视频免费| 国产99久久久国产精品免费看| 99九九99九九九视频精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日韩三级高清在线| 亚洲欧美综合另类在线卡通| 亚洲一二三区视频在线观看| 激情欧美一区二区三区在线观看| av电影在线观看完整版一区二区| 正在播放一区二区| 欧美国产日本韩| 日一区二区三区| 国产成人综合自拍| 91精品啪在线观看国产60岁| 国产精品妹子av| 另类中文字幕网| 欧美亚洲高清一区| 中文字幕在线观看一区二区| 久久精品国产一区二区| 91黄视频在线| 国产欧美日韩综合| 久久91精品久久久久久秒播| 在线国产亚洲欧美| 国产精品嫩草久久久久| 激情综合色综合久久| 欧美色综合影院| 国产精品日日摸夜夜摸av| 美女高潮久久久| 欧美喷水一区二区| 亚洲男同1069视频| 成人教育av在线| 精品国产三级电影在线观看| 亚洲mv在线观看| 日本韩国欧美国产| 国产精品人人做人人爽人人添| 国内精品伊人久久久久影院对白| 欧美日韩国产精选| 亚洲久本草在线中文字幕| 国产成人精品综合在线观看| 欧美大片在线观看| 麻豆中文一区二区| 欧美三级中文字| 一区二区三区中文字幕精品精品| 国产成人精品免费网站| 久久亚洲影视婷婷| 另类人妖一区二区av| 欧美老女人第四色| 日韩黄色小视频| 欧美在线不卡一区| 亚洲午夜久久久久中文字幕久| 99re66热这里只有精品3直播| 国产日韩欧美电影| 国产激情一区二区三区桃花岛亚洲| 欧美成人精精品一区二区频| 蜜臀av在线播放一区二区三区| 欧美一级搡bbbb搡bbbb| 亚瑟在线精品视频| 欧美日韩国产一区二区三区地区| 亚洲综合激情网| 欧美影院精品一区| 午夜精品久久久久久久久久| 欧美日本视频在线| 日韩av一区二区在线影视| 欧美人体做爰大胆视频| 日韩av在线发布| 欧美xxxxx牲另类人与| 看片网站欧美日韩| 久久久久97国产精华液好用吗| 国产精品白丝jk白祙喷水网站 | 午夜激情久久久| 欧美精品tushy高清| 日本视频在线一区| 欧美成人精品福利| 国产成人一区二区精品非洲| 国产欧美日韩麻豆91| 99久久精品情趣| 一区二区三区在线视频播放| 欧美色网站导航| 蜜桃av一区二区| 亚洲国产成人在线| 91精品福利视频| 日本不卡视频在线| 久久精品一区二区| 色婷婷综合激情| 日本伊人色综合网| 26uuu国产在线精品一区二区| 懂色av一区二区三区免费观看| 亚洲欧洲av在线| 91精品欧美一区二区三区综合在 | 欧美猛男gaygay网站| 久久福利资源站| 《视频一区视频二区| 欧美亚洲一区二区在线| 精品伊人久久久久7777人| 国产精品久久久久久久浪潮网站 | 亚洲精品一区二区三区福利| 国产精品一区二区视频| 亚洲精品国产第一综合99久久 | 欧美一区二区三区四区久久| 久久99精品久久久| 国产精品灌醉下药二区| 欧美日韩一区二区电影| 国产麻豆91精品| 亚洲国产一区在线观看| 久久久久久久久97黄色工厂| 色婷婷一区二区| 免费成人av在线播放| 国产精品久久久久毛片软件| 欧美日韩aaaaa| 成人精品免费看| 免费的国产精品| 自拍偷拍亚洲综合| 日韩精品在线一区二区| 一本色道久久综合亚洲aⅴ蜜桃| 麻豆精品一区二区三区| 亚洲欧洲精品一区二区三区不卡| 日韩一区二区免费电影| 色综合天天综合给合国产| 老司机午夜精品| 亚洲一区二区三区中文字幕| 国产亚洲综合在线| 欧美绝品在线观看成人午夜影视| 成人av动漫网站| 狠狠色丁香婷综合久久| 亚洲自拍欧美精品| 国产精品美女久久久久久久| 日韩欧美在线网站| 欧美亚男人的天堂| av电影一区二区| 国产一区在线精品| 日韩精品色哟哟| 亚洲一二三区视频在线观看| 国产精品视频第一区| 精品国产乱码91久久久久久网站| 欧洲亚洲精品在线| gogo大胆日本视频一区| 国产精品亚洲а∨天堂免在线| 丝袜美腿成人在线| 一区二区三区在线视频播放 | 国产盗摄女厕一区二区三区 | 在线电影国产精品| 92精品国产成人观看免费| 国产传媒一区在线| 国产一区二区三区综合| 美女视频一区二区| 日日摸夜夜添夜夜添精品视频| 亚洲免费观看高清| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 波多野结衣在线一区| 紧缚捆绑精品一区二区| 日本欧美大码aⅴ在线播放| 亚洲午夜免费视频| 亚洲精品成人悠悠色影视| 亚洲男帅同性gay1069| 一色屋精品亚洲香蕉网站| 国产欧美视频一区二区三区| 久久网站热最新地址| 欧美zozozo|