Friday, August 9, 2024

CST334 - Week 8

 

CST334 – Operating Systems - Week 8

We are in the final week of the CST 335 Operating Systems course. The course was very comprehensive and covered many important and fundamental topics. I hope that much of this information I retained over the past eight weeks remains persistent and useful. In computer science, the data we store in storage, write to a database, or send as an attachment via email, among other forms, are all examples of persistence. I/O devices are the gateway to processing input and output operations by interacting with the OS. While I/O processes occur during a running program, data saved to a disk is persistent.

In life, persistence is about determination, ambition, and dedication to achieve a goal regardless of the challenges. We thrive when we have a drive that leads to the next step, fueled by strong will. Personally, my routine is my persistence path to success. By consistently following my daily habits and staying focused on my objectives, I steadily progress toward my goals and overcome obstacles that arise along the way.


Tuesday, August 6, 2024

CST334 - Week 7

 

CST334 – Operating Systems - Week 7

This week, we are learning about the I/O integration with the Operating Systems.

The typical interaction of a device with OS is completed in four steps as follows:

  • Polling the Device: The OS repeatedly reads the status register to check if the device is ready to receive a command.
  • OS Sending Data: The OS writes the data to the data register. For large data transfers, multiple writes may be required, such as transferring a disk block.
  • Issuing a Command: The OS writes a command to the command register, signaling the device that data is ready and instructing it to start processing.
  • Waiting for Completion: The OS polls the status register again in a loop to check if the device has finished processing the command.


Direct Memory Access (DMA) eliminates the CPU involvement in transferring data, allowing other processes to run. Additionally, the hardware communicates with a device via explicit I/O instructions or memory-mapped I/O. The first method uses machine-level instructions to the CPU to directly access hardware devices and perform input and output operations. On the other hand, in memory-mapped I/O, the device registers are used by hardware to read/write as if they are the main memory. 

We also explored the functions and details of hard disks as the main form of persistent data storage. The device's geometry plays a crucial role in the level of performance needed to read and write data. A hard disk's basic geometry consists of one or more circular platters with two magnetic surfaces. The platters are connected around a spindle to a rotating motor that spins them into rotation.

There are different ways to control the performance of I/O operations, disk reliability, and data protection. Redundant Array of Inexpensive Disks (RAID) offers various techniques for storing data on hard disks with different trade-offs. 


We also learned about the system files implementation and the two basic parts, data structures, and access methods.  

 






CST462S - Final Week

Service Learning Journal Reflections This marks the final week of our Service Learning experience. Our team successfully completed the final...