This preview shows page 1-2 out of 5 pages.

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

Unformatted text preview:

1CSE 4/521 Introduction to Operating Systems Fall 2007 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/fall20072007 Instructor: Bina Ramamurthy ([email protected]) Lecture Time: MWF: 9.00-9.50AM Lecture Location: NSC 210 Office: 127 Bell Hall Office Hours: WF 10.00-11.30AM Recitation A1: T 11.00 – 11.50 AM, Clemens 4 Recitation A2: W 10.00 –11.50 AM, Clemens 4 Recitation A4: F 3.00 – 3.50 PM, Norton 213 Textbook and other material The primary textbook for this course is: Modern Operating System by Andrew S. Tannenbaum, Second Edition, Prentice-Hall Inc., 2001. While there are no other required textbooks, you should have in your possession appropriate reference books for both the C and C++ programming languages. I would strongly suggest Kernighan and Ritchie’s The C Programming Language and Stroustrup’s The C++ Programming Language. Pre-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 dropping2you 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 that since you are all seniors in Computer Science and Engineering 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. Grading Distribution Grades will consist of the following components: Component (Quantity) Percentage Labs (3) 15%, 20%, 20% Midterm (1) 20% Final (1) 25% Point distribution guideline will be as follows: Point Range Letter Grade 95.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. NOTE : Æ 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 on3to 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 demonstrate your lab to your TA. The TA will also run test examples against your code to check your solution’s overall correctness. The TA will provide a demo schedule. It is your responsibility to demo your project, or you will receive a zero for that portion of the grade. When your grade is assigned for the lab,


View Full Document

UB CSE 421 - Syllabus

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 Syllabus
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 Syllabus 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 Syllabus 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?