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

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

?? filehdr.cc

?? Nachos是個教學用的小型操作系統(tǒng)
?? CC
字號:
// filehdr.cc //	Routines for managing the disk file header (in UNIX, this//	would be called the i-node).////	The file header is used to locate where on disk the //	file's data is stored.  We implement this as a fixed size//	table of pointers -- each entry in the table points to the //	disk sector containing that portion of the file data//	(in other words, there are no indirect or doubly indirect //	blocks). The table size is chosen so that the file header//	will be just big enough to fit in one disk sector, ////      Unlike in a real system, we do not keep track of file permissions, //	ownership, last modification date, etc., in the file header. ////	A file header can be initialized in two ways://	   for a new file, by modifying the in-memory data structure//	     to point to the newly allocated data blocks//	   for a file already on disk, by reading the file header from disk//// Copyright (c) 1992-1993 The Regents of the University of California.// All rights reserved.  See copyright.h for copyright notice and limitation // of liability and disclaimer of warranty provisions.#include "copyright.h"#include "filehdr.h"#include "debug.h"#include "synchdisk.h"#include "main.h"//----------------------------------------------------------------------// FileHeader::Allocate// 	Initialize a fresh file header for a newly created file.//	Allocate data blocks for the file out of the map of free disk blocks.//	Return FALSE if there are not enough free blocks to accomodate//	the new file.////	"freeMap" is the bit map of free disk sectors//	"fileSize" is the bit map of free disk sectors//----------------------------------------------------------------------boolFileHeader::Allocate(PersistentBitmap *freeMap, int fileSize){     numBytes = fileSize;    numSectors  = divRoundUp(fileSize, SectorSize);    if (freeMap->NumClear() < numSectors)	return FALSE;		// not enough space    for (int i = 0; i < numSectors; i++) {	dataSectors[i] = freeMap->FindAndSet();	// since we checked that there was enough free space,	// we expect this to succeed	ASSERT(dataSectors[i] >= 0);    }    return TRUE;}//----------------------------------------------------------------------// FileHeader::Deallocate// 	De-allocate all the space allocated for data blocks for this file.////	"freeMap" is the bit map of free disk sectors//----------------------------------------------------------------------void FileHeader::Deallocate(PersistentBitmap *freeMap){    for (int i = 0; i < numSectors; i++) {	ASSERT(freeMap->Test((int) dataSectors[i]));  // ought to be marked!	freeMap->Clear((int) dataSectors[i]);    }}//----------------------------------------------------------------------// FileHeader::FetchFrom// 	Fetch contents of file header from disk. ////	"sector" is the disk sector containing the file header//----------------------------------------------------------------------voidFileHeader::FetchFrom(int sector){    kernel->synchDisk->ReadSector(sector, (char *)this);}//----------------------------------------------------------------------// FileHeader::WriteBack// 	Write the modified contents of the file header back to disk. ////	"sector" is the disk sector to contain the file header//----------------------------------------------------------------------voidFileHeader::WriteBack(int sector){    kernel->synchDisk->WriteSector(sector, (char *)this); }//----------------------------------------------------------------------// FileHeader::ByteToSector// 	Return which disk sector is storing a particular byte within the file.//      This is essentially a translation from a virtual address (the//	offset in the file) to a physical address (the sector where the//	data at the offset is stored).////	"offset" is the location within the file of the byte in question//----------------------------------------------------------------------intFileHeader::ByteToSector(int offset){    return(dataSectors[offset / SectorSize]);}//----------------------------------------------------------------------// FileHeader::FileLength// 	Return the number of bytes in the file.//----------------------------------------------------------------------intFileHeader::FileLength(){    return numBytes;}//----------------------------------------------------------------------// FileHeader::Print// 	Print the contents of the file header, and the contents of all//	the data blocks pointed to by the file header.//----------------------------------------------------------------------voidFileHeader::Print(){    int i, j, k;    char *data = new char[SectorSize];    printf("FileHeader contents.  File size: %d.  File blocks:\n", numBytes);    for (i = 0; i < numSectors; i++)	printf("%d ", dataSectors[i]);    printf("\nFile contents:\n");    for (i = k = 0; i < numSectors; i++) {	kernel->synchDisk->ReadSector(dataSectors[i], data);        for (j = 0; (j < SectorSize) && (k < numBytes); j++, k++) {	    if ('\040' <= data[j] && data[j] <= '\176')   // isprint(data[j])		printf("%c", data[j]);            else		printf("\\%x", (unsigned char)data[j]);	}        printf("\n");     }    delete [] data;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品天天看| 日韩精品欧美精品| 懂色av一区二区夜夜嗨| 91精品国产综合久久精品麻豆 | 婷婷开心激情综合| 日韩午夜电影在线观看| 国产乱码精品一区二区三区忘忧草| 精品国产一区二区国模嫣然| 国产91丝袜在线播放0| 亚洲黄色av一区| 日韩午夜在线观看| 精品国产一区二区在线观看| 9191精品国产综合久久久久久| 欧美日韩精品一区二区三区 | 精品日韩99亚洲| 成+人+亚洲+综合天堂| 久久成人综合网| 精品亚洲porn| 经典三级一区二区| 午夜欧美在线一二页| 免费看黄色91| 免费日本视频一区| 精品一区二区三区不卡| 美女任你摸久久| 国产一区日韩二区欧美三区| 日韩黄色片在线观看| 亚洲成在线观看| 日本不卡不码高清免费观看| 日韩av网站免费在线| 欧洲精品在线观看| 91亚洲精品一区二区乱码| 欧美精品一级二级三级| 亚洲人成精品久久久久久| 成人免费一区二区三区在线观看| 亚洲图片一区二区| 国产精品99久久久| 欧美卡1卡2卡| 亚洲综合在线电影| 激情综合色综合久久综合| 欧美日韩一二区| 一区2区3区在线看| 国产精品久久久久久久久久免费看| 亚洲人成伊人成综合网小说| 欧美日韩精品一区二区天天拍小说 | 一区二区三区四区av| 欧美一区二区在线免费播放 | 精品国产乱码久久久久久久| 欧美中文字幕亚洲一区二区va在线 | 色哟哟日韩精品| 成人一级片在线观看| 成人免费高清在线| 欧美综合天天夜夜久久| 欧美精品自拍偷拍| 精品电影一区二区| 日本一区二区免费在线| 亚洲欧美日韩在线| 青青国产91久久久久久| 丁香网亚洲国际| 国产精品国产三级国产普通话三级 | 一本大道久久a久久精二百| 成人欧美一区二区三区视频网页 | 丁香五精品蜜臀久久久久99网站| 热久久国产精品| 精品久久一区二区三区| av亚洲精华国产精华精| 欧美亚洲动漫制服丝袜| 18涩涩午夜精品.www| 在线观看区一区二| 麻豆精品国产91久久久久久| 国产农村妇女精品| 欧美日韩高清一区二区不卡| 国产精品一区免费视频| 亚洲综合色视频| 日本一区二区三区dvd视频在线| 美女在线视频一区| 国产91精品精华液一区二区三区 | 欧美精品少妇一区二区三区| 久久看人人爽人人| 一区二区三区四区中文字幕| 狠狠色综合播放一区二区| 欧美亚洲一区三区| 亚洲美女在线一区| 97精品国产97久久久久久久久久久久| 在线播放视频一区| 亚洲一区二区三区四区的| aaa欧美大片| 中文字幕一区二区三中文字幕| 九九视频精品免费| 欧美一级黄色大片| 日本欧美肥老太交大片| 777欧美精品| 日本亚洲三级在线| 欧美激情一区二区三区| 成人在线综合网| 久久69国产一区二区蜜臀| 色综合天天综合网国产成人综合天 | 国产91精品精华液一区二区三区 | 99综合影院在线| 麻豆国产91在线播放| 亚洲无人区一区| 亚洲精选免费视频| 国产精品久久夜| 日本一区二区三区高清不卡| 久久精品视频在线免费观看| 日韩欧美色综合| 91精品中文字幕一区二区三区| 欧美怡红院视频| 樱花草国产18久久久久| 在线观看亚洲a| 日韩精品一级中文字幕精品视频免费观看| 欧美日韩精品电影| 国产一区二区影院| 亚洲精品视频免费观看| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品久99| 欧美日韩国产片| 国产精品99久| 亚洲丶国产丶欧美一区二区三区| 久久久久久久久久电影| 色综合一个色综合| 老鸭窝一区二区久久精品| 亚洲精品久久久蜜桃| 2021国产精品久久精品| 日韩欧美一区在线| 在线看国产一区| av电影一区二区| 成人一级黄色片| 国产精品一卡二| 国产综合成人久久大片91| 美女精品一区二区| 日日夜夜精品视频免费| 国产精品网曝门| 中文字幕佐山爱一区二区免费| 2024国产精品| 久久久国产精华| 欧美日本在线一区| 久久精品国产秦先生| 成人免费va视频| |精品福利一区二区三区| 国产成人精品亚洲午夜麻豆| 久久久亚洲综合| 一区在线观看免费| 亚洲国产乱码最新视频| 美女国产一区二区| 不卡的电影网站| 精品视频一区三区九区| 久久综合色综合88| 亚洲激情网站免费观看| 日韩精品国产欧美| 国产裸体歌舞团一区二区| av欧美精品.com| 国产精品美女视频| 国产精品一区免费视频| 国产精品18久久久久久久久 | 国产91精品在线观看| 日韩av一二三| 色94色欧美sute亚洲线路一久| 91精品国产91热久久久做人人| 精品999久久久| 亚洲国产精品视频| 国产99久久精品| 欧美麻豆精品久久久久久| 国产亚洲精品aa午夜观看| 亚洲伊人伊色伊影伊综合网| 成人av在线资源网站| 欧美卡1卡2卡| 日韩毛片精品高清免费| 亚州成人在线电影| 欧美日韩国产一级| 亚洲精品久久嫩草网站秘色| 国产一区二区三区蝌蚪| 538在线一区二区精品国产| 亚洲一二三四在线观看| 成人av在线播放网址| 日韩区在线观看| 日韩成人dvd| 日韩视频一区二区三区在线播放 | 国产亚洲精品aa| 国产成人丝袜美腿| 国产精品进线69影院| 欧美日韩综合一区| 亚洲图片你懂的| 精久久久久久久久久久| 色婷婷激情综合| 国产伦精品一区二区三区免费迷| 精品一区二区三区日韩| www.爱久久.com| 4438x亚洲最大成人网| 91精品国产综合久久香蕉麻豆| 亚洲欧美激情视频在线观看一区二区三区| 韩国理伦片一区二区三区在线播放| 欧美精品tushy高清| 亚洲一区二区精品久久av| 欧美丝袜自拍制服另类| 一区二区在线观看视频在线观看| 成人综合激情网| 国产精品久久久久影院色老大| 国产精品一区二区久久不卡 | 久久疯狂做爰流白浆xx| 日韩午夜小视频|