Week 32 (Week 7 of CST334)
This week we learned about how operating systems communicate with IO devices, through a series of registers that typically doesn't actually share much info with the OS on purpose, so as not to cause any corruption. The OS reads and writes to the registers either through CPU input/output instructions, or through memory mapped to the IO device. Additionally we learned a lot about how hard drives work mechanically, how the memory is stored on them physically, and how the mechanical functions of the hardware leading to timing considerations. This included analysis of different scheduling methods, and how random versus sequential workloads can have an impact on performance. We then moved onto files and directories, and how the operating system interacts with this data. The gist of it is that both files and directories have "inodes," which function as IDs for a data structure full of files. Files have inodes (ids), and directories have inodes and map names to the inodes. An in...