国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代做CSc 360、代寫A Simple File程序

時間:2023-11-26  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



 CSc 360: Operating Systems (Fall 2023)
Programming Assignment 3
P3: A Simple File System (SFS)
Spec Out: Oct 30, 2023 Code Due: Nov 27, 2023
1 Introduction
So far, you have built a shell environment and a multi-thread scheduler with process synchronization. Excellent job! What is still missing for a “real” operating system? A file system! In this assignment, you will implement utilities that perform operations on a file system similar to Microsoft’s FAT file system with some improvement.
1.1 Sample File Systems
You will be given a test file system image for self-testing, but you can create your own image following the specification, and your submission may be tested against other disk images following the same specification.
You should get comfortable examining the raw, binary data in the file system images using the program xxd.
IMPORTANT: since you are dealing with binary data, functions intended for string manipulation such as strcpy() do NOT work (since binary data may contain binary ‘0’ anywhere), and you should use functions intended for binary data such as memcpy().
2 Tutorial Schedule
In order to help you finish this programming assignment on time successfully, the schedule of the lectures has been updated to synchronize with the tutorials and the assignment. There are three tutorials arranged during the course of this assignment. NOTE: Please do attend the tutorials and follow the tutorial schedule closely.
Date
      Oct 31/Nov 1/3
      Nov 7/8/10
      Nov 14/15/17
      Nov 21/22/24
3 Requirements
3.1 Part I (3 points)
Tutorial
P3 spec go-thru and practice questions more on design and implementation Reading break, no tutorials this week testing and submission instructions
Milestones
design done
diskinfo/disklist done
diskget/diskput done
final deliverable
In Part I, you will write a program that displays information about the file system. In order to complete Part I, you will need to read the file system super block and use the information in the super block to read the FAT.
Your program for Part I will be invoked as follows (output values here are just for illustration purposes):
./diskinfo test.img

 Sample output:
     Super block information
     Block size: 512
     Block count: 5120
     FAT starts: 1
     FAT blocks: 40
     Root directory starts: 41
     Root directory blocks: 8
     FAT information
     Free blocks: 5071
     Reserved blocks: 41
     Allocated blocks: 8
Please be sure to use the exact same output format as shown above.
3.2 Part II (4 points)
In Part II, you will write a program, with the routines already implemented for Part I, that displays the contents of the root directory or a given sub-directory in the file system.
Your program for Part II will be invoked as follows:
     ./disklist test.img /sub_dir
The directory listing should be formatted as follows:
1. The first column will contain:
(a) F for regular files, or
(b) D for directories; followed by a single space
2. then 10 characters to show the file size, followed by a single space
3. then 30 characters for the file name, followed by a single space
4. then the file creation date and time
For example:
     F       2560
     F       5120
     F      48127
     F          8
3.3 Part III (4 points)
 foo.txt 2015/11/15 12:00:00
foo2.txt 2015/11/15 12:00:00
  makefs 2015/11/15 12:00:00
foo3.txt 2015/11/15 12:00:00

 In Part III, you will write a program that copies a file from the file system to the current directory in Linux. If the specified file is not found in the root directory or a given sub-directory of the file system, you should output the message
     File not found.
and exit.
Your program for Part III will be invoked as follows:
     ./diskget test.img /sub_dir/foo2.txt foo.txt
3.4 Part IV (4 points)
In Part IV, you will write a program that copies a file from the current Linux directory into the file system, at the root directory or a given sub-directory. If the specified file is not found, you should output the message
     File not found.
on a single line and exit.
Your program for Part IV will be invoked as follows:
     ./diskput test.img foo.txt /sub_dir/foo3.txt
4 File System Specification
The FAT file system has three major components: 1. the super block,
2. the File Allocation Table (informally referred to as the FAT), 3. the directory structure.
Each of these three components is described in the subsections below.
4.1 File System Superblock
The first block (512 bytes) is reserved to contain information about the file system. The layout of the superblock is as follows:
Description
File system identifier
Block Size
File system size (in blocks)
Block where FAT starts
Number of blocks in FAT
Block where root directory starts
Number of blocks in root dir
Size
8 bytes
2 bytes
4 bytes
4 bytes
4 bytes
4 bytes
4 bytes
Default Value
CSC360FS
0x200
0x00001400
0x00000001
0x00000028
0x00000029
0x00000008

 Note: Block number starts from 0 in the file system.
