DOC PREVIEW
UB CSE 421 - CSE 421 Syllabus

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)PercentageCOMPONENT 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 2005Course DescriptionAn Operating System is a complex software package that manages the resources of a computer system, and providesthe base upon which applications can be written. In this course we will study the basic components of an operatingsystem, their functions, mechanisms, policies and techniques used in their implementation and several examplesfrom 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 applicationdevelopment; 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++) using experimental operating system Nachos will support concepts discussedduring the lecture. On completion of this course students will be able to understand the components and working ofan operating system and to design and implement various operating system functions.Course InformationNewsgroup: sunyab.cse.421Website: http://www.cse.buffalo.edu/~bina/cse421/fall2005Instructor: Bina Ramamurthy ([email protected])Lecture Time: CSE421/521: MWF: 9:00-9:50PMLecture Location: 110 KnoxOffice: 127 Bell Hall Office Hours: MW: 10.00-11.30AMRecitation A1: Tue 11.00 – 11.50AM, Norton 213, TA: Recitation A2: Wed 10.00 – 10.50AM, Baldy 117, TA: Recitation A3: Fri 3.00 – 3.50PM, Norton 209, TA: Textbook and other materialThe primary textbook for this course is:Operating System Concepts by Siberchatz, Galvin and Gagne, Seventh Edition, John-Wiley and Sons, 2004.While there are no other required textbooks, you should have in your possession appropriate reference books forboth the C and C++ programming languages. Pre-requisitesThe pre-requisites for this course include CSE241/EE378 and CSE305 or an equivalent course. CSE421 is thecapstone course for your Bachelor degree within the Department of Computer Science and Engineering. The courserequires the use of many skills that you have developed and refined over the last several semesters. Due to the skilllevel 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 thecurrent one, and that you achieved a grade of C- or higher. If you do not possess the pre-requisites, you must dropthe course immediately. Failure to do so will result in the department dropping you from the course at yourexpense.You will also be working on several large programming projects over the course of the semester. You must have astrong working knowledge of C (intermediate level background or above). You must also have enough experiencewith 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. 1Grading DistributionGrades will consist of the following components:Component (Quantity) PercentageLabs (3) 20%, 15%, 15%Midterm (1) 20%Final (1) 30%Point distribution guideline will be as follows:Points >= 95 90 85 80 75 70 65 60 55 50 <50Grade A A- B+ B B- C+ C C- D+ D FCOMPONENT PASS POLICY: IN ORDER TO PASS THIS COURSE, YOU MUST HAVE PASSINGWEIGHTED COMPONENT AVERAGES (WEIGHTED COMPONENT AVERAGES MUST BE GREATERTHAN 49.99) THERE WILL BE TWO COMPONENTS THIS SEMESTER. COMPONENT 1 IS THE EXAMCOMPONENT CONSISTING OF THE MIDTERM AND FINAL. COMPONENT 2 IS THE LAB COMPONENTCONSISTING OF THE THREE PROJECTS.LabsLab assignments constitute a major portion of the course. Over the semester, you will be given three labassignments. The assignments will require you to alter and extend the capabilities of an instructional OperatingSystem called Nachos. The Nachos Operating System provides both the instructor and the student with the abilityto explore important implementation concepts without the hassle of a stand-alone development machine. The labexperiments 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 ofsecurity. Do not think you have a lot of time to implement each lab! Although many parts of the Nachos labassignment only require a few lines of code to implement, each lab does require that you have a strongunderstanding of the existing code. This understanding takes time, patience, and an experimenting attitude.Remember, it is better to submit your solution every so often before the due date!For each project, we will have a Nachos Walk-Through day in lecture. During these walkthroughs, we will showyou what areas of code to look at, what you need to do, and different approaches to help you design your solution.During walk-through days, we may constrain or relax some of the conditions of the lab assignments, so it isimportant to attend!Develop your code using the Incremental Development technique. Do not try to sit down and code the entireassignment in one sitting. Instead, take one section at a time, implement, test it, back up the code, and move on tothe next section.You will turn in each lab before 11:59 PM on the due date via the


View Full Document

UB CSE 421 - 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 CSE 421 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 CSE 421 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 CSE 421 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?