Operating Systems (CSCI 375)
Summer Semester 2024
The instructor for CSCI 375 this semester is
Course Description
(From the Syllabus:)
"This course introduces basic principles and techniques used in the design and implementation of operating systems.
The course follows text; however, supporting material is introduced throughout the course.
Topics are basic and advanced features of modern operating systems including processes, I/O, memory, and
processor scheduling."
Course Syllabus
Course Announcements
Assignments
(10% penalty per day for late project and no late homework will be accepted)
- Homework #3 (Due by July 9th, 2025): Odd number questions of Excercise Problems for Chapter 8 ~ Chapter 10 (Practice and Exerecise problems Except programming questions)
- Project 2: Critical section problem, due by July 9th, 2025
- Homework #2 (Due by July 3, 2025): Odd number questions of Excercise Problems for Chapter 4 ~ Chapter 7 (Practice and Exerecise problems Except programming questions)
- Project 1: multithreading application, due by June 19, 2025
- Homework #1 (Due by June 13, 2025: Even number questions of Excercise Problems for Chapter 1 ~ Chapter 3 (Practice and Exerecise problems Except programming questions)
Class lecture notes
- Lecture 1 (PDF format)
- Lecture 2 (PDF format)
- Lecture 3 (PDF format)
- Lecture 4 (PDF format)
- Lecture 5 (PDF format)
- OpenMP Installation
- C++
- Windows (Command line)
- Download TDM-GCC and unzip it
- open a command prompt and run
mingwvars.bat
from the folder
- Windows (CodeBlocks)
- Linux
- g++ should already be on the command line
- Mac
- Install homebrew using
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Install gcc using
/usr/local/bin/brew install gcc
- use
g++-10
as the compile command
- Test
- Download openmp_confirm.cpp
- Compile with
g++ -o openmp_confirm openmp_confirm.cpp -fopenmp
- Run
openmp_confirm
- You should see:
hi from thread 0
hi from thread 1
- Using Microsoft Visual Studio (2015 or later recommended)
- Open a new empty project (console application). Empty project should not have precompiled header
- Now, right click on the new opened solution(++ sign) in Solution Explorer
- A property window will appear. Go to Configuration Properties -> C/C++ -> Language.
- Now click Open MP Support -> select Yes (/openmp) from a dropdown box. You are all set at this point.
Test:
Add openmp_confirm.cpp file as an existing item in to the Source Files directory (in Solution Explorer window).
- Build and run the openmp_confirm.cpp file (Shortcut: Ctrl + F5)
- You should see:
hi from thread 0
hi from thread 1
- For the older VS (2013 or earlier) versions you might need to follow below instructions along with the instructions above.
- Go to Build menu (top level) -> Configuration Manager.
- In the Project contexts area box: set Configuration as Debug and Platform as Win32 from the dropdown boxes. You are all set now!
Lecture 6 (PDF format)
Lecture 7 (PDF format)
Lecture 8 (PDF format)
Lecture 9 (PDF format)
What Every Programmer Should Know about Memory
In Memory Computing
Lecture 10 (PDF format)
Lecture 11 (PDF format)
Last modified: July 3, 2025 8:16 by Jinwoo Kim