Skip to main content
Week 26 (Week 1 of CST334)
- Identify the topics we covered in class -- you can start by listing them + Explain what each of the topics were in your own terms -- take the identified topics and add a sentence or two describing them:
- Operating Systems (OS) as a middle-man between the hardware and user.
- The concept of virtual memory space for apps.
- The memory hierarchy: more speed means less space, and vice versa.
- How the CPU operates by executing instructions from memory, and stores data in small-memory registers.
- How Unix and Linux developed over time, and today Linux is the main open source OS that is foundational to a lot of other systems in development across all computer science and development.
- C is a simple and low-level language. It is unlike other languages I've learned so far, which have been object oriented, so they require ways to work around that. It seems like cases where I would have created a class, I will instead have to utilize structures. The other big differences from what I've learned so far is the extensive use of pointers and having to deal with where information is stored in memory--something I would much rather not deal with.
- Identify least-understood topics -- of these topics, which was the hardest for you to write the descriptions?
- Pointers for me are the harder things to contend with.
- Explain the nature of your confusion -- for these difficult topics, what pieces of them make sense and what pieces are difficult to describe?
- I first learned C++ at my community college, and had to deal with them a little bit, but have not had much experience. I made a single application outside of my schoolwork in C++, and it did not utilize pointers, or deal with memory management at all, so I foresee that being a problem. Given the rapid pace of the class, though, I think I will be forced to figure it out quickly.
- Identify "aha" moments -- which topic did you find it easiest to write about, and why did it make sense?
- The easiest topics to write about were the historical summaries of how Unix and Linux developed over time, and how easy of access to development platforms evolved, the platforms were able to take life. And given that Linux is open source, it seems like a excellent tool to propel development further.
- Ask questions -- what do you think will come next? Are there any gaps that don't seem to be explained yet?
- I think learning about the memory virtualization will be interesting (and potentially difficult to understand). Given what we've read so far from the early chapter of the textbook, it seems foundational to an OS, and I'm curious how our labs will make it clear that there's a distinct space for a given app.
- What connections did you see to other classes and applications -- have you used/heard/thought about these topics before?
- The concept of data having a place in memory and variables/pointers being tied to that location came up a bit during my C++ classes and computer architecture class, but has been something I avoided--or if I returned a memory location in my application, that was my clue I did something wrong! /s
Comments
Post a Comment