Comparative Systems Programming
Course Description
Prerequisite: Comp 322 & 322L
Investigate advanced systems topics in the Unix operating systems environment. Unix, in the form of Linux and Mac OS/X, has penetrated the personal computer market. Unix permeates the infrastructure of the Internet; it is the operating system of choice for a majority of nodes on the Internet as well as the primary operating system on a large number of telephone switching systems that support the Internet. Unix has become the defacto standard of the operating system industry; the Windows NT/2000/XP family has incorporated major aspects of Unix into their kernel architectures; Mac OS/X is built around a Unix based operating system consisting of a Mach kernel and a BSD Unix subsystem. The projected new communications infrastructure means that the demand for accomplished Unix systems programmers and system managers will continue to grow.
As computers become more powerful, there will be increased demand for parallel programming and execution of processes and threads, especially on server systems.
Accordingly, the course will focus on advanced systems programming topics using specialized knowledge of the internals of the Unix HP-UX11i and Windows NT/2000/XP operating systems. Selected projects will be designed for, and scheduled for execution on, both the CECS’s HP V2600 parallel processor using the HP-UX11i Unix operating system and the Windows NT/2000/XP operating system family.
The following systems programming topics will be explored in depth:
-
Threads – Pthreads
-
Advanced Shared Memory Management
-
Terminal I/O Programming
-
Session Management
-
Advanced Interprocess Control
The class will be structured as a series of lectures punctuated by short programming projects and work on a specified term project. The term projects may be structured as either systems programming or operating systems research projects.
Evaluation will be based on some combination of the following:
-
Midterm Examination
-
Final Examination
Short Projects & Homework -
Term Project
The objective of the course is to provide students the opportunity to acquire sufficient knowledge to enable them to function as systems programmers, system managers, system designers and/or system users.
Required Text Books
-
Robbins Unix Systems Programming
Prentice Hall Professional Technical Reference
0-13-042411-0
-
Hart Windows Systems Programming
Addison Wesley
0-321-25619-0
-
Cooper HP-UX11i Internals
Prentice Hall
0-13-032861-8
-
Russinovich Microsoft Windows Internals, 4th ed.
Microsoft Windows Server 2003,
Windows XP, & Windows 2000
Reference Books – On Reserve in Oviatt Reserve Room
-
Vahalia Unix Internals: The New Frontier
Prentice Hall
0-13-101908-2
-
Pate Unix Internals
Addison Wesley
0-201-87721-X
-
Mauro Solaris Internals
Prentice Hall
0-13-022496-0
-
Gray Interprocess Communications in Unix
Prentice Hall
0-13-899592-3
-
Curry Unix Systems Programming for SVR4
O’Reilly
1-56592-163-1
-
Butenhof Programming with POSIX Threads
Addison Wesley Professional
0-201-63392-2
-
Beck Linux Kernel Internals, 2nd ed
Addison Wesley
0-201-33143-8
-
Beck Linux Kernel Programming, 3rd ed.
Addison Wesley
0-201-71975-4
-
Haviland Unix System Programming, 2nd ed.
Addison Wesley
0-201-87758-9
-
Sobell Unix System V, 3rd ed.
Addison-Wesley
0-805-37566-X
-
Stevens Advanced Programming in the Unix Environment
Addison Wesley
0-201-56317-7
-
Rochkind Advanced Unix Programming
Addison Wesley
0-13-141154-3
-
Beveridge Multithreading Applications in Win32:
The Complete Guide to Threads, 1/e
Addison Wesley
0-201-44234-5
-
Cooper HP-UX11i Internals
Prentice Hall
0-13-032861-8
-
Russinovich Microsoft Windows Internals, 4th ed.
Microsoft Windows Server 2003,
Windows XP, & Windows 2000
-
Silberschatz Operating System Concepts, 7th ed.
Wiley
0-471-69466-5
-
Kelley & Pohl A Book of C
Addison Wesley
0-201-18399-4
Reference Books – Not on Reserve
-
Ray Mac OS X Unleashed, 2/e
Sams Publishing
0-672-32465-2
-
Bar Linux Internals
McGraw Hill Osborne
0-07-212598-5
-
Nutt Kernel Projects for Linux
Addison-Wesley
0-201-61243-7
-
Nutt Operating System Projects using Windows NT
Addison Wesley
0-201-47708-4
Share with your friends: |