Giter Club home page Giter Club logo

csci3150's Introduction

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, on the superscript to access the corresponding chapters in the textbook, and on the ► to watch the recording.

Midterm quiz will be held on Thur, Feb 23, during our lecture time.

Lectures

Week Wed Lecture Thu Lecture PDFs Optional readings
1 Intro, Arch support Arch support lec1, lec2
2 Processes4, 5 Processes lec3 A fork() in the road
The Evolution of the Unix Time-sharing System
3 Threads25, Synchronization 128 Synchronization 1 lec4, lec5
4 Sync 2: Condition Variables30 Sync 3: Semaphore31 () lec6, lec7 The Little Book of Semaphores,
Hierarchical ordering of sequential processes
5 Deadlock32 () CPU Scheduling7, 8, 9 () lec8, lec9
6 CPU Scheduling7, 8, 9 () Midterm
7 Memory Management 113-16 () MM 2: Paging18, 19, 20 () lec10, lec11
8
Mar 15-16
MM 2: Paging18, 19, 20 () MM 3: Swapping21, 22 () lec12
9
Mar 22-23
I/O Devices, HDD36, 37 () I/O Devices, HDD () lec13
10
Mar 29-30
A Simple FS39, 40, 41 () LFS43 () lec14, lec15
11
Apr 12-13*
SSD44 () SSD () lec16
12
Apr 19-20
Virtualizationvmm () Networking,
Final Review ()

*: No class on Apr 6.

Tutorials and Assignments

Week Topic Link TA Assignment Due
1 Linux, gcc, git, and C tutorial 1
Passcode: $Xq+fY6?
Shaofeng Assignment 1 18:00:00 p.m., Mon, Feb 13th
2 Assignment 1: Background and Code Walkthrough tutorial 2
Passcode: R+F6sah$
Shaofeng
3 Assignment 1: System Calls in C tutorial 3
Passcode: 628F%d.v
Shaofeng
4 Mutex, Semaphore and Condition Variables tutorial 4
Passcode: W%2PNB9!
Xin, Shaofeng
5 Assignment 1 Review & Deadlocks tutorial 5
Passcode: euZW3fO+
Shaofeng
6 RR and MLFQ Scheduling tutorial 6
Passcode: 2xcj#@JW
Xin Assignment 2 18:00:00 p.m., Mon, Mar 6th Mar 13th
7 Virtual Memory and Address Translation tutorial 7
Passcode: 7HTy9KE^
Qin
8 Review on Assignment2 && Implementation of Page Replacement Algorithms tutorial 8
Passcode: *#X1!W?w
Xin
9 Assignment 3 Preliminaries and Hints tutorial 9
Passcode: J85vMG*5
Qin Assignment 3 18:00:00 p.m., Mon, Apr 17th
10 File System APIs && Filesystem in Userspace tutorial 10
Passcode: 4u&%S66q
Xin Assignment 4 18:00:00 p.m., Mon, Apr 17th
11 FAT File System tutorial 11
Passcode: Y*29vk30
Qin
12 Review on Assignment 3 & 4 tutorial 12
Passcode:3C*XC%&6
Qin

Assignment Submission(Github Classroom) and Contact

Assignment Classroom Due Contact TA
assignment one 18:00:00 p.m., Mon, Feb 13th Shaofeng
assignment one grace token 18:00:00 p.m., Tues, Feb 14th Shaofeng
assignment two 18:00:00 p.m., Mon, Mar 13th Xin
assignment two grace token 18:00:00 p.m., Tues, Mar 14th Xin
assignment three 18:00:00 p.m., Mon, Apr 17th Qin
assignment three grace token 18:00:00 p.m., Tues, Apr 18th Qin
assignment four 18:00:00 p.m., Mon, Apr 17th All three TAs
assignment four grace token 18:00:00 p.m., Tues, Apr 18th All three TAs

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.

csci3150's People

Contributors

henryhxu avatar tomqingo avatar shaofengwu123 avatar txxx926 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.