4.2 Directory Entries
Each directory entry takes 64 bytes, which implies there are 8 directory entries per 512 byte block. Each directory entry has the following structure:
Description
     Status
     Starting Block
     Number of Blocks
     File Size (in bytes)
     Creation Time
     Modification Time
     File Name
     unused (set to 0xFF)
The description of each field is as follows:
Size
1 byte
4 bytes
4 bytes
4 bytes
7 bytes
7 bytes
31 bytes
6 bytes
Status This is a bit mask that is used to describe the status of the file. Currently only 3 of the bits are used. It is implied that only one of bit 2 or bit 1 can be set to1. That is, an entry is either a normal file or it is a directory, not both.
Bit 0
Bit 1 Bit 2
set to 0 if this directory entry is available,
set to 1 if it is in use
set to 1 if this entry is a normal file
set to 1 if this entry is a directory
Starting Block Number of Blocks File Size
can support is 2** bytes long.
Field Size
YYYY 2 bytes MM 1 byte DD 1 byte HH 1 byte MM 1 byte SS 1 byte
This is the location on disk of the first block in the file
The total number of blocks in this file
The size of the file, in bytes. The size of this field implies that the largest file we
The date and time when this file was created. The file system stores the system times as integer values in the format: YYYYMMDDHHMMSS
Creation Time

 Modification Time The last time this file was modified. Stored in the same format as the Creation Time shown above.
File Name The file name, null terminated. Because of the null terminator, the maximum length of any filename is 30 bytes. Valid characters are upper and lower case letters (a-z, A-Z), digits (0-9) and the underscore character (_).
4.3 File Allocation Table (FAT)
Each directory entry contains the starting block number for a file, let’s say it is block number X. To find the next block in the file, you should look at entry X in the FAT. If the value you find there does not indicate End-of-File (i.e., the last block, see below) then that value, say Y, is the next block number in the file.
That is, the first block is at block number X, you look in the FAT table at entry X and find the value Y. The second data block is at block number Y. Then you look in the FAT at entry Y to find the next data block
number... continue this until you find the special value in the FAT entry indicating that you are at the last FAT entry of the file.
The FAT is really just a linked list, with the head of the list being stored in the “Starting Block” field in the directory entry, and the ‘next pointers’ being stored in the FAT entries.
FAT entries are 4 bytes long (** bits), which implies there are 128 FAT entries per block. Special values for FAT entries are described in the following.
Value
     0x00000000
     0x00000001
     0x00000002–0xFFFFFF00
     0xFFFFFFFF
5 Byte Ordering
Meaning
This block is available
This block is reserved
Allocated blocks as part of files
This is the last block in a file
Different hardware architectures store multi-byte data (like integers) in different orders. Consider the large integer: 0xDEADBEEF
On the Intel architecture (Little Endian), it would be stored in memory as: EF BE AD DE On the PowerPC (Big Endian), it would be stored in memory as: DE AD BE EF
Our file system will use Big Endian for storage. This will make debugging the file system by examining the raw data much easier.
This will mean that you have to convert all your integer values to Big Endian before writing them to disk. There are utility functions in netinit/in.h that do exactly that. (When sending data over the network, it is expected the data is in Big Endian format too.)

 See the functions htons(), htonl(), ntohs() and ntohl().
The side effect of using these functions will be that your code will work on multiple platforms. (On machines that natively store integers in Big Endian format, like the Mac (not the ARM or Intel-based ones), the above functions don’t actually do anything but you should still use them!)
6 Submission Requirements
What to hand in: You need to hand in a .tar.gz file containing all your source code and a Makefile that produces the executables for Parts I–IV.
Please include a readme.txt file that explains your design and implementation. The file is submitted through bright.uvic.ca site.

 A An Exercise
Q1 Consider the superblock shown below:
     0000000: 4353 4333 3630 4653 0200 0000 1400 0000  CSC360FS........
     0000010: 0001 0000 0028 0000 0029 0000 0008 0000  .....(...)......
     0000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
