Skip to content

BoYuHuang1117/V6-File-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Operating-System-Concepts

Build Status

Project 1: Practice fork system call.

  • using for loop to create five children process
  • identify the order of each children process
  • parent process waits until all the children processes terminates

Project 2: A Modified Version of the UNIX V6 File System

File name is limited to 14 characters.

Design Parameters:

  1. The size of the superblock is 1024 bytes.
  2. The size of a block is 1024 bytes.
  3. The size of the free block array is 152.
  4. The size of the inode array is 200.
  5. The size of available block address in inode is 11.
  6. The size of the inode structure is doubled to 64 bytes.
  7. The size of a directory information is 16 bytes (2 for inode entry, 14 for filename).

 * Compilation: gcc -o fsaccess fsaccess.c  
 * Run using: ./fsaccess  

main functions and capabilities

  • initfs (filepath) (# of blocks) (# of I-nodes)

    This function initializes the v6-file system. All data blocks are in the free list except the root block.

  • cpin (externalfile) (v6-file)

    copy the content of an external file into v6 file

  • cpout (v6-file) (externalfile)

    copy the content of a v6 file out to a new external file

  • v6Name (v6 file system name)

    set up the current working v6 file system

  • mkdir

    create the v6 directory. It should have two entries '.' and '..'

  • rm (v6 file)

    Delete the file v6_file from the v6 file system.

  • cd (v6 directory)

    change working directory of the v6 file system to the v6 directory

  • ls

    display all the files in current directory

  • help

  • q

    This command saves all changes and quit.

Releases

No releases published

Packages

No packages published

Languages