Skip to content

🌱For University Malaya (UM), Course Code WIA2004 (Operating System).

License

Notifications You must be signed in to change notification settings

The-Missing-UMCS/UM-WIA2004

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WIA2004 (Operating System)

Welcome to the WIA2004 (Operating System) Github repository.

WIA2004 is offered by the Faculty of Computer Science and Information Technology (FCSIT) at the Universiti Malaya (UM) in Malaysia. This repository provides lab solutions implemented in multiple programming languages. Currently, Java and Python versions are complete. Future updates will include implementations in Go, Rust, JavaScript, TypeScript, C#, C, and C++.

To get started, feel free to browse through the materials and use them to supplement your learning. Hopefully that you find this repository to be helpful and informative. If you have any questions or suggestions, please do not hesitate to reach out to me.

last_update_shield license_shield

Why This Repository Exists

As part of the The-Missing-UMCS initiative, this repository serves as a valuable reference for students taking this course.

Additionally, it aims to address a common problem:
"Which programming language should I use for the lab?"

Seniors had different answers—some used Python, others Java, and some preferred C—making it difficult to choose the right one.

The solution? Implement solutions in all popular programming languages.

This approach not only eliminates uncertainty but also provides a unique learning opportunity. By exploring multiple languages and paradigms beyond Java and OOP, I can broaden my skills and become a more versatile developer.

Why You Should Star This Repository

If you're taking UMWIA2004, here are five compelling reasons to star this repository and use it as a study aid:

  1. Multi-Language Implementations
    This repository provides lab solutions in multiple programming languages, eliminating the dilemma of choosing the right one.

  2. Easy to Run
    All code is written using JetBrains products like IntelliJ for Java and PyCharm for Python. Once dependencies are set up, the code runs smoothly.

  3. Well-Documented and Readable
    Every piece of code is properly documented and commented, making it easy to understand and follow.

  4. High-Quality Code
    The Java implementations strictly follow SOLID principles and apply industry-standard design patterns like the Strategy Pattern.

  5. Realistic OS Simulation
    The code extensively incorporates domain-specific terminologies such as Virtual Memory Manager, Main Memory, and Virtual Page Number (VPN) to simulate real OS operations as accurately as possible. Studying these implementations will enhance your understanding of how operating systems function.

Guidance

About README.md

Some of the directories in this repository contain README.md files, which provide detailed explanations of the questions and approaches, as well as comparisons between different approaches. These files can be used to gain a comprehensive understanding of the code and its functionality.

Forking the Repo

To make it easier to access the repository even without an internet connection, you can fork the entire repository. By forking, you can contribute to the repository by adding more functionality, simplifying the code, adding test units, and more. You can refer to the article Fork a Repo for more details on how to fork a repository.

Star the Repo

Don't forget to star this repository to receive the latest updates. The repository may be updated from time to time to make the code simpler, add comments, add README.md files, or even add self-written notes to help others understand the code better.

Contribution

Should you wish to contribute to this repository, feel free to create a pull request. To know more about pull request and how to do it, please refer to the following GitHub Documentations:

About

🌱For University Malaya (UM), Course Code WIA2004 (Operating System).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published