Posts

Showing posts from April, 2023

Operating Systems - Week 8

          This week I learned about persistence as it applies to operating systems. We learned about the concept of persistent storage and how it differs from volatile memory. Persistent storage retains data even when the system is powered off, whereas volatile memory is lost when the system loses power.  Persistent storage includes hard disk drives, solid-state drives, and flash drives. We also discussed the different data structures used by operating systems to manage persistent storage, such as the file system, block allocation, bitmap, and more.           Completing this course required persistence in dedication and perseverance. To successfully complete the course, I needed to persistently work through the lectures, assignments, and projects, even when faced with difficulties or setbacks. I also needed to persistently seek out resources and support when I encountered challenges or had questions. Persistence is an impo...

Operating Systems - Week 7

          During this week of operating Sytems, the topic was persistence. I learned that persistence refers to the ability of data to persist after the program that created it has stopped running. I also learned about how file systems work using hard disk drives, RAIDs, and file/directory implementations.           I also learned the importance of reliability and performance in file systems, including techniques such as caching, logging, and checksums to ensure data integrity and prevent data loss. Overall, this week provided a good overview of the various components involved in having persistent storage in computer systems.

Operating Systems - Week 6

     This week, we learned about semaphores, which are a synchronization datatype used in concurrent programming. Semaphores provide a way for multiple threads to access shared resources without causing problems with each other, preventing race conditions and ensuring that threads do not interfere with each other.      We also learned about the applications of semaphores, such as in the producer-consumer problem. We also explored some potential issues that can arise when using semaphores, such as deadlocks and livelocks, and discussed strategies for avoiding these problems. Overall, this week's material on semaphores provided usefulness for understanding how to write concurrent software that is efficient and reliable. 

Operating System - Week 5

     During this fifth week in CST 334 on Concurrency, I learned about the concept of threads and how they are used in concurrent programming.  I learned how threads can be created and how they can share resources in a program.  I also learned about the problems that can happen in concurrent programming.      I  learned about the trade-offs between using threads versus using processes in concurrent programming and the situations in which one may be more appropriate than the other. Overall, I gained valuable knowledge of concurrent programming and some of its uses in software development.