28
Binghamton University CS-311 Fall 2020 CS 311 Operating Systems Concepts Instructor: Tom Bartenstein Course Web Page: http://www.cs.binghamton.edu/~tbartens/CS311_Fall_2020/ 1

CS 311 Operating Systems Concepts

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

CS – 311Operating Systems Concepts

Instructor: Tom Bartenstein

Course Web Page: http://www.cs.binghamton.edu/~tbartens/CS311_Fall_2020/

1

Page 2: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

CS-311Operating Systems Concepts

Course Description

2

Page 3: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Catalog Description

Introduction to fundamental concepts for the design and implementation of operating systems:

• hardware/software interfaces• processes and threads• scheduling• synchronization techniques and primitives• memory management and virtual memory• file systems• input/output subsystems• resource and system virtualization• protection and security• introduction to distributed systems

3

Page 4: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Course Goals

• To provide the necessary general knowledge of the fundamental concepts underlying the design and implementation of operating systems. … in the context of an engineering solution to the computing issues addressed by operating systems.

• This course will use Linux as the primary example of an operating system to study because Linux is widely available and open source. We will use the C programming language (not C++) for all programming assignments to stay compatible with Linux.

4

Page 5: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Specific Goals

• Understanding of the roles and goals of operating systems

• Privileged & user states and how they are accessed and controlled

• Understanding parallel processing, • how parallelism and concurrency is managed by the operating system, • the ability to use and explain the semantics and operation of

• semaphores, condition variables, monitors and critical sections,

• the ability to implement programs using processes and threads.

• Understanding operating system memory management, • Virtual memory, and paging, • Various page replacement algorithms

• Ability to explain the hardware architecture interface with an OS, • including interaction required for disk space management.

5

Page 6: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Expectations

• Pre-Requisites• CS 212 - Programming II for Engineers• EECE 287 - Sophomore Design• Proficient programming in C.• Proficient in the use of a debugger (such as gdb)• Comfortable working and programming in a Linux environment.

• 3 Credit Hour Course implies 9-9.5 hours per week • Lectures/Discussions/Meetings• Assigned readings• Assignments• Study for Tests and Exams

6

Page 7: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Textbook & Other Resources

• Operating Systems: Internals and Design Principles, 9th Edition, 9th Edition by Willam Stallings, Pearson 2018.

• Textbook is a parallel resource to the lectures

• Two learning streams is better than one

• Cross references in slides using :

• “Supplemental Material” on the class page for on-line references• Free textbooks, tutorials, etc.

• Kernighan, Ritchie, The C Programming Language• Supplemental for CS-211

7

Chap X.Y

Page 8: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Teaching Staff

• Prof: Tom Bartenstein ([email protected])• Office Hours: Monday and Wednesday, 3:30 - 5:50 PM

via Zoom Office Hours or by email appointment

• Office : EB Q06 (behind CS secretary) [Only if necessary]

• e-mail

• By appointment

• Grading Assistant• ???

8

Page 9: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Professional Background

• 1975-1979 - BA in Mathematics Swarthmore College

• 1979-2001 – Programmer/Architect at IBM Endicott• PCB design transfer to Mfg• Integrated Circuit Manufacturing Test Generation and Diagnostics• Published papers and wrote many patents

• 2001-2011 – Architect at Cadence Design Inc. Endicott• Won Cadence “Innovator of the Year” aware in 2010

• 2011-2017 – PhD at Binghamton University in CS• Dissertation: Rate Types in Stream Programming

• 2015-???? – Adjunct Lecturer at BU• Architecture and Programming Languages

9

Page 10: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

CS-311 Course Mechanics

10

Page 11: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Lectures

• Lectures will be delivered via synchronous Zoom meetings

• PDF of lecture notes will be posted on class web page before lecture• PDF will be updated if errors need to be corrected

• Lecture video will be recorded and posted on the class web page

• Video feeds not required, but urgently requested and will be rewarded

• Zoom statistics used for attendance• Email me before lecture if you need to be excused

• Occasional pop quizzes to verify attention• Used for participation grade

11

Page 12: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

To ask or not to ask?

• Instructors are not psychic!• If you don't ask, I don't know you need help• If you don't ask, the other 5 students who have

the same problem won't get help

• Please let me know if…• Your are lost• You don't understand something• You don't have the background• Class can be improved

• Ask for help early – don't wait until the test or exam!

• Give feedback! The more feedback – the better the course!

12

Page 13: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Homework Assignments

• Six programming assignments (~2 weeks each)

• As semester progresses, assignments will become harder

• Lowest grade will be dropped

• Develop wherever you want but graded on HarveyV (test there!)

• Work with each other on concepts!

• DO NOT SHARE CODE! Write your own.

13

Page 14: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Accounts Used in this Class

• BU Email account (<username>@binghamton.edu)

• Access to myCourses for assignments and grades

• Zoom (Binghamton University Account)

