Posts

Showing posts from December, 2024

CST 334 Week 8

 In this last week I learned about persistence and how some processes create data and then the computer stores that data as a state which allows the data to outlive the process which created it. This class also taught me persistence within my school work. There were many labs where I had to continue to work at it for many hours to get it to work. I know that i could have given up and gotten fine grades on those assignments but many of the modules spoke about pushing through and so through persistence I was able to improve upon my work. 

CST 334: Week 7

 This week I learned about file systems, hard discs, and how the operating system interacts with I/O devices. It is important to understand how the operating system interacts with I/O devices because it is the core of what makes a program a program, printing out or some other output is essential to all programs and many use input from another devices to change the output. Using busses to create a hierarchy of devices is the best way to interact with these devices. Another thing I learned this week was the RAID style of disk management. RAID 0 is known as striping and strips the blocks along the discs in sequential order, RAID 1 uses mirroring where each block is stored on at least two discs to ensure that if 1 disk fails then the data is stored on a second disc. Raid 4 and 5 both make use of parity bits which track information within the other discs in a designated disc. Raid 4 puts all of the parity blocks on the same disc and Raid 5 distributes the parity blocks among all the dis...

CST 334 Week 6

This week I learned about semaphores and how they can function as a lock when used in there most basic sense but offer a number of different utilities as well. A semaphore is assigned an integer value when defined and when sem_wait is called it checks to see if the value of the semaphore is greater than 0 if it is then it is decremented by 1 if the value is 0 then the semaphore will wait until the value is greater than 0 based on a trigger from sem_post which increments the value of the semaphore by 1. Semaphores work great for allowing muliple write programs to enter a critical section at once like in the case of the producer-consumer problem. I also learned about common bugs in multi-threaded programs, deadlock bugs are the scariest as they often cause a restart or a shut down of the program however they are the least common bugs. The two most common are atomicity-bugs and order-violation bugs. Both of these bugs can be solved with careful use of semaphores or locks. Bugs are a scary...