12. Installation of phase 5
3) Choose a phase to start with.(e.g. Phase 2)
4) Merge proj5/nachos.conf with proj2/nachos.conf.
13. Installation of phase 5
3) Choose a phase to start with.(e.g. Phase 2)
4) Merge proj5/nachos.conf with proj2/nachos.conf.
5) Modify FilesysProcess.java and FilesysKernel.java
14. Installation of phase 5
3) Choose a phase to start with.(e.g. Phase 2)
4) Merge proj5/nachos.conf with proj2/nachos.conf.
5) Modify FilesysProcess.java and FilesysKernel.java
public class FilesysProcess extends UserProcess{
15. Installation of phase 5
3) Choose a phase to start with.(e.g. Phase 2)
4) Merge proj5/nachos.conf with proj2/nachos.conf.
5) Modify FilesysProcess.java and FilesysKernel.java
public class FilesysProcess extends UserProcess{
6) Merge test/ directory with your test/
16. Installation of phase 5
3) Choose a phase to start with.(e.g. Phase 2)
4) Merge proj5/nachos.conf with proj2/nachos.conf.
5) Modify FilesysProcess.java and FilesysKernel.java
public class FilesysProcess extends UserProcess{
6) Merge test/ directory with your test/
7) Run phase5 (win)
17. Installation of phase 5
3) Choose a phase to start with.(e.g. Phase 2)
4) Merge proj5/nachos.conf with proj2/nachos.conf.
5) Modify FilesysProcess.java and FilesysKernel.java
public class FilesysProcess extends UserProcess{
6) Merge test/ directory with your test/
7) Run phase5 (win)
$java nachos.machine.Machine -x hl.coff -[] nachosproj5nachos.conf
31. Inside a file
Helloworld.coff
File info:
File length, etc.
File pointers:
Sector 1 Sector 2 Sector 3
Sector k
Sector n-2 Sector n-1 Sector n
INode FNode
32. Inside a file
File info:
File length, etc.
File pointers:
Sector 1 Sector 2 Sector 3
Sub
Sector k-1
sectors
Sub Sub Sub
sectors sectors sectors
INode FNode
38. Your task
• Remove restrictions on file size and enable
user to create files as large as the DISK
• Synchronize file access by multiple
processes to remove problems associated
with multiprogramming /
multiprocessing(Optional*)
39. Your task
• Remove restrictions on file size and enable
user to create files as large as the DISK
• Synchronize file access by multiple
processes to remove problems associated
with multiprogramming /
multiprocessing(Optional*)
* : I’ve not designed testcase for it. You need provide testcase by yourself.
41. Your task ...
• Allow file size to be modified after creation
• Implement hierarchical directory structure
• Implement some sort of performance
enhancement to your system (Optional)
42. Your task ...
• Design the api (rmdir,ls,mkdir) to prove
your implementation.
• ( You need modify syscall.h and start.s to support them, recompile the
libnachos.a is needed)
• (-1 is reserved by our Nachos test framework, don’t define api using
it)
• (be consistent with Unix style. E.g.Your file system should use / instead
of .)