Instructor: Sam Kumar
Lecture: MW 8:00-10:00 AM, 1425 Physics & Astronomy Building
Instructor Office Hours: M 10:00-12:00 PM and by appointment, 496B Engineering VI
Teaching Assistants: Sai Achalla and Turan Vural
Learning Assistants: Pavan Gudavalli and Rohan Sinha
Readers: TBD
Course announcements will posted on Ed.
Introduction to operating systems design and evaluation. Computer software systems performance, robustness, and functionality. Kernel structure, bootstrapping, input/output (I/O) devices and interrupts. Processes and threads; address spaces, memory management, and virtual memory. Scheduling, synchronization. File systems: layout, performance, robustness. Distributed systems: networking, remote procedure call (RPC), asynchronous RPC, distributed file systems, transactions. Protection and security. Exercises involving applications using, and internals of, real-world operating systems. Letter grading.
This is an upper-division undergraduate course. Lectures focus on explaining the course material. Lab sections focus on problem solving, to reinforce material from the previous lectures. Vitamins are short programming assignments that are essential for the course. Exams may cover material not only from lectures, but also from discussion and vitamins. Readings are optional, but may be useful to help understand the material.
At the end of the term, each student is assigned a raw score out of 100 points, based on the following breakdown:
Raw Score Cutoff | TBD | 88 | 86 | 83 | 77 | 74 | 72 | 67 | 64 | 62 | 57 | 55 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Letter Grade | A+ | A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
The above grading scheme implies that your final grade in the course depends only on your own performance (i.e., there is no curve).
In extreme cases, such as if an exam or vitamin turns out to be much more difficult than intended due to an issue with the exam or vitamin, the instructor may adjust the above cutoffs at the end of the term. If any cutoffs are adjusted, they will only be adjusted downwards (i.e., resulting in higher letter grades).
We will use Ed as an online discussion forum for this class. You must join the Ed forum for this course. Important announcements will be made on Ed.
Readings in this course are optional; all necessary content is covered in lectures, vitamins, and lab sections. We recognize that some students may prefer reading material to learn or review some course content. Thus, we provide, for each lecture, a reading selection that roughly aligns with the content covered in that lecture.
Most reading selections are taken from the following free online textbook. We refer to it as "OSTEP" (an abbreviation of its title).
The following is another textbook that we highly recommend. We refer to it as "A&D" (the authors' initials).
If you are unable to directly enroll in the course, then please follow the enrollment guidelines for computer science classes. If you would like to request a PTE to enroll in this course, then please talk to me about it after the first lecture of the course.
You are expected to follow the UCLA Student Conduct Code.
On programming assignments, the code that you submit must be your own work (for group assignments, work completed by you and your teammates). This means that you may not include code that you find online that is specific to the assignment, or use code that is produced by AI tools (e.g., ChatGPT), in your submissions for class assignments. That said, we do encourage you to speak with your classmates about concepts covered in class as they relate to assignments, approaches and designs for completing the assignments, and strategies for debugging code for the assignments. However, sharing your code with classmates or looking at your classmates' code (for group assignments, classmates outside of your group) is not allowed.
The following are examples of acceptable collaboration on programming assignments:
The following are examples of unacceptable collaboration on programming assignments:
On exams, you may not collaborate with anyone else. Some exams may allow limited amounts of handwritten notes, or access to a certain kind of calculator; such allowed resources will be announced ahead of the exam and explicitly stated on the exam itself. Except for resources that are explicitly allowed, exams are closed-book: you may not use any electronic devices (e.g., laptops, tablets, phones) or any other resources (e.g., books, notes).
Many assignments and lecture slides are based on those used in CS 162 at UC Berkeley. The instructor is grateful to the CS 162 instructors, who generously allowed reuse of this material.