Posts

Showing posts from April, 2026

Weeks 30 & 31

 And now here I am at the end of our fifth class in the program. I don't know whether or not its too early to say I'm past the 50% mark yet. I can't say I'm not nervous going forward with the program, I still have a foreign language requirement to consider, and the capstone is still something I have more questions than ideas for. Still, I have asked the questions about the language requirement, and I have a couple of potential questions about the capstone drafted to ask later, once the Operating Systems final is over and done with. There is something that's been settled: I'm using Sam's format for these journal posts going forward. So much more interesting to write about. As for week 7's topics, we covered: I/O Devices - Things like mice, disk drives, and keyboards and the various busses used to connect everything together. A fair bit of what was covered here had been seen, albeit briefly, elsewhere. Or, at least, I had seen it elsewhere, can't remem...

Week 29

Another week down, another set of projects finished. Not much more to say really. There is still the topic of needing to take a foreign language course to sate the requirements, but that's its own matter. As for this week in Operating Systems: The topics were on  Condition Variables -  The book itself expressly calls them 'queues', despite behaving like a memory variable. Threads can place themselves onto said 'queue' when a condition isn't satisfied. While waiting for the condition to be satisfied, the thread goes to sleep. No, really. While the condition the thread is waiting on isn't met, that thread would still be 'spinning', or 'running around in circles in place'. This wastes precious CPU time. The thread enters the sleep-like waiting state with the wait() method, which frees up the CPU to work on other threads. When another thread has done what it needs to it uses the signal() method to wake up a sleeping thread once the condition has ...

Week 28

Normally, I'd have something more to say in this little prelude, I guess, before getting into the post itself. I'm convinced I've said it several times at this point, but I always fall short of things to say. And, now that I'm writing, I don't think that's really changed. Far and away, the main source of these recent posts content has been Sam's prompt. Might end up keeping it for my future classes. As for this week, once the midterm and its difficulties were done and out of the way, we covered: Concurrency and Threads - The general idea of, and motivation to use threads. Threads are, for lack of a better phrase, processes within processes. Strings of executions of instructions within the same process. Up until now we've had single-threaded examples, with one memory block for code, one for the heap, and one for the stack. And much of what happens between threads is about the same as what happens between processes, switching from one thread to another wit...