CSCI/CMPE 4334 Operating Systems Spring 2018

Similar documents
Applied Trumpet V VIII

MGMT 3362 Human Resource Management Course Syllabus Spring 2016 (Interactive Video) Business Administration 222D (Edinburg Campus)

HIST 3300 HISTORIOGRAPHY & METHODS Kristine Wirts

Corporate Communication

SYLLABUS FOR HISTORY 4362 FORMERLY HISTORY 4353 THE HISTORY OF MEXICAN CULTURE FALL, 2015

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

CS 100: Principles of Computing

Computer Architecture CSC

Monday/Wednesday, 9:00 AM 10:30 AM

Course Syllabus Advanced-Intermediate Grammar ESOL 0352

CRITICAL THINKING AND WRITING: ENG 200H-D01 - Spring 2017 TR 10:45-12:15 p.m., HH 205

Course Syllabus. Alternatively, a student can schedule an appointment by .

Human Development: Life Span Spring 2017 Syllabus Psych 220 (Section 002) M/W 4:00-6:30PM, 120 MARB

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

Course Syllabus MFG Modern Manufacturing Techniques I Spring 2017

ITM2500 Spreadsheet & Database Productivity. Spreadsheet & Database Productivity

MKT ADVERTISING. Fall 2016

Coding II: Server side web development, databases and analytics ACAD 276 (4 Units)

SOCIAL PSYCHOLOGY. This course meets the following university learning outcomes: 1. Demonstrate an integrative knowledge of human and natural worlds

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

Intensive English Program Southwest College

Class meetings: Time: Monday & Wednesday 7:00 PM to 8:20 PM Place: TCC NTAB 2222

ENGLISH 298: Intensive Writing

Phys4051: Methods of Experimental Physics I

Preferred method of written communication: elearning Message

The Policymaking Process Course Syllabus

General Microbiology (BIOL ) Course Syllabus

Dr. Zhang Fall 12 Public Speaking 1. Required Text: Hamilton, G. (2010). Public speaking for college and careers (9th Ed.). New York: McGraw- Hill.

Course Syllabus Art History II ARTS 1304

Texas A&M University-Central Texas CISK Comprehensive Networking C_SK Computer Networks Monday/Wednesday 5.

4:021 Basic Measurements Fall Semester 2011

BSW Student Performance Review Process

IPHY 3410 Section 1 - Introduction to Human Anatomy Lecture Syllabus (Spring, 2017)

FIN 571 International Business Finance

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

CS Course Missive

SAMPLE. PJM410: Assessing and Managing Risk. Course Description and Outcomes. Participation & Attendance. Credit Hours: 3

DEPARTMENT OF HISTORY AND CLASSICS Academic Year , Classics 104 (Summer Term) Introduction to Ancient Rome

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

An Introduction to Simio for Beginners

CMST 2060 Public Speaking

Syllabus ENGR 190 Introductory Calculus (QR)

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

CHEM 6487: Problem Seminar in Inorganic Chemistry Spring 2010

UNIVERSITY OF BALTIMORE SCHOOL OF LAW FALL SEMESTER 2017

Required Texts: Intermediate Accounting by Spiceland, Sepe and Nelson, 8E Course notes are available on UNM Learn.

Business Administration

International Environmental Policy Spring :374:315:01 Tuesdays, 10:55 am to 1:55 pm, Blake 131

COMM370, Social Media Advertising Fall 2017

Course Goal This is the final course in the developmental mathematics sequence and its purpose is to prepare students for College Algebra.

TRINITY VALLEY COMMUNITY COLLEGE COURSE SYLLABUS

VIRTUAL LEARNING. Alabama Connecting Classrooms, Educators, & Students Statewide. for FACILITATORS

University of Texas at Arlington Department of Accounting Fall 2011

ECON 484-A1 GAME THEORY AND ECONOMIC APPLICATIONS

COURSE DESCRIPTION PREREQUISITE COURSE PURPOSE

ACC 362 Course Syllabus

BUS Computer Concepts and Applications for Business Fall 2012

The University of Texas at Tyler College of Business and Technology Department of Management and Marketing SPRING 2015

