Instructor: dr. Lawrence osborne



Download 24.64 Kb.
Date09.01.2017
Size24.64 Kb.
#8667
COSC 5302-01

ADVANCED OPERATING SYSTEMS


Spring 2005

INSTRUCTOR: DR. LAWRENCE OSBORNE

OFFICE: 201 MAES

OFFICE HOURS: 8:00 a.m. to 10:00 a.m. MW, and by appointment

CLASS MAILING LIST: cs5302@cs.lamar.edu

CLASS WEBPAGE: http://cs.lamar.edu

TEXTBOOKS: Andrew S. Tanenbaum & Maarten van Steen, Distributed Systems: Principles and Paradigms, Prentice-Hall (2002) ISBN 0-13-088893-1.

Robbins, Kay A., and Robbins, Steven, UNIX Systems Programming: Communication, Concurrency, and Threads. Prentice-Hall Publishers, (2003), ISBN 0-13-042411-0.

OTHER SOURCES: Coulouris, Dollimore, and Kindberg, Distributed

Systems: Concepts and Design, Third Edition,

Addison-Wesley, 2001.


Singhal and Shivaratri, Advanced Concepts in

Operating Systems, McGraw-Hill, Inc., 1994.
Tanenbaum, Modern Operating Systems, Second

Edition, Prentice-Hall, 2001.


Distributed Systems, ed. Mullender, Second Edition,

Addison-Wesley, 1993.


M.L. Liu, Distributed Computing, Principles and

Applications, Addison-Wesley, 2004. ISBN 0-201-

79644-9.


GRADING: Assigned Readings & Participation in Class 5 %

Midterm Exam: 20 %

Final Exam: 20 %

Homework and Three Quizzes: 30 %

Project: 25 %



A weighted average of your total points based on this grading scheme will determine your final grade.

PREREQUISITES: Data Structures COSC 2371), Operating Systems (COSC 4302), Computer Architecture (COSC 4310), and a course in probability and statistics. Students should be familiar with C and socket programming with UNIX system calls.




GOALS

This course is intended to be a second course in operating systems for graduate students in computer science. The course is meant to provide a basic foundation in the design of advanced operating systems. Therefore, instead of discussing the design and structure of a specific operating system, the course emphasizes the fundamental concepts and mechanisms which form the basis of the design of advanced operating systems. This course provides an in-depth examination of the principles of distributed systems in general, and distributed operating systems in particular. Covered topics include processes and threads, concurrent programming, distributed interprocess communication, deadlock protection, multiprocessor scheduling, distributed process scheduling, shared virtual memory, distributed file systems, fault tolerance in distributed systems, distributed middleware and applications such as the web and peer-to-peer systems. Some coverage of operating system principles for multiprocessors will also be included. A brief overview of advanced topics such as multimedia operating systems, real-time operating systems and mobile computing will be provided, time permitting. The main emphasis is on the various alternative approaches to the solution of problems encountered in the design of distributed systems.

This course builds upon the topics covered in undergraduate operating systems course, such as process synchronization, interprocess communication, and file system organization. These topics are studied in the context of distributed systems.


Course Policies

The Computer Science Department Honesty Policy will be strictly enforced in this course. Cheating on an examination or quiz will result in a zero on the exam. Since your grade will be based on total points, a zero on either the midterm or the final will reduce your final letter grade considerably. Academic dishonesty is an egregious offense against the entire class and will not be tolerated. The final examination will be comprehensive. If the midterm or the final is missed, a makeup exam will only be given in the case of a documented illness or death in the family. The fact that your car does not run or that you wish to be with your girlfriend/boyfriend at the hospital are examples of excuses that will not be accepted. Students who plagiarize from the Internet or other sources, those who copy source code from other students, and those students who knowingly or unknowingly allow other students to copy from them will be penalized with a zero on any homework assignments in which this occurs. Due dates for assignments will be enforced. Late assignments will be penalized depending on the length of the delay and the difficulty level of the assignment. They may not be accepted at all.



