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

CS480 Operating Systems Spring 2023

Section 01, 02

Schedule number: 14381, 14382

COURSE OVERVIEW AND DESCRIPTION:

File system, I/O management, inter-process communication, memory management, processes and threads, program structures, thread synchronization, virtual memory.

Prerequisites: Computer Science 210 (previously 310) and 240 (previously 237). Course Type:  Mandatory core course in the program

For more information, please see Canvas as well as the tentative schedule below.

STUDENT LEARNING OUTCOMES

Course-Level Student Learning Outcomes

1.   Describe the fundamental structure and design of these systems. Understand the role of operating systems as an abstraction layer between the user and the          architecture, and as a resource manager for applications to share computer         hardware.

2.   Implement, apply and/or evaluate algorithms associated with resource               management such as coordinated access to shared memory buffers, protection of user and system data, and ensuring system stability.

3.   Identify and evaluate design tradeoffs in operating systems and other complex programs.

4.   Develop more complex programs in C or C++ by applying advanced techniques such as making function calls through variables pointing to functions.

5.   Work collaboratively using pair programming techniques.

6.   Comprehend and reflect on the impact of computer software on the health and well-being of society through discussion of system-critical applications and the need for more comprehensive testing (e.g., fly by wire aviation systems, pace- makers).

7.   Engage in operating systems design projects.

Relationship to CS Program Course Outcomes

This course essentially addresses the following CS Program course outcomes:

1.  SO-1: Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions .

2.  SO-2: Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.

3.  SO-3: Communicate effectively in a variety of professional contexts .

4.  SO-4: Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.

5.  SO-5: Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

6.  SO-6: Apply computer science theory and software development fundamentals to produce computing-based solutions.

COURSE MATERIALS

TEXT: Tanenbaum, A. S. and Bos, H. (2015). Modern Operating Systems. Boston, MA:       Pearson.

ISBN-10: 0-13-359162-X

ISBN-13: 978-0-13-359162-0

Required

SDSU Bookstore

O’Reilly online (See

Canvas)

 

Amazon

Lecture Notes / Slides

Note: lecture notes / slides are strictly SDSU properties, posting and sharing any course   materials on any online platform outside        SDSU Canvas are strictly prohibited.

n/a

Canvas

Materials (including texts, readings, course fees, equipment, and any technology         requirements)

Required  or optional

Where and how it can be obtained

COURSE DESIGN

The following topics are covered:

•   Processes & Threads

•   Memory Management & Virtual Memory

•   Synchronization & Inter-process Communication

•   File Systems

•   I/O Devices

•   Selected topics in Cloud Computing or Security if time permits.

Scored activities and weighting by percentage of total score:

Attendance and in-class participation

5%

Programming Assignments

60%

Mid-term exam

15%

Final exam (cumulative)

20%

Total

100%

Assignments (60% of the grade):

Start the assignments and ask questions early, do NOT expect help on the due date.

Problem sets consist of questions and programming assignments. The number of problem sets varies from semester to semester, but there are typically five to six  problem sets. Questions may be quantitative or qualitative in nature. For               qualitative questions you are expected to give responses in grammatically            correct complete sentences. For quantitative problems, you must show your work in order to receive credit.

Some exercise problems and short answer questions in homework and exams are    evaluated using coarse grading, as in a lot of cases, it is very difficult to                     systematically determine that one answer is worth a certain number of points, versus another answer. Points are assigned based upon broad categories that indicate the  degree of mastery:

Excellent (E): 100%

Good (G): 95%

Mostly Right (MR): 85%

Right Track (RT): 75%

Valiant Effort (VE): 40%

Fail/Unacceptable (F): 0%

Note on programs:  Whether as part of a lab or problem set, programs must be well structured and commented, and follow industry best coding practices, such as:

•   Design and implement clean interfaces between modules.

•   NO global variables.

•   NO hard code Magic numbers, etc.

•   Have proper code structure between .h and.cpp files.

Frequently, students make their lives more difficult by simply writing the program without thinking first.  The use of good program design will make your life            significantly easier.  In addition, an emphasis should be made on making your    programs readable.  Use meaningful variable names and comment as you write the program rather than adding comments at the end.  Functionality may be       evaluated automatically, be sure to follow specified interfaces and naming          conventions. Good design and structure are expected; programs are not             assessed as excellent or good simply because they work. You are not expected to comment every line nor to comment obvious lines of code (e.g. counter =       counter + 1), but you must provide enough documentation such that a                 reasonable programmer can easily follow your code.  Failure to do so will result  in the program earning a lower number of points.  See the course FAQ for         guidelines on appropriate program structure.

Exams (35% of the grade)

There will be one midterm exam and one final exam, closed or open-book is to    be decided. Generally, exams emphasize on understanding of concepts and you should expect essay questions in addition to any short answer or quantitative       questions. If you cannot attend an exam, contact me before the exam as early as you can. You must have extenuating circumstances beyond your control for not   attending the exams, and I will be the sole judge as to whether the circumstances warrant your absence from the assessments.

Do NOT expect any make-up exam.

If using webcams during exams: During this course, I may require students to      use Respondus Lockdown Browser, or to require webcam use during course       sessions. I will notify students in advance of examinations requiring webcam use.

GRADING POLICIES

Grading Scale:

•   A: 100%-93%; A-: 92.99%-90%;

•   B+: 89.99%-87%; B: 86.99%-83%; B-: 82.99%-80%;

•   C+: 79.99%-77%; C: 76.99%-73%; C-: 72.99%-70%;

•   D+: 69.99%-67%; D: 66.99%-63%; D-: 62.99%-60%;

•   F: 59.99%-0%.

Late Turn in Homework and Report                                                                            Assignments are usually due at the beginning of class. Any assignments turned in  after the beginning of class will be counted late. Late assignments will be accepted up to one class period after the due date with a penalty of 10% of the possible number of points.

CLASS POLICIES

Attendance:

Students must present in all scheduled exams/quizzes and are strongly encouraged to attend and participate in lecture discussions.

a.  You must attend first week classes to keep your enrollment with the class.

b.  You are expected to attend all lectures. Class attendance and participation are tracked as part of the class grade.

Phones/computers should be silenced. Computers may be used only to take notes and participate in lecture as instructed. The instructor may request any student engaging in distracting behavior to leave the class session and that student will be required to leave and may not return until the next class.

Please see below for classroom conduct standards.

Drops/Refunds/Withdrawal Procedures

It is the responsibility of the student desiring to drop the course to turn in the necessary drop forms, BY THE PUBLISHED DROP DATE.

Students are required to:

•    Make use of the online course materials available via Canvas. Access to these materials is available once you have registered to the course.

•    Complete readings, assignments, quizzes/exams by the dates indicated on the syllabus.

•    Check email on a daily basis.

•    Participate in asynchronous online discussions.