April 30, 2019
For today:
1) Prepare for a quiz (here's last year's quiz for practice)
2) Read Head First C Chapter 10
3) Work on Homework 12 (exercise 13)
4) Work on project
Today:
1) Quiz
2) Pipes
3) Signals
4) Project check-in
For next time:
1) Finish Homework 12, which is Exercise 13
2) Read The Little Book of Semaphores, Chapter 3, up through Section 3.6
Two topics in Chapter 10:
1) Communicating between parent and child processes with pipes
2) Signals
About pipes, one source of confusion:
1) On the command line, the pipe operator tell the shell to create two processes, where the output from the first is the input to the second.
2) As a system call, pipe creates two file descriptors.
If you fork after calling pipe, the parent and child share these descriptors.
And they can use them for two-way communication.
It's an unnecessarily complicated API. With a little luck, you will never have to deal with it. And if you are unlucky, you can look it up.
Stevens, Advanced Programming in the UNIX Environment, 3rd Edition
Signals: let's do Exercise 10
Final reports due at the beginning of our final event time: May 9 at 4pm.
During the final event time, we'll do short presentations from 4 pm to about 5:30.
Based on the updates, I suspect some projects are in time debt.
Total person hours for the project should be 2-4 hours per person per week, times 4 weeks (not including the bonus week).
That's a lower bound. You should allocate more time if
1) You are spending less time on other parts of the class.
2) You are interested in learning more about your topic.
Today is a good time for a frank discussion with your team:
1) How much time is left in your budget?
2) What's left on the TODO list?
3) How are you going to get it done? Schedule time and put it on your calendar.
Leave time for a good quality report.