Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


CSC369H1 S 20221 (All Sections):

Operating Systems

Overview

Welcome to CSC369H: Operating Systems. The course covers principles of operating systems with a focus on systems programming in C.

In this course, you will gain:

• Experience working with systems code written in C.

• Theoretical knowledge of and practical experience with:

◦ Processes and Threads (address spaces, system calls, scheduling)

◦ Synchronization (algorithms and structures like locks, semaphores, and monitors)

◦ Virtual Memory (paging, page tables, eviction, segmentation)

◦ File Systems (the file abstraction, directory structures, and disk I/O)

This material is core CS. Past students have indicated that the assignments in this course provided them with examples for interviews and that OS concepts featured prominently in interview problems. CSC369 is structured around a series of programming assignments covering key topics: threads, synchronization, virtual memory, and file systems. The lectures provide a historical and theoretical context for the assignments. However, they are not traditional lectures; while some material will be presented, some class time will also be spent in small group activities. The tutorial time will be used to reinforce the theoretical content through exercise, but will frequently be used to help you work on components of the assignments. We (your instructors), and your classmates, will expect you to be an active participant; to do so, you must keep up with the readings and begin the assignments promptly. There is solid evidence that starting early on assignments is correlated with success in the course (not to mention less stress), and higher than average grades. None of the assignments can be completed if you start less than 3-4 days before the deadline.

Course Information

Textbook(s):

We will be using a free text quite extensively Operating Systems: Three Easy Pieces

(Links to an external site.)

by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau.

You may also find the following traditional text useful, but it is not required: Modern Operating Systems (4th Ed.)

(Links to an external site.)

by Tanenbaum and Bos.

You will also want a good C reference, such as C Programming: A Modern Approach (2nd Ed.) by King

(Links to an external site.), or C: A Reference Manual (5th Ed.)

(Links to an external site.) by Harbison and Steele.

Academic Integrity:

All of the work you submit must be done by you and your work must not be submitted by someone else. Plagiarism is academic fraud and is taken very seriously. The department uses software that compares programs for evidence of similar code. Please refer to the UofT Academic Integrity website

Links to an external site.

and read the Code of Behaviour on Academic Matters

Links to an external site.

). Here are a few guidelines to help you avoid plagiarism:

Never look at another student's or group's assignment solution or idea for a solution, whether it is on paper or on the computer screen, and don't allow your solution to be viewed by or come into the possession of another student. Maintain absolute control of your work, including notes and partial solutions, at all times.

We encourage you to discuss course concepts and to study for exams with other students, but any work that is submitted should be your own. The easiest way to avoid plagiarism is to only show work that is in preparation for submission, or submitted work, to a TA or instructor.

Important: An academic offence may significantly slow your progress through your degree. It is better to submit a partially completed assignment and receive a low mark than to face an academic offence on your record.

Important: Do not look for assignment solutions online. Places like public Github repositories may contain code that may be useful in your assignments. Using someone else's code and ideas without attribution, even if making some changes, is considered plagiarism. Keep in mind that our plagiarism detection software can detect such cases.