CST334 Week 7
This week, our focus shifted significantly from the CPU and memory to the world of I/O devices and data persistence. We began with the general architecture of I/O devices, and I found it particularly interesting to trace the evolution of communication from inefficient programmed I/O, where the CPU is tied up just waiting, to more advanced techniques like interrupts and DMA that allow for true multitasking. From there, we took a deep dive into the classic hard disk drive. Understanding its physical geometry, with platters, tracks, and sectors, was key for me to grasp why its performance characteristics are so different from RAM. Breaking down disk access time into seek time, rotational delay, and transfer time made it clear that the physical movement of the disk arm is the biggest performance bottleneck, which directly explains why intelligent disk scheduling is so important.
Building on that hardware foundation, the rest of the week was dedicated to the file system abstraction. We started with the simple user-level view of files and directories, but what I found most fascinating was uncovering the complex on-disk data structures the OS uses to create this illusion of simplicity. The concept of the inode was a real lightbulb moment for me. Seeing how this single structure holds all of a file’s metadata, especially the pointers to the actual data blocks, really connected the logical idea of a file to its physical storage on the disk. Learning about free-space management with bitmaps and free lists rounded out the picture. It gave me a new appreciation for the intricate dance the OS performs every time I save a file, allocating all these structures just to make sure my data is stored safely and can be found again.
Comments
Post a Comment