English Policy Statement and Syllabus Fall 2017 MW 10:00 12:00 TT 12:15 1:00 F 9:00 11:00

Financial Accounting Concepts and Research

Indiana University Northwest Chemistry C110 Chemistry of Life

Advanced Multiprocessor Programming

Marketing Management MBA 706 Mondays 2:00-4:50

TRINITY VALLEY COMMUNITY COLLEGE COURSE SYLLABUS

Texas A&M University-Kingsville Department of Language and Literature Summer 2017: English 1302: Rhetoric & Composition I, 3 Credit Hours

Name: Giovanni Liberatore NYUHome Address: Office Hours: by appointment Villa Ulivi Office Extension: 312

Computer Organization I (Tietokoneen toiminta)

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Instructor Experience and Qualifications Professor of Business at NDNU; Over twenty-five years of experience in teaching undergraduate students.

Cleveland State University Introduction to University Life Course Syllabus Fall ASC 101 Section:

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

ACC 380K.4 Course Syllabus

THE UNIVERSITY OF WESTERN ONTARIO. Department of Psychology

HARRISBURG AREA COMMUNITY COLLEGE ONLINE COURSE SYLLABUS

Shank, Matthew D. (2009). Sports marketing: A strategic perspective (4th ed.). Upper Saddle River, NJ: Pearson/Prentice Hall.

Biology 1 General Biology, Lecture Sections: 47231, and Fall 2017

University of Colorado Boulder, Program in Environmental Design. ENVD : Urban Site Analysis and Design Studio, Summer 2017

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Computer Science 1015F ~ 2016 ~ Notes to Students

General Chemistry II, CHEM Blinn College Bryan Campus Course Syllabus Fall 2011

Philosophy in Literature: Italo Calvino (Phil. 331) Fall 2014, M and W 12:00-13:50 p.m.; 103 PETR. Professor Alejandro A. Vallega.

AGN 331 Soil Science. Lecture & Laboratory. Face to Face Version, Spring, Syllabus

Texas A&M University - Central Texas PSYK EDUCATIONAL PSYCHOLOGY INSTRUCTOR AND CONTACT INFORMATION

AGN 331 Soil Science Lecture & Laboratory Face to Face Version, Spring, 2012 Syllabus

TITLE IX COMPLIANCE SAN DIEGO STATE UNIVERSITY. Audit Report June 14, Henry Mendoza, Chair Steven M. Glazer William Hauck Glen O.

PHO 1110 Basic Photography for Photographers. Instructor Information: Materials:

Dutchess Community College College Connection Program

Course Title: Dealing with Difficult Parents

IST 440, Section 004: Technology Integration and Problem-Solving Spring 2017 Mon, Wed, & Fri 12:20-1:10pm Room IST 202

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS APPLIED MECHANICS MET 2025

Advanced Multiprocessor Programming

COMP 3601 Social Networking Fall 2016

EDU 614: Advanced Educational Psychology Online Course Dr. Jim McDonald

Syllabus: INF382D Introduction to Information Resources & Services Spring 2013

4:021 Basic Measurements Fall Semester 2010

A Guide to Supporting Safe and Inclusive Campus Climates

Transcription:

CSCI/CMPE 4334 Operating Systems Spring 2018 Instructor: David L. Egle Office: ENGR 3.296 Phone: 665-3518 E-Mail: david.egle@utrgv.edu Website: faculty.utrgv.edu/david.egle/csci4334 Office Hours: MW 1:45-2:45, TR 2-3, F 11-12 Other times by appointment Text: Operating Systems - A Modern Perspective, 3rd Edition, by Gary Nutt Course Prerequisites: CSCI/CMPE 3334 Course Description: The purpose of this course is to teach the design of operating systems. We will cover major topics such as process management, memory management, file systems, and distributed operating systems. Grading: 30% - 2 major exams 15% - Homework 35% - Programming projects 20% - Final exam Projects: There will be a number of programming projects relating to the Linux kernel. All projects will use the C programming language. If you have C++ before, you will have no difficulty understanding the source code given. Project Grading: For each of the projects, I will look for the following items: Clarity: Programs should be well written and well documented. Organization: Programs should be written in well defined modules and interface (parameters) should be well defined. Format: Programs should be clear and very readable. Correctness: Programs should generate correct results. Robustness: Programs should handle unexpected input properly. Simplicity: While achieving the above goals, the simpler the program is, the better. Electronic submission: All projects will be submitted electronically only. Instructions are given separately. Late policy: All assignments should be turned in on their due date. Programs turned in late will be graded on the following basis: no more than 1 week late: 10% penalty no more than 2 weeks late: 30% penalty no more than 3 weeks late: 50% penalty more than 3 weeks late: no credit (grade is 0)