• HarveyV (PODs logon – remote access to Linux server)

• Network U Drive (University cloud drive)• Home Directory on HarveyV

• Accessible by any PODS machine

• Can be mounted on Windows and/or IOS

14

Page 15: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Office Hours / Assistance

• Zoom link / time posted on class web page

• Use Zoom "waiting room" to maintain privacy• If you want to meet as a group, that's fine… just let me know

• Ask questions after lectures (recording will be turned off.)

• Outside of posted office hours, email for appointment

• email questions directly (attach code for debug help)

• Make Google your friend. Can’t beat the response time!

• Do you want a class bulletin board? (myCourses, Piazza, etc.)

15

Page 16: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Tests and Exams

• Two 1 hour open book on-line mid-term tests• Covers Intro and CPU management (1st third)

• Covers memory management (2nd third)

• One 2 hour open book on-line final exam • Covers entire semester

• One final oral exam• Five minute interview by the instructor to ensure mastery

• Scheduled during lecture time in final week (after Thanksgiving)

16

Page 17: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

CS-311 Course Policies

17

Page 18: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Academic Honesty for On-Line Courses

• Motivation: Increase my GPA• Everybody else is cheating, if I don't cheat, I'm just being stupid

• Opportunity: On-line tests (even open book) • It's almost impossible for anybody to catch me cheating

• Means: On-line cheating web sites• Near immediate answers to any question

• e-communicate with other students

18

Page 19: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Flaw in Cheating Logic

• The goal of getting a degree is NOT to get a high GPA!• The goal is to master the material

• A high GPA helps if GPA is a valid indicator of your mastery of the material

• If everybody cheats, everybody gets a high GPA, whether they have mastered the material or not

• People and Institutions that used GPA to distinguish between candidates are finding that GPA is not as useful

• More attention given to interviews, recommendations, etc.

19

Page 20: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

My Teaching Philosophy

• My primary goal is to make sure as many students gain as much knowledge as possible!

• Cheating erodes my capability to achieve this goal

• I use grades to motivate learning• If you understand the material, you will get a good grade!• Studying for and taking a test reinforces learning• Cheating de-motivates learning

• My secondary goal is to ensure that grades correctly reflect mastery of the material

• Cheating erodes my capability to achieve this goal!

20

Page 21: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Academic Honesty

• For Yourself!• College education is not cheap - Don’t waste it!• You will eventually get caught

• For your peers• One person cheating hurts all other students• If you cheat, your friends will get a lower grade

• For me• Cheating wastes time and effort• Cheaters hurt my reputation

• For the institution• Our reputation depends on you!

21

Page 22: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Academic Honesty Policy

• Academic dishonesty has no place in a university

• The Watson School has an academic honesty code.

• It is your responsibility to read and understand it.

• When in doubt, ask beforehand!

http://www.binghamton.edu/watson/about/honesty-policy.pdf

22

Page 23: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Academic Honesty on Assignments

• Unless otherwise noted, assignments are individual assignments. This means that all work submitted will have been done by you.

• You may (and are encouraged to) seek help from others, including the instructor, TAs, and classmates. Help includes assistance with:

• using the software tools needed to complete an assignment

• understanding the specifications or requirements of an assignment

• evaluating strategies for solving a problem

• debugging code that you have written

• interpreting compiler and run-time error messages

23

Page 24: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Academic Dishonesty on Assignments

Obvious violations of the principles of academic honesty include, but are not limited to:

• submitting another person's work (in whole or in part) as your own

• submitting the same work (with or without minor changes) as another student

24

Page 25: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Academic Honesty on Tests and Exams

• Tests and exams will be open book to remove the temptation to look at the book.

• Test and exam questions will be relatively unique and specific to avoid quick lookup

• Answers will be compared with other students and material available on-line

• I depend on YOUR integrity to provide your own answers!

• (and it's hard to cheat on the oral exam)

25

Page 26: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Exams and Assignment Deadlines

• No make-up exams• Very few exceptions – medical emergencies, technical problems, etc.

• The earlier we know about problems, the more flexible we can be

• Assignment Deadlines are firm• Some flexibility if you are 10 or 15 minutes late

• Late penalties will be assessed

• Please plan other commitments around these deadlines!• Travel, interviews, etc.

26

Page 27: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Evaluation and GradingMid-Term Tests (15% each) 30%

Homework (Avg of 5 top grades) 30%

Participation (including quizzes) 20%

Final Exam and Oral Exam 20%

27

There is no predefined average number to letter mapping!Letter Grades depend on comparisons with students in previous and

current semester, difficulty of tests, etc.

Page 28: CS 311 Operating Systems Concepts

Binghamton

University

CS-311

Fall 2020

Dealing with Covid-19

• Stay healthy! Mask up. Social Distance.

• Respect privacy• Depend on health officials to keep us safe!

• Support each other! • Be thoughtful, accommodating, respectful, and honest

• Let me know if I can help

28