CS208, Wednesday 23 Feb 2022
Masks
- Let's keep them on in this class for the rest of this term.
Notes about the command shell
- Improvements to the assignment
- Assign it in more than one piece, a couple simple features first
- Don't mention the "history" feature--it's too far away from "how do processes work?" (or maybe mention it in the context of "cool zero-point features" only)
- Be super-explicit about "command1 | command2" not meaning "arbitrary-length pipelines"
- What additional help to include up-front?
- More time in class on piping
- Rethink initialize() and cleanup() in the skeleton program
- 7-9 days total
- What else?
- Thinking about difficult software development tasks
- Implement and test in the smallest increments possible
- Backing up your code carefully between increments (version control software!)
- Incremental development is harder/more dangerous when you keep having to work on the same code over and over; easy to break what was working before
- Perfection isn't possible; triage and prioritization are essential (this is not just about software--think about the sustainability of your life)
- Experimenting outside your project code is often worth the time. If you understand the tools, the code based on the tools is much easier to write.
- Starting late: very common but mostly ineffective
- What's on your mind?
Remaining work
- Buffer overflow assignment
- Takehome final
Race conditions
- Shared memory
- Uh-oh
- What to do?
Virtual memory
- Rough idea
- Details coming next