Week 7 - CST334

This week we learned about the persistence mechanisms and interactions between operating systems and I/O devices. We learned about file systems and hardware interfaces. We covered the structure and management of I/O devices such as hard disk drives, including RAID configurations and file system abstractions. We also learned how operating systems communicate with devices using memory-mapped I/O or explicit I/O instructions, and about the architecture involving CPU, memory, and various I/O buses (like PCI, SCSI, SATA, USB). We learned about how a canonical device interface typically includes status, command, and data registers. We went over communication methods including polling, where the OS checks device readiness in a loop, and interrupts, which notify the OS when a task completes. Each method has trade-offs depending on device speed. We were introduced to Direct Memory Access as a way to offload data transfers from the CPU, improving efficiency.

We also learned how file systems interact with block and character devices using device drivers and layered abstractions. The stack includes user-level APIs, file systems, block interfaces, and device-specific drivers. We learned about IDE disk operations, where registers are written to initiate reads/writes and interrupts are handled for data transfer and error checking. We went over the physical structure of hard disks including platters, tracks, and sectors. We covered concepts such as seek time, rotational latency, and transfer time, all of which impact I/O performance. Generally, we covered how operating systems manage persistent storage and interface efficiently with hardware.

 

Comments

Popular posts from this blog

Journal Week 4

Week 5: CST438 Journal

This week