Study guide for final exam
The textbook slides are available here:
Slides for Chapters 1 and 2
Slides for Chapter 3
Slides for Chapter 4
Thread programming example from Wednesday, July 12th
Dr. deBry's slides for Unix threads
Dr. deBry's slides for synchronization (Chapter 5)
Chapter 5 Notes
Dr. deBry's slides for virtual memory (Chapter 9)
Dr. deBry's slides for disk scheduling
Dr. deBry's slides for the kernel directory interface
Dr. deBry's slides for file systems (Chapters 11 and 12)
The name of the server for this class is cs3060.tc.uvu.edu
Your login name is your UV ID.
The temporary password was (or will be) sent to your myUVU (UV Link)
The system will require you to change your password the first time you
You can log in using a secure shell (SSH) client such as PuTTY.
Once you log in, you can use Unix shell commands as explained in class and
described in the Unix Commands link below.
Here is the information you need to connect with PuTTY:
Host name: cs3060.tc.uvu.edu
Connection type: SSH
Port number: 22
There is an introductory tutorial for UNIX commands at
Here is a link to the Guide to Unix wiki book:
There is a list of commands in the "Quick Reference" section.
Here are links to two Emacs tutorials:
Here are a couple of Vim resources:
Nano is another editor that is available on the server.
Why, When, and How To Use a Virtual Machine
• Beginner Geek: How to Create and Use Virtual Machines
Our textbook has a virtual machine that you can download and run using
C Programming Wikibook
Operating Systems Concepts virtual machine
Note: The OSC-2016.ova download is almost three gigabytes, so you'll
need to use a high-bandwidth Internet connection or allow a lot of time
to download it.
You'll find information about C strings (null-terminated strings) in the
Beginning C section in Arrays and Strings and in the
Intermediate C section in String Manipulation.
C Programming on UNIX
This web site has information about programming in C and UNIX
This web site has a section on using the make utility.
The C Book
Here's a link to an online book about C programming that might be
CodingUnit C Tutorials and Reference
Input in C programs
Using printf for output in C works pretty well, but input is tricky.
There's a scanf function, but it's error prone and usually not a good way
fgets or getline are probably the best input functions to use.
You can read about them at these links:
• Here's a link to a Stack Overflow question about input in C:
• This is a link to a blog post about the getline function:
hello.c and Makefile
Here's a link to a make tutorial from Middle Tennessee
Here is an example of a simple program and Makefile:
Note: If you look at the C program in a web browser it might not
display correctly because of the < and > characters that
are part of the program.
Pro Git is a book that is available in print, in a browser, and in
The browser and PDF versions are free.
For this class you'll want to read Chapter 1 and sections 2.1 to 2.5
of Chapter 2.
Sample threads code
Shell command to find partial anagrams:
This script is from Foundations of Computer Science by
Alfred V. Aho and Jeffrey D. Ullman.
It has been modified slightly to work on OS X.