You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This course design project involves creating a file system with essential functionalities, such as file creation, deletion, modification, and querying. Additionally, it includes user registration and login features. The file system employs a two-level directory structure, where the first level is the user account and the second level is the file system under the user account. To simplify the design, advanced features such as file sharing, file system security, and special file types (like pipe and device files) are not implemented.
Features and Implementation Status
User Commands
Command
Description
Status
register
Register a user
Completed
login
Login a user
Completed
logout
Logout a user
Completed
listUsers
Display user accounts and passwords
Completed
File Commands
Command
Description
Status
create
Create a file
Completed
delete
Delete a file
Completed
open
Open a file
Completed
close
Close a file
Completed
read
Read a file
Completed
write
Write to a file
Completed
move
Move a file
Completed
copy
Copy a file
Completed
paste
Paste a file
Completed
flock
Lock/Unlock a file
Completed
head -num
Display first num lines of a file
Completed
tail -num
Display last num lines of a file
Completed
lseek
Move file read/write pointer
Completed
Directory Commands
Command
Description
Status
cd
Change directory
Completed
dir
Display current directory contents
Completed
mkdir
Create a directory
Completed
rmdir
Delete a directory
Completed
Disk Operations
Command
Description
Status
import
Import contents from local disk to virtual disk
Completed
export
Export contents from virtual disk to local disk
Completed
Multithreading Support
One thread interacts with users, accepting requests and converting them into corresponding messages, which notify the backend thread maintaining the virtual disk driver. (Completed)
The program can run multiple instances simultaneously, each accepting user requests, but only one backend thread maintains the virtual disk driver's contents. (Completed)
Summary and Improvements
During the project defense, the instructor noted that the /dir/ command's output format was not well-organized. It should display the directories and files in a list format for better readability.