Posts

Showing posts from August, 2025

Computer Science BS Journal (CST334) : Week 8

 This was the final week for CST334. I just finished my final exam a little while ago and I can't tell you how happy I was that the time we were given to finish the final was two hours rather than one. My midterm suffered because I could not finish my exam in time, I had to "YOLO" a few questions for partial credit and ended up misreading two questions and putting answers not even related to those questions haha.  CST334 has been an amazing class. My biggest takeaways from CST334 had to of been Address Spaces, Files and Directories, and File Systems(Access and Data). These were honestly some of the things that were easier for me to understand so I feel like I learned the most from these topics. I think the biggest challenge for me in this class was learning to convert hex to decimal and vice versa. I know that seems ridiculous but only at the very end of the class did I get the hang of it and realize how simple it was. Another challenge for me was trying to remember all o...

Computer Science BS Journal (CST334) : Week 7

  This week in CST334 our lectures covered: IO Devices, Hard Drives, Files and Directories, File Systems(Data), and File Systems(Access). In this learning journal I'll write and explanation/what I think to be the most important bits of each subject.  1. I/O Devices I/O (Input/Output) devices are hardware that allow a computer to communicate with the outside world — keyboards, displays, printers, network cards, sensors, etc. They operate via controllers that communicate with the CPU and memory. Key Takeaways: Two main types: block devices (e.g., disks) and character devices (e.g., keyboards). Managed through device drivers . Performance depends on throughput (data per second) and latency (time per operation). Communication methods: polling , interrupts , DMA (Direct Memory Access). 2. Hard Drives Hard Disk Drives (HDDs) store data magnetically on spinning platters. Data is read/written by a moving read/write head. Key Takeaways: Performance factors...

Computer Science BS Journal (CST334) : Week 6

 This week in CST334 our lectures covered: Bounded Buffer Coding, Semaphores, Synchronization Barriers. In this learning journal I'll write and explanation/what I think to be the most important bits of each subject.  Bounded Buffer Coding (Producer-Consumer Problem) A bounded buffer is a fixed-size storage used in the classic Producer-Consumer problem. Producers add items to the buffer, and consumers remove them. Coordination is required to avoid overfilling or emptying the buffer. Key Takeaways: Solves coordination between multiple producers and consumers. Needs synchronization to prevent buffer overflows (producer) and underflows (consumer). Typically implemented using mutexes (for mutual exclusion) and semaphores (to count available slots/items). Ensures safe access to shared resources in concurrent environments. Semaphores A semaphore is a synchronization primitive used to control access to a shared resource. It uses a counter and two atomic operatio...