UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 8530 Advanced Operating Systems Fall 2011 Course Notes Class Meetings This class will meet from 5 30 PM to 6 45 PM in PKI 256 each Tuesday and Thursday from August 23 through December 8 2011 except for Tuesday October 18 semester break and Thursday November 24 Thanksgiving break Instructor The instructor for this class is Professor Stanley Wileman His office is PKI 281E His phone number is 554 3583 voice mail is never listened to or answered and the department s telephone number is 554 2834 Electronic mail may be sent to stanw unomaha edu please use a subject that uniquely identifies the course e g CSCI 8530 as this is not the only operating systems course being taught Office hours are 3 00 PM to 4 00 PM Tuesday and Thursday Other office hours are available preferably by appointment Check the instructor s web site see below for any changes to this schedule Prerequisites This course assumes students have a good understanding of basic operating system principles similar to that provided by a traditional introductory undergraduate operating systems course In particular the major functions of an operating system should be familiar as should the basic algorithms and techniques used for implementing them Concepts of concurrent programming including processes threads and various mechanisms for interprocess communication should be familiar In particular it is expected that students will have familiarity with the API for a traditional UNIX Linux operating system including such things as input output and process management Course Organization This course has two major parts In the first part of the semester the source code for a small operating system called Tempo is examined in detail While this system is not commercially viable it does illustrate the implementation and problems associated with many major operating system concepts e g interrupts processes threads scheduling memory management process synchronization file systems device drivers Various assignments will be given that require use and modification of the system The second part of the semester is an introduction to real time programming and real time systems The basic fundamentals of real time systems and how they differ from non realtime systems are covered Building on basic understanding of the UNIX system API actually POSIX definitions of these real time extensions are covered in reasonable detail An introduction to the development of reliable systems is provided and simple techniques for improving system reliability are discussed The fundamentals of real time scheduling are covered including such things as cyclic executives rate monotonic and deadline monotonic scheduling and various algorithms for solving the priority inversion problem Several small real time programming assignments are given and a larger realtime project sometimes involving external hardware such as motors sensors and so forth will be assigned time permitting Computer Science 8530 Course Notes Page 1 Fall 2011 Textbook Text material for the course is provided by the instructor through the class web site mentioned below On line reference material for the Intel IA 32 processor family various system devices and the QNX operating system is provided through the class web site or in the Tempo operating system distribution Web Sites The instructor s web site is found at http cs unomaha edu stanw The web pages for the class will contain copies of material distributed in class Adobe Acrobat versions of the Power Point class presentations programming assignments and other items of interest The home page can be found at http cs unomaha edu stanw 113 csci8530 index html Students should regularly refer to the web site for the latest information about the class Grading Grades will be based on multiple components several small Tempo assignments 15 percent total the Tempo project 25 percent several small QNX POSIX programming assignments 15 percent total the QNX POSIX project 15 percent a midterm examination 15 percent and a final examination 15 percent Programming Assignments Programming assignments will vary significantly in difficulty and scope Some those involving Tempo will require the use of a Windows or Linux system probably with the Cygwin and Bochs software installed while others will require the use of the QNX operating system Details will be provided with each assignment It will likely be beneficial to install Cygwin Bochs and Tempo on a personal Windowsbased PC to avoid the time required to install them on a public PC each time you want to work Projects There are usually two major projects associated with this course one using the Tempo system and the other using QNX The Tempo project can be completed using either a Windows platform with Cygwin or a Linux platform the Bochs software is highly recommended and will be used in evaluating submitted work Cygwin and Bochs are both freely available on the Internet details on their acquisition installation and use are given in the Tempo distribution The QNX project programming must be done on a QNX platform and a networked server is provided for student use The QNX Neutrino system will be used to complete the programming components of the project and some of the assignments details will be provided Additionally the QNX project may require the use of specialized external devices to be controlled in real time There will be a limited number of these devices produced and they will only be available in a PKI laboratory use of which must be scheduled Detailed instructions will be provided for those students who wish to attempt construction of their own copy of the external device Computing Resources Accounts on the QNX server will be provided for use in completing the assignments for the course You are expected to be aware of and abide by the policy for responsible use of university computers and information systems It can be found at http www nebraska edu about exec memo16 pdf Attendance Expectations No record will be kept of student attendance in this class nor will attendance itself be a direct component of a grade Attendance however is highly encouraged Each student is responsible for all material covered during the lectures The instructor will not repeat lecture material for students who do not attend Computer Science 8530 Course Notes Page 2 Fall 2011 Professionalism It is assumed that you possess the potential and intent to become or already are a professional Make
View Full Document
Unlocking...