CIS-4020 (Operating Systems) Home Page

This is the home page for Peter Chapin's CIS-4020 course notes for the Fall 2024 semester. Here you will find class handouts, slides used during the lectures, homework assignments, and links to other references of interest.

The lectures will be via Zoom.

File Size MD5
DevBox-2024-08-14.ova 6,700,829,184 DevBox-2024-08-14.md5
HackBox-2024-08-14.ova 4,103,818,240 HackBox-2024-08-14.md5

Topics

The lectures for this course will be taught via Zoom. The labs are face-to-face.

Slides

Samples

  1. The "Hello, World" program in assembly language demonstrating the use of raw system calls: x86_64 Linux, arm64 Linux, arm64 macOS.
  2. The fork_demo.c sample demonstrates how the fork function can be used in application space to create a new process.
  3. The memory_demo.c sample demonstrates how a C program can allocate more memory than is physically available. The comments in the file mention which tools you can use (on Linux) to view the effects of the program when it pauses.
  4. The shared_memory_server.c and shared_memory_client.c samples demonstrate how to use POSIX-style shared memory in C programs.
  5. The memory_mapped_file.c sample demonstrates how to use the mmap function to make the contents of a file appear in a range of virtual memory locations.
  6. The FileVector.hpp sample demonstrates memory-mapped files using the Windows API. The code is in C++ and attempts to make a memory-mapped file of "plain old data" (POD) structures behave as an ordinary C++ library vector.
  7. In class, I discussed several small QNX sample programs that you might find interesting to explore.

Homework

  1. Homework #01. (Due: 2024-09-06) System Calls
  2. Homework #02. (Due: 2024-09-27) The Sequence File API
  3. Homework #03. (Due: 2024-10-25) Selected C Topics.
  4. Homework #10. (Due: 2024-12-13) File System Layout

Labs

The lab set is summarized in the lab summary document, along with links to specific lab handouts and supporting code samples.

Resources/Articles

The following are links to relevant resources for this class.

LaTeX Resources

For this class, you will be required to use the LaTeX typesetting system to prepare your lab reports. I encourage you to consider using LaTeX for your other formal writing needs even in other classes. This section includes references to materials you can use to help learn the system.


Last Revised: 2024-12-12
© Copyright 2024 by Peter Chapin <peter.chapin@vermontstate.edu>