CST334 Week 7

This week’s module focused on how operating systems manage I/O devices, hard drives, and the basics of file systems. The main topics we covered were I/O devices, the structure and performance of hard disk drives, files and directories, and finally how a simple file system is implemented. All of these tied back to the bigger idea of how the OS communicates with hardware while keeping everything organized, reliable, and efficient.

We discussed I/O devices, where we distinguished between block devices and character devices and the way the OS communicates with both categories. The discussion revealed that disks, keyboards, and USB peripherals, for instance, differed markedly in their performance requirements. I grasped the main ideas but had to struggle a little bit with the concept of hierarchical buses and the reason behind faster devices being nearer to the CPU. It dawned on me that it’s all about minimizing latency and maximizing data transfer rate, thus the concept clicked.

Next, we went deeper into hard drives. We learned how sectors are structured, how the disk head moves, and how different workloads affect performance. Understanding seek time versus transfer rate made sense, but the idea of disk schedulers was a bit more confusing at first. I had to reread that section to understand why certain algorithms improve efficiency depending on the pattern of reads and writes.

After that, we talked about files and folders, which revealed the way the OS shields and sorts out non-volatile data in the first place. I was already aware of the basic functionalities of files and folders, however, getting to know their behind-the-scenes operations, such as hard links, symbolic links, and volume mounting, opened my eyes to the kinds of very sophisticated vantage points that are behind something that seems so simple. The comparison between hard links and symbolic links was one of the hardest subjects to grasp, mainly due to their dissimilar behaviors which are nevertheless the same if you look from a user’s perspective.

Finally, the module walked through how a simple file system is built. This part tied everything together. Seeing how data structures like inodes, block maps, and directories all interact helped make the file system feel less abstract. I did find myself wondering how real systems scale this up, and what kinds of policies they use to improve speed and reliability.

In general, during this week, I was able to get a feel for the amount of activities that take place below the surface every time a file is saved, moved or opened. Plus, the same topics linked back to previous teaching about virtualization and memory as all these abstractions play their part in ensuring the system feels smooth and consistent. I believe knowing these low-level parts will be an asset for me in other classes, particularly the ones that deal with performance, storage, or system design.


Comments

Popular posts from this blog

Week 4 - Goals!

Week 2 - Second week of class!

Week 4 - Interview with Industry Expert