EssayGhost Assignment代写,Essay代写,网课代修,Quiz代考

EssayGhost-Essay代写,作业代写,网课代修代上,cs代写代考

一站式网课代修,论文代写

高质量的Assignment代写、Paper代写、Report代写服务

EG1hao
网课代修代上,cs代写代考
C++代做
您的位置: 主页 > 编程案例 > C++代做 >
代做C++/C:OS代写 Fast File System Nachos代写 UNIX代写 - C++代做
发布时间:2021-07-25 22:51:39浏览次数:
Fast File System (Improve File System Performance)OS代写 The basic Nachos FileSystemmust be implemented. Implement the dividing of a file into blocks and blocks and fragments.OS代写No user programs are required for this project.Implement the dividing of a file into blocks and blocks and fragments.The basic Nachos FileSystemmust be implemented.The DISK must be logically divided into cylinder groups.File growth algorithm must match the description in the paper.A kernel process that writes to a file that demonstrates the growth algorithm should be implemented.OS代写Each cylinder group should keep track of its local information.Attempt to store all i-nodes for directory in the same cylinder group.You need to present sufficient test cases to show the correctness of your File System.Basic Nachos FilesSystemThe files to focus on are:h, filesys.cc — top-level interface to the file system.h, directory.cc — translates file names to disk file headers; the directory data structure is stored as a file.h, filehdr.cc — manages the data structure representing the layout of a file’s data on disk.h, openfile.cc — translates file reads and writes to disk sector reads and writes.h, synchdisk.cc — provides synchronous access to the asynchronous physical disk, so that threads block until their requests have completed.OS代写h, disk.cc — emulates a physical disk, by sending requests to read and write disk blocks to a UNIX file and then generating an interrupt after some period of time. The details of how to make read and write requests varies tremendously from disk device to disk device; in practice, you would want to hide these details behind something like the abstraction provided by this module.IntroductionNachos file system has a UNIX-like interface, so you may also wish to read the UNIX man pages for creat, open, close, read, write, lseek, and unlink (e.g., type “man creat”). Nachos file system has calls that are similar (but not identical) to these calls; the file system translates these calls into physical disk operations. Create (like UNIX creat), Open (open), and Remove (unlink) are defined on the FileSystem object, since they involve manipulating file names and directories. FileSystem::Open returns a pointer to an OpenFile object, which is used for direct file operations such as Seek (lseek), Read (read), Write (write). An open file is “closed” by deleting the OpenFile object.OS代写Many of the data structures in our file system are stored both in memory and on disk. To provide some uniformity, all these data structures have a “FetchFrom” procedure that reads the data off disk and into memory, and a “WriteBack” procedure that stores the data back to disk. Note that the in memory and on disk representations do not have to be identical.OS代写File System On UNIX→ Complete the basic file system by adding synchronizationto allow multiple threads to use file system concurrently.OS代写Currently, the file system code assumes it is accessed by a single thread at a time. In addition to ensuring that internal data structures are not corrupted, your file system must observe the following constraints (these are the same as in UNIX):√  The same file may be read/written by more than one thread concurrently.OS代写Each thread separately opens the file, giving it its own private seek position within the file. Thus, two threads can both sequentially read through the same file without interfering with one another.√  All file system operations must be atomic and serializable.OS代写For example, if one thread is in the middle of a file write, a thread concurrently reading the file will see either all of the change or none of it. Further, if the OpenFile::Write operation finishes before the call to OpenFile::Read is started, the Read must reflect the modified version of the file.√  When a file is deleted, threads with the file already open may continue to read and write the file until they close the file.OS代写Deleting a file (FileSystem::Remove) must prevent further opens on that file, but the disk blocks for the file cannot be reclaimed until the file has been closed by all threads that currently have the file open.√  Hint: to do this part, you will probably find you need to maintain a table of open files.OS代写→ Modify the file system to allow the maximum size of a file to be as large as the disk  (128Kbytes).OS代写 In the basic file system, each file is limited to a file size of just under 4Kbytes. Each file has a header (class FileHeader) that is a table of direct pointers to the disk blocks for that file. Since the header is stored in one disk sector, the maximum size of a file is limited by the number of pointers that will fit in one disk sector. Increasing the limit to 128KBytes will probably but not necessarily require you to implement doubly indirect blocks.→ Implement dynamically extensible files. In the basic file system, the file size is  specified when the file is created.OS代写One advantage of this is that the FileHeader data structure, once created, never changes. In UNIX and most other file systems, a file is initially created with size 0 and is then expanded every time a write is made off the end of the file. Modify the file system to allow this; as one test case, allow the directory file to expand beyond its current limit of ten files. In doing this part, be careful that concurrent accesses to the file header remain properly synchronized.OS代写更多其他:app代写 数学代写 物理代写 考试助攻 assignment代写 C++代写 CS代写合作平台:315代写 315代写  写手招聘 Essay代写

所有的编程代写范围:essayghost为美国、加拿大、英国、澳洲的留学生提供C语言代写、代写C语言、C语言代做、代做C语言、数据库代写、代写数据库、数据库代做、代做数据库、Web作业代写、代写Web作业、Web作业代做、代做Web作业、Java代写、代写Java、Java代做、代做Java、Python代写、代写Python、Python代做、代做Python、C/C++代写、代写C/C++、C/C++代做、代做C/C++、数据结构代写、代写数据结构、数据结构代做、代做数据结构等留学生编程作业代写服务。