It is the responsibility of the student to find out what assignments have been missed after returning from an illness or other emergency. I feel no obligation to rescue students who do not turn in assignments on schedule. In fact, I could not do that even if I were so inclined.
Suggested Readings

General Readings


  • Overview Papers

    1. Andrew S. Tannenbaum and Robbert van Renesse, ``Distributed Operating Systems'', Computing Surveys, Vol. 17, No. 4, Pages 419-470, December 1985

    2. E. Levy and A. Silberschatz, ``Distributed File Systems: Concepts and Examples'', ACM Computing Surveys, Vol. 22, No. 4, Pages 321-374, December 1990



  • Distributed Computing

    1. Jim Basney and Miron Livny, "Deploying a High Throughput Computing Cluster", High Performance Cluster Computing, Rajkumar Buyya, Editor, Vol. 1, Chapter 5, Prentice Hall PTR, May 1999.



    2. The Worldwide Computer. An operating system spanning the Internet would harness the power of millions of the world's networked PCs. Scientific American, February 2002


Readings for Chapter 2 Communication


  • Remote Procedure Call

    1. Andrew Birrell and Bruce Nelson, “Implementing RPCs”, ACM Transactions on Computer Systems, Vol. 2, No. 1, Pages 39-59, February 1984.

    2. B. Bershad, T. Anderson, E. Lazowska, and H. Levy, ``Lightweight Remote Procedure Call'', Proceedings of the 12th ACM Symposium on Operating Systems Principles, Operating Systems Review, Vol. 23, No. 5, Pages 12-113, December 1989

    3. Tutorials on RPC programming in UNIX and Linux and rpcgen

      • Remote Procedure Calls I., Sun RPC, by Francisco Moya Fernandez

      • Remote Procedure Calls (RPC) at and http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003300000000000000000

      • Protocol Compiling and Lower Level RPC Programming tutorials on RPC programming at http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003400000000000000000

    4. Waldo, “Remote Procedure Calls and Java Remote Method Invocation.” IEEE Concurrency, vol. 6, no. 8, pp. 5-7, July 1998. Available at http://www.mcs.vuw.ac.nz/courses/COMP413/2003T1/Handouts/waldo98.pdf

    5. Open Grid Architecture, at http://www.globus.org/research/papers/ogsa.pdf

    6. Foster, I., Kellselman, C., Nick, J., and S. Tueke, “Grid Services for Distributed Integration”, IEEE Computer, June 2002, p. 37-46, found at http://www.globus.org/research/papers/ieee-cs-2.pdf


Readings for Chapter 3 Processes


  • Process and Thread Management

    1. Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy, ``The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors'', IEEE Transactions on Computers, Vol. 38, No. 12, Pages 1631-1644, December 1989

    2. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy, “Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism”, ACM Transactions on Computer Systems, 10(1), February 1992, pp. 53-79, available at http://citeseer.nj.nec.com/anderson92scheduler.html




  • Scheduling

    1. D. L. Black, "Scheduling Support for Concurrency and Parallelism in the Mach Operating System," IEEE Computer, 23, 5, Pages 35-43, May 1990.

  • Process Migration

    1. F. Douglis and J. Ousterhout, ``Process Migration in the Sprite Operating System'', In Proceedings of the IEEE International Conference on Distributed Computing Systems, Berlin, Germany, Pages 18-25, September 1987

    2. M.Theimer, K.Lantz, D.Cheriton, ``Preemptable Remote Execution'', Proceedings of the 10th SOSP, Operating Systems Review, Vol. 19, No. 5, Pages 2-12, December 1985


Readings for Chapter 10: Distributed File Systems


  • Internet File Systems
    1. S. Ghemawat, H. Bobioff, and S-T Leung, “The Google File System, “ SOSP 2003, New York, October 19-22, 2003. Available at http://www.cs.rochester.edu/sosp2003/papers/p125-ghemawat.pdf





Readings for Consistency and Replication


  • Shared Memory Computing




    1. Christiana Amza, Alan L. Cox, Sandhya Dwarkadas, Pete Kelecher, Honghui Lu, Ramakrishnan Rajamony, Weimin Yu, Willy Zwaenepoel, “TreadMarks: Shared Memory Computing on Networks of Workstations”, IEEE Computer, 29(2), 1996, p. 18-28.


