Posts

Showing posts from August, 2025

CST 334 - Finals Week

Image
 Hello All, CST 334 has been quite the journey, I learned a lot during this semester such as how memory is utilized in operating systems, how locks/unlocks/waits/joins all affect the efficiency and reliability of the OS. By learning the type of bugs that we are bound to encounter. I also learned about deadlocks, which is when two or more threads are in waiting mode. Regarding how the OS is able to detect when it’s time to input or output data, it would utilize Condition Variables, it would do this in order to synchronize thread and have their either sleep until a certain value is true in order to minimize wasted resources.  Semaphores were also another method of synchronization, it was invested by a very intelligent individual that goes by Dijkstra, he designed this to manage multiple addresses in threads. I also got to learn more about APIs and how simple they are to understand now, before this class I thought there were very complex and hard to understand. I’m extremely gl...

CST 334 - Week VII

 Flavio Cervantes CST334-40_2253 August 9th, 2025      This week in CST 334 I have learned about the implementation of file systems using technologies such as Very Simple File systems, these file systems are utilizing for managing file permissions, space utilization and management, methods of accessing files/data, metadata and how data is structured. I also learned about how data structures are organized on physical hard drives, it involves tracks, cylinders, actuators + arm, head and platter. The space in between the head and disk is 5000x tinier than a human hair, it needs this close proximity to be able to read data efficiently and accurately. I also learned how Drive performance involves 3 steps such as waiting for the sector to rotate underneath the head, this is known as rotational delay. Then it seeks by moving the head to the right track, lastly is transfers the data as needed. I also learned the formula for calculating avg. its rotation / min, so for example...

CST 334 - Learning Journal WK VI

       What I learned this week in CST 334 is a topic called “Concurrency Problems”, these are problems that are caused by either in proper locking, unlocking, incorrect atomicity, or deadlocks. To be more specific Non dead lock bugs are very common, they are usually caused by atomicity violation and order violation. On the other hand, there is also dead lock bugs which are less common and more severe and tricky. An atomicity violation is a sequence of operation that should be called or not called at all. If interrupted, this causes unexpected behavior, one can fix atomicity violation by properly utilizing locks+ unlocks. I also learned about yielding, this can help but when used with multi-thread can be resources intensive. Instead, we can use sleeping locks, they put threads to sleep instead of consistency looping. In Linux, they are called futex(). We learned that Semaphores are very useful all-purpose synchronization logics use for locking, ordering, resource c...