(a) Which block does the FAT start from? How many blocks are used for the FAT?
(b) Which block does the root directory start from? How many blocks are used for the root directory?

 Q2 Consider the following block from the root directory:
     0005200: 0300 0000 3100 0000 0500 000a 0007 d50b ....1...........
     0005210: 0f0c 0000 07d5 0b0f 0c00 0066 6f6f 2e74 ...........foo.t
     0005220: 7874 0000 0000 0000 0000 0000 0000 0000 xt..............
     0005230: 0000 0000 0000 0000 0000 00ff ffff ffff ................
     0005240: 0300 0000 3600 0000 0a00 0014 0007 d50b ....6...........
     0005250: 0f0c 0000 07d5 0b0f 0c00 0066 6f6f **2e ...........foo2.
     0005260: 7**8 7400 0000 0000 0000 0000 0000 0000 txt.............
     0005270: 0000 0000 0000 0000 0000 00ff ffff ffff ................
     0005280: 0300 0000 4000 0000 5e00 00bb ff07 d50b ....@...^.......
     00052**: 0f0c 0000 07d5 0b0f 0c00 006d 616b 6566 ...........makef
     00052a0: **00 0000 0000 0000 0000 0000 0000 0000 s...............
     00052b0: 0000 0000 0000 0000 0000 00ff ffff ffff ................
     00052c0: 0300 0000 9e00 0000 0100 0000 0807 d50b ................
     00052d0: 0f0c 0000 07d5 0b0f 0c00 0066 6f6f 3**e ...........foo3.
     00052e0: 7**8 7400 0000 0000 0000 0000 0000 0000 txt.............
     00052f0: 0000 0000 0000 0000 0000 00ff ffff ffff ................
(a) How many files are listed in this directory? What are their names?
(b) How many blocks does the file makefs occupy on the disk?

 Q3 Given the root directory information from the previous question and the FAT table shown below:

(a) Which blocks does the file foo.txt occupy on the disk?
(b) Which blocks does the file foo2.txt occupy on the disk?
請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