Readings for Distributed Resource Management and Scheduling


  • Global Memory Management

    1. M. Freeley, W. Morgan, F. Pighim, A. Karlin, H. Levy, and C. Thekkath, “Implementing Global Memory Management in a Workstation Cluster”, Proceedings of the 15th ACM Symposium on Operating Systems Principles, December 1995.

    2. A. Arpaci-Dusseau, D. Culler, A. Mainwaring, “Scheduling with Implicit Information in Distributed Systems”, Sigmetrics’98 Conference on the Measurement and Modeling of Computer Systems.

    3. K. M. Chandy, J. Misra, and L. M. Haas, “Distributed Deadlock Detection,” ACM Transactions on Computer Systems 1, 2(May 1983), pp. 144-156. Available in the ACM Digital Library.

    4. Mamoru Maekawa, “ A SQRT(N) Algorithm for Mutual Exclusion in Decentralized Systems,” ACM Transactions on Computer Systems, Vol. 3, No. 2, May 1985, p. 145-159.

Readings for Mobility


  • Supporting Mobility in an Operating System

    1. M. Baker, X. Zhao, S. Cheshire, J. Stone, “Supporting Mobility in MosquitoNet”, Proceedings of the 1996 USENIX Conference, San Diego, CA, January 1996.

    2. E. Jul, H. Levy, N. Hutchinson, A. Black, “Fine-Grained Mobility in the Emerald System”, ACM Transactions on Computer Systems 6(1), February 1988, pp. 109-133.

Readings in Distributed Systems


  • General Concepts

    1. B. Walker, G. Popek, R. English, C. Kline, and G. Thiel, “The LOCUS Distributed Operating System”, Proceedings of the 9th ACM Symnposium on Operating Systems Principles, October 1983.

    2. Leslie Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System”, Communications of the ACM, July 1978, pp. 558-564.

Readings in Fault Tolerance and Reliable Systems


  • High-Availability Systems

    1. J. Gray, D. Siewiorek, “High-Availabilty Computer Systems”, Computer 24, 9 (September 1991), pp. 39-48.

    2. L. Lamport, R. Shostak, and M. Pease, “The Byzantine Generals Problem”, ACM Transactions on Programming Languages and Systems, July 1982, pp. 382-401.

    3. S.C. Wang, and K.Q. Yan, “Revisiting Fault Diagnosis Agreement in a New Territory,” Operating Systems Review, April 2004, pp. 41-61.


Readings in Security


  • Cryptosystems

1. R. Rivest, A. Shamir, and L. Adelmann, “A Method for Obtaining Digital Signatures and Public-Key Crptosystems.” Communications of the ACM, 21: 120-126. February 1978.

  • Authentication

1. B. Clifford Neuman and Theodore Ts’o, “Kerberos: An Authentication Service for Computer Networks”, IEEE Communications Magazine, Volume 32, Number 9, pages 33-38, September 1994.
Directory: faculty -> osborne
faculty -> Curriculum vitae wei chen professor
faculty -> Digital image warping
faculty -> Samples of Elements Exam Question III contains All Prior Exam Qs III except
faculty -> 【Education&Working Experience】
faculty -> References Abe, M., A. Kitoh and T. Yasunari, 2003: An evolution of the Asian summer monsoon associated with mountain uplift —Simulation with the mri atmosphere-ocean coupled gcm. J. Meteor. Soc. Japan, 81
faculty -> Ralph R. Ferraro Chief, Satellite Climate Studies Branch, noaa/nesdis
faculty -> Unit IV text: Types of Oil, Types of Prices Grammar: that/those of, with revision
osborne -> Instructor: dr. Lawrence osborne
osborne -> The Design and Programming of Computer Games Dr. Osborne cosc 1172
osborne -> Cosc 4301-04/cosc 5340-04 Game Design and Development Syllabus Summer 2006 Instructor

Download 24.64 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page