CS代考 CSCI 4061 Introduction to Operating Systems

CSCI 4061 Introduction to Operating Systems
Instructor:
General Information
 Lectures:
 Sec 1: Tu/Th 8.15 am-9.30 am  Sec 10: Tu/Th 1pm-2.15pm
 Course Modality:
 Lecture, labs in-person (subject to change)  Live streamed and recorded lectures, labs  All office hours via zoom
 Course material and information:  Via Canvas page
 Contact: Private messages on Piazza (Avoid email) 4
Course TAs
 4 TAs for the class
 Will conduct recitation sections and office hrs
 Details on course website
 You can go to any TA’s office hrs
5
COVID Precautions and Guidelines
 Masks must be worn indoors at all times
 University requires all students to be vaccinated  Social distancing and stable seating:
 Try to space out as much as possible
 Try to sit in the same seat every class  Physical attendance: NOT required
 Can access lectures/labs remotely
 If feeling sick or possible exposure to COVID:
 DO NOT come to class
7
1

What is this Course About?
8
Course Objectives
 Learn Operating System Concepts
 Learn how OS relates to the hardware and user
applications
 A “Programmer’s view” of Operating Systems
 Focus on external OS interfaces and services
 Strong emphasis on systems programming
 Concepts applicable to non-Unix OS’s
9
Course Non-Objectives
 This course is NOT:
 User’s guide to C and Unix  Kernel hacking course
 What you won’t be taught in this course:
 C programming: You’ll have to pick it up yourself,
though you would get some help initially
 Unix Tools: Some tools would be covered, but this is not a Unix tutorial course
 OS internals: Some coverage here, but would be covered in depth in 5103
 References available on the course website 11
Pre-Requisites
 CSCI 2021 (Computer Architecture): Requires good understanding of computer organization and hardware concepts
 Familiarity with Unix environment
 Good programming skills: C would be used in
the course, but experience with another language would be helpful too
 Good understanding of data structures and algorithm fundamentals
12
2

Course Work and Mechanics
13
Recitation Sections (Labs)
 Conducted in-person and synchronously on Zoom  TAs would conduct the recitations
 Discussion of course material
 Lab exercises (submission required)
 Clarifications on Assignments
14

 You can post questions, clarifications, discuss ideas, course material
 Try responding to each other as far as possible  Instructor, TAs will regularly monitor the forum
 Private messages can be sent to instructor/TAs (Avoid sending emails)
 However:
 No irrelevant, abusive postings
 No posts that break the rules/spirit of honesty
 Don’t ask for solutions or post parts of your solution
15
Readings and Lecture Notes
 Weekly readings from textbook/external sources on website
 Must keep up to follow lectures/recitations
 Recommended to read before the lecture
 Lecture Notes would be made available online
before lecture
 Additional reading material would be online: Links on the course site
16
3

Course Requirements
 4 Programming Assignments (40%)  To be done in teams of 2-3
 Each assignment due in 2 weeks
 Exams and In-Class Quizzes (40%)
 2 Mid-term Exams: In-class (15% each)  2 In-Class Quizzes (5% each)
 No Finals!
 Lab Exercises and Online Quizzes (20%):
 Given out weekly
 1% each lab (Top 10 for a max of 10%)
 1% each online quiz (Top 10 for a max of 10%)
17
Programming Assignments
 You will be given a set of functional specifications  Implement a program to satisfy these specs
 Programs must be written in C  Why C?
 C provides a closer interface to the OS compared to many other languages (like Java, Python, etc.)
 C allows more control over program state and performance (e.g., pointers, memory management)
 C has traditionally been used for systems programming and for building OSes (e.g., Unix/Linux)
18
Programming Assignments (2/3)
 The programs should be well-documented
 Provide full code, header files, makefiles, test-
files, README file
 Online submission by 11:59 pm on due date
(via Canvas site)
 One submission per team
 Intermediate submission: About 1 week before
deadline
 Late submission policy:
 10% penalty for <24 hrs late  No submission allowed beyond that 19 Programming Assignments (3/3)  The code must be original  Not copied or derived from the Web, from past offerings, other students, programmer friend, ...  No sharing of code across teams  Team members should work together  Ask questions and clarifications on class forum, from TAs or instructor  Grading: Points for  Functionality and correctness  Code readability and documentation  Read specifications very carefully! 20 4 Exams and In-Class Quizzes  Mid-term exams would be the length of a lecture:  Cover material from previous 6-7 weeks  In-Class Quizzes would be 25 minutes  Cover material from previous 3-4 weeks  These will be conducted synchronously during the lecture timings 21 Lab Exercises  Exercise to be done in a recitation section  Open resource/open collaboration: You may consult textbook, and discuss lab material with others  Must be done and submitted individually – reflect your own effort and understanding  Will count your top 10 submissions (for a total of max 10% of grade) 22 Online Quizzes  Online Canvas quiz every week  Based on material covered previous week  Multiple choice, auto-graded  Will count your top 10 submissions (for a total of max 10% of grade) 23 Grading Policy  Absolute scale (not grading on a curve)  [93-100] A  [90-93) A-  [87-90) B+  [83-87) B  [80-83) B-  [75-80) C+  [70-75) C  [65-70) C-  [60-65) D+  [50-60) D  [0-50) F 24 5 Regrading Policy  Any issues with grading must be resolved within a week from getting back the graded material  For Prog. Assignments, talk to the TAs first 25 Expectations from you  Follow lectures and recitations regularly  Very important for success in course  Keep up with weekly readings, exercises  Start on assignments early!  Not going to be trivial, one-day affairs  Will run into bugs, problems, questions 26 Academic Dishonesty  What does it include?  Copying assignments, cheating on exams, plagiarism  Programming assignments: Code must be original (not copied or derived from the web, other teams or external sources)  Can result in serious consequences:  Can range from 0 on assignment to F in class or worse  U requires report to Office for Community Standards  Take this issue very seriously  All parties involved in cheating (helper and helpee) will be considered equally culpable  If unsure, just ask! Disability Statement  If you have, or think you have, a disability, contact Disability Services  Please get a letter from DS for any special accommodation request on course work  I will try my best to make the required accommodations 28 6 What is an Operating System? 29 Computer System Applications Operating System Hardware (CPU, Memory, Disks, Devices) 30 What is an Operating System? 31 Image Source: nsjour.wordpress.com Consider an Example Scenario  Suppose:  You are running a particle physics simulation as part of your Physics homework  You are chatting with your friends on a social media platform  You are streaming an online video 32 7 What’s happening with each app?  Physics simulation:  Reads/writes input and output files  Does number crunching (perhaps on multiple CPUs)  Social media chat:  Typing and sending out messages you type  Receiving and displaying text, images, etc.  Video streaming:  Downloading, decoding and displaying videos on your screen  Must be done at the right frame rate 33 What’s happening on the computer system?  Several concurrent activities:  Processing: Particle physics computations, Decoding and displaying videos, web pages, etc.  User interactions (keyboard, screen, etc.)  Data I/O: Reading/writing files from disk, sending/receiving data over the network 34 How to handle all this activity?  How to make life simple for the user?  How to utilize various hardware resources (CPUs, memory, network, disk, etc.) efficiently?  How to manage concurrent activities correctly and in a timely manner? 35 8