CST 334 Week 8 Journal Entry
This final week of CST 334 was an excellent opportunity to review what we'd studied and prepare for the final exam. I spent the most of the week revisiting essential ideas from previous modules, particularly memory management, concurrency, file systems, and I/O. It's been eye-opening to reflect on how far I've come—from barely understanding how virtual memory works to comfortably describing paging, segmentation, and page replacement rules such as LRU, FIFO, and clock. The review process helped me link themes and understand how the operating system allocates resources as a whole.One of the most satisfying aspects of this week was relearning file system implementation, specifically how the operating system organizes and accesses files using inodes and directory hierarchies. I now have a firm understanding of how file descriptors translate to in-memory structures, as well as how system methods like write(), open(), and fsync() interact with memory and disk. These discoveries reinforced the importance of efficiency and durability in operating system design.
I also looked at synchronization issues and solutions, such as semaphores, mutexes, and condition variables. I saw how important these tools are in preventing race situations, deadlocks, and livelocks—issues that were previously unclear but are now more clearer after finishing many coding tasks requiring multithreading. Understanding these problems has increased my awareness for systems-level programming and what goes into developing effective programs.Overall, I have a strong sense of progression and accomplishment. CST 334 has helped me establish a good foundation in operating systems and system development. I'll be leaving with practical knowledge that I can apply to future courses and real-world software development projects. I'm more comfortable troubleshooting low-level problems, designing thread-safe code, and thinking critically about how systems handle memory and processes.
Comments
Post a Comment