Everyone:

Next week, we will delve into how operating systems virtualize the CPU via processes and how it enables these separate units to communicate through various inter-process communication techniques such as pipes. We will also investigate how the operating system provides time sharing, different forms of multitasking, and what happens during a context switch.

TL;DR

For this reading assignment, you are to read about processes and inter-process communication, and submit your responses to the Reading 02 Quiz.

Reading

The readings for this week are:

  1. Operating Systems: Three Easy Pieces

    1. Dialogue
    2. Process
    3. Direct Execution

  2. Beej's Guide to Unix IPC

    1. Pipes

  3. include/linux/sched.h

    This a header file from the Linux kernel. Examine the struct task_struct and its contents.

Optional Resources

If you are interested in additional IPC mechanisms:

  1. Beej's Guide to Unix IPC

    1. FIFOS
    2. Unix Sockets

These are from Reading 12 of CSE.20289.SP19:

  1. Beej's Guide to Network Programming

Quiz

Once you have done the readings, answer the following Reading 02 Quiz questions:

Submission

To submit you work, follow the same process outlined in Reading 00:

$ git checkout master                 # Make sure we are in master branch

$ git pull --rebase                   # Make sure we are up-to-date with GitLab

$ git checkout -b reading02           # Create reading02 branch and check it out

$ cd reading02                        # Go into reading02 folder
$ $EDITOR answers.json                # Edit your answers.json file

$ ../.scripts/submit.py               # Check reading02 quiz
Submitting reading02 assignment ...
Submitting reading02 quiz ...
      Q1 0.50
      Q2 0.20
      Q3 0.30
      Q4 0.50
      Q5 0.50
      Q6 0.50
      Q7 0.30
      Q8 0.20
   Score 3.00

$ git add answers.json                # Add answers.json to staging area
$ git commit -m "Reading 02: Done"    # Commit work

$ git push -u origin reading02        # Push branch to GitLab

Remember to create a merge request and assign the appropriate TA from the Reading 02 TA List.