掃一掃在手機打開當前頁
  • 上一篇:代做 2811 User Interfaces、代寫 C++語言程序
  • 下一篇:代做6CCS3AIN MDP-solver
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 寵物飼養 十大衛浴品牌排行 suno 豆包網頁版入口 wps 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    久久99精品视频一区97| 97人人模人人爽人人喊中文字| 日本一级黄视频| 国产在线不卡精品| 久久精品人人做人人爽| 日本黄网站免费| 久久人人97超碰精品888| 中国成人亚色综合网站| 国产奶头好大揉着好爽视频| 国产精品美女黄网| 欧美国产亚洲一区| 久久久久久久久91| 日本精品免费在线观看| 久热这里只精品99re8久| 久久久久成人精品| 国产一级二级三级精品| 国产精品美女久久久久av超清| 日本最新高清不卡中文字幕 | 国产日韩一区二区在线观看| 久久深夜福利免费观看| 欧美一区在线直播| 国产成人精品视频在线观看| 欧美在线性视频| 国产成人精品一区二区三区| 精品日本一区二区三区| 国产精品久在线观看| 国产最新免费视频| 精品久久久久久乱码天堂| 黄色免费观看视频网站| 国产精品欧美久久久| 欧美动漫一区二区| 欧美另类在线播放| 国产精品一区视频网站| 韩国精品一区二区三区六区色诱| 国产l精品国产亚洲区久久| 美女一区视频| 日日摸日日碰夜夜爽无码| 国产精品久久久久久久午夜| 91精品免费看| 国内精品**久久毛片app| 亚洲成人午夜在线| 国产精品久久波多野结衣| 国产经品一区二区| 蜜桃网站成人| 日韩资源av在线| 精品久久久三级| 久久久久久久激情| 成 年 人 黄 色 大 片大 全| 日本精品久久久久久久久久| 欧美成人精品三级在线观看| 国产成人综合av| 国产噜噜噜噜噜久久久久久久久 | 国产精品久久久久高潮| 99热国产免费| 蜜臀av性久久久久蜜臀av| 午夜精品视频在线| 国产精品传媒毛片三区| 国产成人a亚洲精品| 国产精品一区二区三区免费观看 | 国产精品成人一区二区三区| 国产精品一区二| 日日噜噜噜夜夜爽爽| 国产精品欧美在线| 高清一区二区三区日本久| 日本不卡一区| 国产精品观看在线亚洲人成网| 成人一区二区av| 日韩美女中文字幕| 欧美日韩爱爱视频| 久久九九视频| 国产在线不卡精品| 日韩成人手机在线| 国产精品高潮粉嫩av| 国产精品18久久久久久首页狼| 欧美性视频在线| 亚洲视频小说| 国产精品欧美日韩| 久久婷婷人人澡人人喊人人爽 | 国产精品av在线播放| 亚洲中文字幕无码一区二区三区 | 精品一区2区三区| 在线播放 亚洲| 91久久国产婷婷一区二区| 国产奶头好大揉着好爽视频| 欧美 国产 综合| 青草青草久热精品视频在线观看 | 午夜在线视频免费观看| 一区二区不卡在线| 欧美激情精品久久久久久变态 | 国产传媒一区二区| 久久亚裔精品欧美| 久久久视频在线| 国产精华一区| 国产高清在线一区二区| 国产成一区二区| 国产成人精品久久亚洲高清不卡 | 国产精品久久久久久久久久直播| 国产成人精品一区二区在线| 色婷婷成人综合| 久久久精品免费视频| 日韩视频亚洲视频| 久久精品国产精品| 国产精品旅馆在线| 国产精品极品在线| 久久国产精品久久久久久| 国产精品第一页在线| 欧美成人亚洲成人日韩成人| 欧美日韩福利电影| 亚洲综合欧美日韩| 日日噜噜噜夜夜爽爽| 国产伦精品一区二区三区照片91| 精品少妇人欧美激情在线观看| 国产青草视频在线观看| 福利视频一区二区三区四区| www.欧美黄色| 久久久这里只有精品视频| 国产大尺度在线观看| 日韩在线免费视频| 国产精品久久久久久久9999| 不卡伊人av在线播放| 精品国产免费人成电影在线观...| 欧美老少配视频| 一级黄色免费在线观看| 午夜免费在线观看精品视频| 日韩精品手机在线观看| 免费国产成人av| 成人国产精品日本在线| 久久久一本二本三本| 久久精品国产一区| 中文字幕人成一区| 日韩日韩日韩日韩日韩| 激情五月五月婷婷| 成人免费aaa| www.日韩av.com| 久久99精品久久久久久青青91 | 激情小说网站亚洲综合网| 国产区精品视频| 久久久一二三四| 国产精品久久久久不卡| 亚洲欧美综合一区| 热门国产精品亚洲第一区在线 | 色琪琪综合男人的天堂aⅴ视频 | 精品一区二区三区毛片| 成人av男人的天堂| 久久久久久久久久久99| 色综合91久久精品中文字幕| 色中色综合成人| 蜜臀av性久久久久蜜臀av| 国产精品999| 日本高清视频一区| 中文字幕精品一区日韩| 天天在线免费视频| 青青视频免费在线观看| 欧美二区三区| 二级片在线观看| 久久精品日韩| 国产精品久久久久秋霞鲁丝| 免费99精品国产自在在线| 亚洲va男人天堂| 欧美一区观看| 国产日韩欧美亚洲一区| 久久久在线免费观看| 国产精品日韩在线| 亚洲一区二区自拍| 日韩欧美一区二区视频在线播放| 黄色大片中文字幕| 91久久精品日日躁夜夜躁国产| 日韩在线欧美在线| 久久91亚洲精品中文字幕| 日韩.欧美.亚洲| 国产午夜福利在线播放| 久久乐国产精品| 精品国产乱码久久久久久88av| 涩涩日韩在线| 国产日韩在线看片| 91九色视频在线观看| 国产精品视频永久免费播放| 亚洲欧洲在线一区| 国内揄拍国内精品| 久久综合九色99| 久久伊人免费视频| 欧美一级欧美一级| 国产欧美精品日韩| 日韩中文字幕网址| 亚洲一区二区三区免费观看| 欧美激情精品久久久久久小说| av一区二区三区免费| 国产精品美女www| 少妇性饥渴无码a区免费| 国产日韩欧美精品| 久久精品国产精品亚洲| 日韩一级片一区二区| 国产裸体写真av一区二区| 国产成人精品视频免费看| 亚洲日本精品国产第一区| 国产一区玩具在线观看| 欧美精品日韩三级| 欧美亚洲视频在线观看| 久久资源亚洲| 中文字幕欧美日韩一区二区三区|