Three small projects written in C that demonstrate an understanding of computer systems, specifically cache implementation, system commands, and memory allocation
- Memory allocation using a BST (memory_alloc)
- This program essentially user to request a certain number of bytes, which will then be malloced accordingly. The program includes capabilities that allow for memory to be compacted or split based on the number of bytes required.
- Cache simulator (cache_simulator)
- A cache simulator that mimics the processes that happend when memory is loaded, saved, or modified based on instructions from a trace file.
- Writing our own Unix shell (unix_shell)
- A basic unix shell that includes my own implementation of a few built-in functions using system calls, as well as allowing for users to execute regular shell commands implemented through fork() and execv().