View
1
Download
0
Category
Preview:
Citation preview
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
Binghamton
University
CS-311
Fall 2020
CS-311Operating Systems Concepts
Course Description
2
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
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
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
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
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
Binghamton
University
CS-311
Fall 2020
Teaching Staff
• Prof: Tom Bartenstein (tbartens@binghamton.edu)• 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]
• By appointment
• Grading Assistant• ???
8
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
Binghamton
University
CS-311
Fall 2020
CS-311 Course Mechanics
10
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
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
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
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
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
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
Binghamton
University
CS-311
Fall 2020
CS-311 Course Policies
17
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
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
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
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
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
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
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
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
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
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.
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
Recommended