Posts

Showing posts from August, 2025

CST 334 - Week 8

Week 8 (Final Week) CST 334 - Before this class, I honestly never thought twice about what happens when I save a file or open a folder. You just click and it is there. That was all I cared about, but after learning how it all works I can’t really unsee it. Now I picture all these little pieces like the pointers, the metadata, and the blocks moving around in the background getting everything where it needs to be. It makes everyday computer stuff feel a lot less mysterious and very cool. One of my challenges were when I first started the disk I/O counting problems, I was a mess. I was skipping steps without noticing or I would double count something and then end up with totals that made no sense. It was kind of annoying especially because I thought I understood the process. Turns out I didn’t, at least not completely. After running through the practice quizzes over and over, something finally clicked. I began to see the steps in my head without forcing it and the numbers actually came ou...

CST 334 - Week 7

Week 7 Summary: This week in CST 334, I learned in depth about how file systems are organized on disk and how they are accessed by the operating system. The lectures broke file systems into two main parts: the on-disk data structures (like the superblock, inodes, data blocks, and bitmaps) and the access methods used to navigate those structures to find and read files. I now have a much clearer picture of how the superblock acts as a “map” to the file system, pointing to where the inode region and data blocks begin, and how inodes store file metadata and pointers to data blocks. Bitmaps turned out to be an efficient way of tracking which inodes and blocks are free or used, reducing the need to scan every single block. We also discussed how files use direct, single indirect, and double indirect pointers to scale up file sizes, and how directories are simply files with structured data that map names to inode numbers. In the access portion of the lectures, I learned the step-by-step proces...

CST 334 - Week 6

Week 6 Overview: This week in CST 334 felt like everything I’ve been learning about threads and synchronization finally came together. We didn’t have actual coding assignments for the lectures on the Bounded Buffer (OSTEP 30a), Semaphores (OSTEP 31), and Synchronization Barriers (OSTEP 31a), but we dove deep into how all these concepts work behind the scenes. It was honestly helpful to slow down a bit and focus more on understanding the patterns and problems before jumping straight into code. The lectures on the Bounded Buffer really helped clarify how semaphores control access between producers and consumers, and how you can use just a few semaphores to avoid race conditions and deadlocks. It made me realize how important the order of operations is when multiple threads are sharing data. The semaphore lecture helped things click a bit more for me. I’ve come across wait() and signal() before, but I always kind of just accepted them without fully grasping why they were used the way they...