CST334 OS Week 3 Memory Management

 This week we learned about memory management.  Two approaches were covered:

  • Base and bounds
  • Paging

 It is a difficult topic to understand; I spent a lot of time with the reading and the videos.  The page table, especially in the programming assignment, took me a while to wrap my head around how to interact with it in the code.  The concept isn't hard, but I did stumble on VPNs being a certain length compared to PFNs and how both have separate components on the most and least significant sides of the bits.

 The base and bounds one really surprised me; I would not have thought there were registers in the CPU that are constantly being swapped out per process and per instruction.  It does make a lot more sense now in light of all the context switching topics discussed previously; I'm truly beginning to appreciate how the CPU really does everything one at a time, no matter how fluid it seems to everyday computer users.

I have an old Epson HX-20 that I wanted to do some programming on, and I googled if it's processor had some of these functions.  It doesn't; it is a much simpler processor where a program has access to everything in memory, no per-process protection.  Or virtualization of any kind.  And the OS is code stored on another chip, though google suggested it is more of a runtime.  But maybe it would be fun to learn about addressing memory on that PC, or even writing a memory management program (but I suppose it would run extremely slow if it had to do what hardware does for us now on modern CPUs). 

Comments

Popular posts from this blog

Project Management, Time Management, Study Skills, Outline Revisions - Week 2

Goal Setting, Time Mgmt Review, Expert Interview, Ethics Paper - Week 4

Goals; Capstone Project Ideas; Weekly Learning - Week 5