An open API service indexing awesome lists of open source software.

https://github.com/gopikrsmscs/os-file-system

This repository hosts a complete Java implementation of a os file system, developed from scratch for educational purposes.
https://github.com/gopikrsmscs/os-file-system

java operating-system osinternals

Last synced: 9 months ago
JSON representation

This repository hosts a complete Java implementation of a os file system, developed from scratch for educational purposes.

Awesome Lists containing this project

README

          

# os-file-system

OS File System is an open-source Java project aimed at implementing basic file system operations. It provides a simple and easy-to-use interface for creating, formatting, saving, and opening file systems, as well as performing file management tasks like listing, removing, and renaming files. Additionally, it supports functionalities such as putting external files into the system, getting external files from the system, and changing usernames.

## Features

- **Createfs**: Create a file system with a specified number of blocks.
- **Formatfs**: Format the file system with a maximum number of files and DBP entries.
- **Savefs**: Save the file system to a specified file.
- **Openfs**: Open an existing file system from a specified file.
- **List**: List all files in the file system.
- **Remove**: Remove a file from the file system.
- **Rename**: Rename a file in the file system.
- **Put External File**: Put an external file into the file system.
- **Get External File**: Get an external file from the file system.
- **Change username**: Change the username of a file.
- **Link/Unlink**: (This operation is not implemented.)

## Usage

To use this project, follow these steps:

1. Compile the `FileSystem.java` file using any Java compiler:

```bash
javac FileSystem.java
```

```bash
java FileSystem
```
2. Follow the on-screen instructions to perform desired file system operations.

## Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

1. Fork the repository.
2. Create your feature branch: git checkout -b feature/my-feature.
3. Commit your changes: git commit -am 'Add some feature'.
4. Push to the branch: git push origin feature/my-feature.
5. Submit a pull request.

## Author

This project is authored by Gopikrishna Pavuluri.

## License

This project is licensed under the [MIT License](/LICENSE).