COURSE ORGANIZATION AND OUTLINE
CS 330
Operating Systems and Networking
Fall 2017
Course objectives:
● Anticipate and articulate the various ways computing resources are used by application software and managed by systems software
● Understand the ways Processes and Threads are generated and scheduled in an interrupt driven environment
●Outline and discuss variousmechanisms that can be employed at the operating system level to realize concurrent systems and describe the benefits of each.
● Explore the various ways real and virtual memory are organized and managed in modern OS.
● Explore and summarize networking environment and basic set of protocols that are employed with reference to a modern OS highlighting Internet as its communication framework
What this course stays away from:
● To anticipate and argue for any specific OS model currently in the transition state in the market
● To discuss distributed, transactions, database and games oriented OS
● To attempt to write and design OS software
Instructor: Sam Sengupta, C129 Phone: 792-7353 (campus), 792-7354 (Secretary)
Schedule: Monday + Wednesday: 2:00-3:50 PM at Room A133 (Kunsela)
Consultation
Period: Tuesdays & Thursdays: 10:00 AM – 12:00 Noon
Class website:
Textbook: Operating Systemsby Stallings, 4th edition or higher, Prentice-Hall. For networking side, we’d depend on lecture notes and web to garner in our requisite information.
Recommended
Books: (These books are to be considered for reference only)
1. Modern Operating Systems by Tanenbaum. Prentice Hall.
2. Operating Systems by Silberschatz et al
3. Operating Systems by Garry Nutt, Addison-Wesley
4. Operating Systems by Deitel. Addison-Wesley.
5. Computer networks by Tanenbaum (Prentice Hall)
6. Any decent book on Computer Networking
Recommended readings: Visit the web and discover the latest there! Particularly the networking part has to be garnered from the web. To those who can afford it, I also suggest using the network text book, “Computer networks” by Andy Tanenbaum.
Class website: (and follow the appropriate link from there)
Dos and Don’ts: ■ Class attendance is mandatory ■ Instructor’s permission is needed to miss a class
■ In the event of missing one or more classes, onus is on the student to procure missing class lectures.
■ Cellphone must be switched off or silenced during class lectures. Laptops & tablets are not permitted during lectures and exams, but could be used during class discussions.
Appropriate Journals:
IEEE Trans. on Software Engineering
IEEE Trans. on Computers
Communications of the ACM
Journal of the ACM
Operating Systems Review
Computer
ACM Symposium on Operating Systems
Computing Surveys
Lecture list:
1.Chapter 1: Introduction. Computer Systems Overview
2. Chapter 2: Operating Systems Structure
3. Chapter 3: Process Description and Control
4. Chapter 4: Threads.
5. Chapter 5: CPU scheduling
6. Chapter 6: Process Synchronization
7. Chapter 7: Deadlocks
8. Section A: Fundamentals of data communication and protocols
9. Section B: Local Area Networks
10. Section C: WAN and Internet
11. Chapter 8: Main Memory Management
12. Chapter 9: Virtual Memory Management
13. Chapter 13: I/O System
14: Chapter 10 & 11: File Systems
14. In-class Project presentation
15. Final Exam
Roughly each topic would require about a week to cover including the time for exams and presentations. Again, it is emphasized that we’d be learning a great deal from materials collected from the web and from each other working on the project in a group mode.
Homework: There will be 4 homework assignments. Each assignment would carry a weight of 25% with total assignment weight being 100%.
Evaluation Scheme: 3 tests + Assignment set + 1 Final + 1 Project.
■ Each test would be out of 100 as would be the Final exam.
■ The class project would be a topical area outlined in the course content in OS here. The students must chose and get approval from the instructor first before they undertake a topic as a project. It would be the student’s responsibility to ensure success in these endeavors. Each Project would be graded out of 200 points: 100 for oral presentation, 100 for written report. The project report (the written part) must be submitted to the instructor prior to or at the final exam event.
■ The final reported grade would be computed as follows. The sum total of the three tests (out of 100 each), the assignments, the Final exam and the project would be divided by 7 to get the average FGP (Final Grade Point). The corresponding letter-grade would be reported as follows: 90% or above (grade A), 80 - 89% (grade B), 70 - 79% (grade C), 60-69% (grade D) and below 59% (failing grade F).
Tentative Exam and project dates: (Assignment due dates would be announced in the class. These dates are subject to change.)
● Test1: (Sept 27, 2017)
● Test2: (Oct 18, 2017)
● Test3: (Nov.15, 2017)
● Project presentation in class (Nov 20, 22, 27, and 29)
● Final Exam (as per schedule from Register’s office)
Academic Integrity Policy: It’s important for all students to adhere to our Academic Integrity Policy (particularly Article III, Prohibited Behavior, Student Handbook, pp 50-54).
Accommodation for Students with Disabilities: In compliance with the Americans with Disabilities Act of 1990 and with Section 504 of the Rehabilitation Act, SUNY Polytechnic Institute is committed to ensuring educational access and accommodations for all its registered students seeking access to meet course requirements and fully participate in programs or activities. SUNY Poly students with documented disabilities and medical conditions are encouraged to request these services by registering with the Disability Services Office and discussing your need for accommodations. For information or an appointment contactDirector of Disability Services, located in Utica, B101 Kunsela Hall and in Albany in the Student Services Suite 309 Nano Fab South or by phone (315) 792-7170; or by email .
Acknowledgments: Lecture materials and video links suggested for use in this course are obtained from various sources as I saw fit. Wherever possible, I’ve tried to acknowledge them in my class website.
Learning Outcome: Students completing this course successfully are expected to
● Understand professional, ethical, legal, security and social issues and responsibilities
● Know techniques and mechanism used by OS to protect code/data from one another
● Compare and contrast different ways of structuring OS such as object-oriented, monolithic, micro-kernel and layered
● Describevarious process and memory management issues thoroughly
● Describe thread concepts and multithreading systems architectures
● Articulate concurrency issues and deadlock
● Know essential components of networking (particularly Internet)
This course would provide the willing students the very foundation needed to begin a career in
● systems programming
● systems and network administration