Skip to content

Justinlaau/CSCI3150

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

108 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSCI3150 Intro to Operating Systems, Spring 2023

Administrivia

Schedule

  • Lectures:
    • Wed 2:30pm – 4:15pm, MMW LT1
    • Thu 11:30am – 12:15pm, MMW LT1
  • Tutorials:
    • Thu 2:30pm – 3:15pm, SHB 904
    • Thu 5:30pm – 6:15pm, SHB 123

Team

Member Role Office Hours
Xu, Hong (Henry) Prof Mon 3-5 pm, SHB 914. By appointments only.
Wu, Shaofeng Head TA Mon 3-5 pm, SHB 117.
Tan, Xin TA Mon 3-5 pm, SHB 117.
Luo, Qin TA Tue 1-3 pm, SHB 913.

Piazza

The Piazza page for this course is here. All communication about this course is done over Piazza. This includes questions, discussions, announcements, as well as private messages. The self-signup code is "3150 rocks!".

Course outline

This course discusses the principles in the design and implementation of operating systems (OS). Main topics include: OS concepts and abstractions, process management, memory management, file systems, and virtualization.

Textbook (optional)

The course materials are partly based upon the following classic textbook:

Grading

Assessment item CSCI Weight
Assignments 50%
Lab quizzes* 10%
Final Exam 40%

*: To encourage tutorial participation, quiz or simple programming task will be conducted at the tutorials randomly. We will randomly pick 5 tutorials and perform this at the end of the tutorial. Each quiz/programming task is worth one mark. There will also be a midterm written quiz worth 5 marks; the date will be announced in a later time.

Schedules

Click on the topic to access the slides. Click on the ► to watch the recording.

Lectures

Week Wed Lecture Thu Lecture PDF version Optional readings
1 Intro, Arch support Arch support lec1, lec2
2 Processes Processes lec3 A fork() in the road
The Evolution of the Unix Time-sharing System
3 Threads, Synchronization 1 Synchronization 1 lec4, lec5
4 Sync 2: Condition Variables Sync 3: Semaphore () lec6, lec7 The Little Book of Semaphores,
Hierarchical ordering of sequential processes
5 Deadlock CPU Scheduling
6 Memory Management 1 Memory Management 1
7 MM 2: Paging MM 2: Paging
8 MM 3: Swapping
9 File Systems 1
10 File Systems 2
11 File Systems 3
12 Distributed Systems
13 Virtual Machines Final Review

Tutorials and Assignments

Week Topic Link TA Assignment Due
1 Basic reviews: Linux, gcc, git and C programming tutorial 1
Passcode: $Xq+fY6?
Shaofeng Assignment 1 18:00:00 p.m., Mon, Feb 13th
2 Tutorial for Assignment One: Background Knowledge and Code Walk tutorial 2
Passcode: R+F6sah$
Shaofeng
3 Tutorial for Assignment One: System Calls in C Programming tutorial 3
Passcode: 628F%d.v
Shaofeng
4 Mutex, Semaphore and Condition Variables tutorial 4
Passcode: W%2PNB9!
Xin, Shaofeng

Assignment Submission(Github Classroom) and Contact

Assignment Classroom Due Contact TA
assignment one 18:00:00 p.m., Mon, Feb 13th Wu, Shaofeng
assignment one grace token (To be released) 18:00:00 p.m., Tues, Feb 14th Wu, Shaofeng

Course policies

  • Assignments:
    • No late submission.
    • Grace tokens: You have 2 grace tokens, each can be used to give you a 24-hr extension on one assignment. You can apply at most 1 grace token on each assignment at your own discretion. This gives you some flexibility to cope with your own schedule.
    • According to the University’s regulation, every assignment must be accompanied by a signed declaration of originality; submissions without it will receive zero mark.
    • The declaration form is available here.
  • Lectures and tutorials:
    • Be on time. Set your mobile device to vibration/silient mode.
    • Feel free to ask questions and raise comments during the lecture, but we can only entertain short questions and discussions in-class.
    • Longer and deeper discussion and questions can happen in tutorials.
    • Follow University's regulations on COVID, including use of masks, hand sanitization, seating with social distance, etc.

About

Intro to OS, CSE@CUHK, by Hong Xu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 98.2%
  • Makefile 1.8%