DOC PREVIEW
UB CSE 421 - Introduction to Operating Systems

This preview shows page 1 out of 4 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Course DescriptionComponent (Quantity)PercentagePoint RangeLetter GradeNOTE : ( COMPONENT PASS POLICY ( IN ORDER TO PASS THIS COURSE, YOU MUST HAVE PASSING WEIGHTED COMPONENT AVERAGES (WEIGHTED COMPONENT AVERAGES MUST BE GREATER THAN 49.99) THERE WILL BE TWO COMPONENTS THIS SEMESTER. COMPONENT 1 IS THE EXAM COMPONENT CONSISTING OF THE MIDTERM AND FINAL. COMPONENT 2 IS THE LAB COMPONENT CONSISTING OF THE THREE PROJECTS.CSE 4/521 Introduction to Operating Systems Fall 2009 Course Description An Operating System is a complex software package that manages the resources of a computer system, and provides the base upon which applications can be written. In this course we will study the basic components of an operating system, their functions, mechanisms, policies and techniques used in their implementation and several examples from popular operating systems. The components, which will be discussed, include: • Process management: process description and control, system calls, concurrency, mutual exclusion, synchronization, inter-process communication, deadlock and scheduling. • Multiprogramming and concurrency using processes. Programming with threads: creation, multi-threaded programs, synchronization, and scheduling. • Storage management: virtual memory, I/O management and file systems. • Networking and distributed systems: network protocols, two-tier and three-tier client/server application development; issues in building a distributed systems. • Protection and security: protecting resources, security threats, public key encryption, access control, and network security. Hands on practical projects in C++ will support concepts discussed during the lecture. On completion of this course students will be able to understand the components and working of an operating system and the design and implement various operating system functions. Course Information Newsgroup: sunyab.cse.421 Website: http://www.cse.buffalo.edu/~bina/cse421/fall2009 Instructor: Bina Ramamurthy ([email protected]) Lecture Time: TTh: 8.00-9.20AM Lecture Location: Knox 104 Office: 127 Bell Hall Office Hours: TTh:9.30-11.00AM Recitations: A1: T 11.00-11.50 AM Talbert 103 A2: W 10.00-10.50 AM Norton 213 A3: F 3.00-3.50 AM Talbert 103 Textbook and other material Lectures will be based on the text book: Operating Systems A spiral Approach by R. Elmasri, A.G. Carrick, D. Levine, McGraw-Hill Inc, 2010. The second book: Systems Programming with C and Unix by Adam Hoover, Addison-Wesley, 2009 Lecture notes will be based on these books and extra information prepared by the instructor and the TAs over the years. 1Pre-requisites CSE421 is the capstone/core course for your degree within the Department of Computer Science and Engineering. The course requires the use of many skills that you have developed and refined over the last several semesters. Due to the skill level required and inherent difficulty of this course, it is required that you have successfully completed the pre-requisite courses. Successful completion means that you have completed the course in a semester prior to the current one, and that you achieved a grade of C- or higher. The pre-requisites for this course include CSE241/EE378 and CSE305 or equivalent courses. If you do not possess the pre-requisites, you must drop the course immediately. Failure to do so will result in the department dropping you from the course at your expense. Computer Architecture will help with the hardware concepts, and 305 will provide broader exposure to programming languages. You will also be working on several large programming projects over the course of the semester. You must have a strong working knowledge of C (intermediate level background or above). You must also have enough experience with C++ to understand the fundamentals of classes. This knowledge should extend to dynamic allocation and de-allocation of instances and fundamental pointer operations for class instances. NOTE: It is NOT the intent of this course to teach you how to program in a new programming language. I assume you should be able to pick up the essentials of any programming language within a few weeks. Much of the lab work revolves around strong design, which you have all been exposed to since Programming/Computer Science I. Also use the second book recommended above for your programming projects (labs). Grading Distribution Grades will consist of the following components: Component (Quantity) Percentage Labs (3) 15%, 20%, 20% Exam 1 20% Exam 2 25% Point distribution guideline will be as follows: Point Range Letter Grade95.00-100 A 90.00-94.99 A- 85.00-89.99 B+ 80.00-84.99 B 75.00-79.99 B- 70.00-74.99 C+ 65.00-69.99 C 60.00-64.99 C- 55.00-59.99 D+ 50.00-54.99 D 0-49.99 F I reserve the right to alter component weighting or provide a “curve” on an assignment as warranted. 2NOTE : Æ COMPONENT PASS POLICY Å IN ORDER TO PASS THIS COURSE, YOU MUST HAVE PASSING WEIGHTED COMPONENT AVERAGES (WEIGHTED COMPONENT AVERAGES MUST BE GREATER THAN 49.99) THERE WILL BE TWO COMPONENTS THIS SEMESTER. COMPONENT 1 IS THE EXAM COMPONENT CONSISTING OF THE MIDTERM AND FINAL. COMPONENT 2 IS THE LAB COMPONENT CONSISTING OF THE THREE PROJECTS. Labs Lab assignments constitute a major portion of the course. Over the semester, you will be given three lab assignments. The lab experiments will cover fundamental areas of Operating System development. You will be given approximately 25 – 30 days to complete each exercise. Do not be lulled into a safe sense of security. Do not think you have a lot of time to implement each lab! All due dates will be clearly printed on the top of each assignment. Late assignments will not be accepted for any reason. Remember, it is better to submit your solution every so often before the due date! Develop your code using the Incremental Development technique. Do not try to sit down and code the entire assignment in one sitting. Instead, take one section at a time, implement, test it, back up the code, and move on to the next section. You will turn in each lab before 11:59 PM on the due date via the departmental submit command. You must also include appropriate testing programs to show the validity of your solution. In addition, you must include external documentation discussing the “how’s and why’s” of your design and implementation. You will be required to


View Full Document

UB CSE 421 - Introduction to Operating Systems

Documents in this Course
Security

Security

28 pages

Threads

Threads

24 pages

Security

Security

20 pages

Security

Security

52 pages

Security

Security

20 pages

Load more
Download Introduction to Operating Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction to Operating Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction to Operating Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?