Topic: Persistence
Well, time has flown by, and I’m already in my final week of my operating systems class. There were no assigned readings this week, but we do need to study for the final exam. A big part of the material for the last two weeks has been on persistence in operating systems. As I mentioned last week, persistence, in the context of operating systems, refers to the ability of storage to maintain a state—meaning that if a device is unexpectedly shut off, the data remains intact and is maintained. In a sense of life, persistence also means moving forward despite difficulties. We’ve encountered challenges, whether with lab projects or understanding complex concepts, but you don’t give up when you struggle; you keep moving forward to better yourself.
Thursday, December 12, 2024
CST334 - Week 7
Write what you learned this seventh week in CST 334
Topic: Persistence
This week, we covered a critical area of operating systems—persistence. The readings focused on how the operating system interacts with I/O devices, particularly highlighting DMA (Direct Memory Access) and PIO (Programmed I/O). DMA allows data transfers between devices and main memory without the CPU's direct involvement, freeing it up for other tasks. In contrast, PIO requires the CPU to handle each data transfer, which consumes CPU time and limits its ability to perform other operations simultaneously
We also discussed the role of hard disk drives and RAIDs in maintaining data persistence. Persistence refers to the ability of a storage system to retain data even when the system is powered down. Hard disk drives achieve persistence by storing data magnetically on platters, ensuring that the data remains accessible even if power is lost unexpectedly. RAIDs offer additional persistence through redundancy, protecting data from failures by storing duplicate copies across multiple disks. For example, in RAID 1, data from the first drive is mirrored, or duplicated, to the other drive. This setup ensures that if the primary drive fails, all your data is still backed up on the second drive.
Thursday, December 5, 2024
CST334 - Week 6
Write what you learned this sixth week in CST 334
Topic: Semaphores
This week, we continued learning and explored the topic of semaphores and their use in synchronizing multi-threaded applications. In our lab, the goal was to become familiar with semaphores, use them for synchronization, and solve the producer-consumer problem. This was done by tracking available buffer slots and ensuring mutual exclusion using semaphores. Overall, I found the lab interesting, as it deepened my understanding of how semaphores manage shared resources in multi-threaded programs.
Subscribe to:
Posts (Atom)
CST489/499 - Week 16
This marks the end of my journey in the CSUMB CS Online program. I will officially graduate and receive my bachelor's degree in Computer...
-
What project milestones did you accomplish this week? If you're working in a team, please list what you personally contributed, not the ...
-
This week, I completed IBM's Introduction to Agile Development and Scrum course through Coursera. Link to view completed certificate The...
-
In the final week of CST489 before we transition to the capstone class CST499, I spent some time reviewing a few more AWS topics in preparat...