|
contents: |
Course descriptionThis course is an overview of the software required to integrate computer hardware into a functional system. The following topics are covered: operating systems as resource managers and as virtual machines; system calls, in particular those required for process and file management; interrupt driven systems; concurrency; memory management; and file systems, and security. Required textbook(s)A.S. Tanenbaum, "Modern Operating Systems," 3rd ed., Prentice Hall, Upper Saddle River, NJ, 2008. An introduction to the vi editor is very useful. You are free to use emacs as well. Both vi and emacs are freely available for Windows. You will find an introductory C programming text useful. An online version is available here and continued here. Another useful online resource is here. Although we will focus on C, C and C++ information is available at cplusplus.com. An MPI tutorial as well as the MPI functions documentation is also useful. Course goals and objectivesStudents who complete this course should be able to perform the following tasks:
Prerequisites
Major topics covered in the course
Assignments/ProjectsPlease refer to the course schedule for a list of assignments. Note: The course includes a sequence of hands on assignments using the Linux operating system and the C programming language. Typical assignments include:
Unless otherwise directed, email me a copy of your code. Also, hand in a printout of your code as well as a printout of sample test runs. Your code will also be graded according to readability as well as correct execution. A grade of 'A' requires correct, readable code as well as sufficient comments and example test runs. I would also like you to use some code formatting standard such as the popular Indian Hill style guide. You are free to follow any other reasonable standard but please provide me with a reference to that standard. You are required to use some professional-level code documentation framework such as doxygen (which supports C, C++, and Java). doxygen is typically installed by default with Linux. You must download it for use under Windows. |
|
|