Drops: The last day to drop the course is April 12, 2018 (date subject to change). Students considering dropping the class should be aware of the 3-peat rule and the 6- drop rule so they can recognize how dropped classes may affect their academic success. The 6-drop rule refers to Texas law that dictates that undergraduate students may not drop more than six courses during their undergraduate career. Courses dropped at other Texas public higher education institutions will count toward the six-course drop limit. The 3-peat rule refers to additional fees charged to students who take the same class for the third time. Students Who Need Special Accommodation: If you have a documented disability (physical, psychological, learning, or other disability which affects your academic performance) and would like to receive academic accommodations, please inform your instructor and contact Student Accessibility Services to schedule an appointment to initiate services. It is recommended that you schedule an appointment with Student Accessibility Services before classes start. However, accommodations can be provided at any time. Student Accessibility Services is located in 108 University Center and can be contacted by phone at (956) 665-7005 (Voice), (956) 665-3840 (Fax), or via email at accessibility@utrgv.edu. SCHOLASTIC INTEGRITY: As members of a community dedicated to Honesty, Integrity and Respect, students are reminded that those who engage in scholastic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and expulsion from the University. Scholastic dishonesty includes but is not limited to: cheating, plagiarism, and collusion; submission for credit of any work or materials that are attributable in whole or in part to another person; taking an examination for another person; any act designed to give unfair advantage to a student; or the attempt to commit such acts. Since scholastic dishonesty harms the individual, all students and the integrity of the University, policies on scholastic dishonesty will be strictly enforced (Board of Regents Rules and Regulations and UTRGV Academic Integrity Guidelines). All scholastic dishonesty incidents will be reported to the Dean of Students. Therefore, you are expected to create your own programs with no assistance from any source other than your notes, textbook, and your instructor. Copying, collusion, and other forms of plagiarism will not be tolerated. Programs which are not your own work will not earn any credit. Mandatory Course Evaluation Period: Students are required to complete an ONLINE evaluation of this course, accessed through your UTRGV account (http://my.utrgv.edu); you will be contacted through email with further instructions. Students who complete their evaluations will have priority access to their grades. SEXUAL HARASSMENT, DISCRIMINATION, and VIOLENCE In accordance with UT System regulations, your instructor is a responsible employee for reporting purposes under Title IX regulations and so must report any instance, occurring during a student s time in college, of sexual assault, stalking, dating violence,

domestic violence, or sexual harassment about which she/he becomes aware during this course through writing, discussion, or personal disclosure. More information can be found at www.utrgv.edu/equity, including confidential resources available on campus. The faculty and staff of UTRGV actively strive to provide a learning, working, and living environment that promotes personal integrity, civility, and mutual respect in an environment free from sexual misconduct and discrimination. Learning outcomes: At the end of this course, the student should be able to: 1. Explain the organization of the classical von Neumann machine and its major functional units. 2. Explain how an instruction is executed in a classical von Neumann machine. 3. Explain different instruction formats, such as addresses per instruction and variable length vs. fixed length formats. 4. Describe the principles of memory management. 5. Explain how interrupts are used to implement I/O control and data transfers. 6. Explain the objectives and functions of modern operating systems. 7. Describe how operating systems have evolved over time from primitive batch systems to sophisticated multiuser systems. 8. Analyze the tradeoffs inherent in operating system design. 9. Describe the functions of a contemporary operating system with respect to convenience, efficiency, and the ability to evolve. 10. Discuss networked, client-server, distributed operating systems and how they differ from single user operating systems. 11. Identify potential threats to operating systems and the security features design to guard against them. 12. Describe how issues such as open source software and the increased use of the Internet are influencing operating system design. 13. Defend the need for APIs and middleware. 14. Describe how computing resources are used by application software and managed by system software. 15. Contrast kernel and user mode in an operating system. 16. Discuss the advantages and disadvantages of using interrupt processing. 17. Compare and contrast the various ways of structuring an operating system such as object-oriented, modular, micro-kernel, and layered. 18. Explain the use of a device list and driver I/O queue. 19. Describe the need for concurrency within the framework of an operating system. 20. Demonstrate the potential run-time problems arising from the concurrent operation of many separate tasks. 21. Summarize the range of mechanisms that can be employed at the operating system level to realize concurrent systems and describe the benefits of each. 22. Explain the different states that a task may pass through and the data structures needed to support the management of many tasks. 23. Summarize the various approaches to solving the problem of mutual exclusion in an operating system. 24. Describe reasons for using interrupts, dispatching, and context switching to support

concurrency in an operating system. 25. Create state and transition diagrams for simple problem domains. 26. Discuss the utility of data structures, such as stacks and queues, in managing concurrency. 27. Explain conditions that lead to deadlock. 28. Compare and contrast the common algorithms used for both preemptive and non-preemptive scheduling of tasks in operating systems, such as priority, performance comparison, and fair-share schemes. 29. Describe relationships between scheduling algorithms and application domains. 30. Discuss the types of processor scheduling such as short-term, medium-term, long-term, and I/O. 31. Describe the difference between processes and threads. 32. Compare and contrast static and dynamic approaches to real-time scheduling. 33. Discuss the need for preemption and deadline scheduling. 34. Explain memory hierarchy and cost-performance tradeoffs. 35. Explain the concept of virtual memory and how it is realized in hardware and software. 36. Summarize the principles of virtual memory as applied to caching, paging, and segmentation. 37. Evaluate the tradeoffs in terms of memory size (main memory, cache memory, auxiliary memory) and processor speed. 38. Defend the different ways of allocating memory to tasks, citing the relative merits of each. 39. Describe the reason for and use of cache memory. 40. Compare and contrast paging and segmentation techniques. 41. Discuss the concept of thrashing, both in terms of the reasons it occurs and the techniques used to recognize and manage the problem. 42. Analyze the various memory portioning techniques including overlays, swapping, and placement and replacement policies. ABET Program Outcomes (a) An ability to apply knowledge of computing and mathematics appropriate to the discipline (b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution (c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs (i) An ability to use current techniques, skills, and tools necessary for computing practice (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices (k) An ability to apply design and development principles in the construction of software systems of varying complexity

The following is a general outline for the course and may be revised as the semester progresses. Week Topic Chapters 1 Introduction and overview of operating systems 1, 2 2 Operating system organization 3, 4.1-4.3 3 Devices and their management 4.4-4.6, 5 4 Process management 6 5 Process scheduling 7 6 Basic synchronization -- EXAM 1 8 7 High-level synchronization 9 8 Deadlock 10 9 Memory Management 11 10 Virtual memory 12 11 File management -- EXAM 2 13 12 More on file management; Protection & security 13, 14 13 Networks 15 Final Exam Monday May 7, 10:15-12 pm

Electronic Submission of Projects For every programming project you do, you should create a separate directory on the Linux computers in the CS Lab (ENGR 2.212), for example, 4334/proj1. Keep all related files in that directory. When the project is finished, you just send me an email. The subject line should include your full name and project number. In the body of the message, you should tell me the full name of the directory where your program files reside on the computers in the lab. After reading and testing your program, I'll send you an email with my comments and grade. For convenience, please include your email address in every submission. The Linux systems in our lab do not receive email. For each of the projects, you should have the following in your directory: A README file briefly describing your solution to the problem. The file should be in plain text so I can read it without Word or other software. A TESTCASE file listing the test cases you have used and the results generated, and explain what they mean. All source code and user-created header files. A makefile that governs the compilation of the project. Do not leave extra files in your directory. Each file should contain your name, the class section, the assignment number, the date and instructor's name.