Mathematics, Statistics & Computer Science Department COURSE NO./TITLE: CS-442 (354-442) SYSTEMS PROGRAMMING

advertisement
Mathematics, Statistics & Computer Science Department
COURSE NO./TITLE:
CREDITS:
CS-442 (354-442) SYSTEMS PROGRAMMING
3
COURSE DESCRIPTION: Design, organization and case studies of major systems software:
assemblers, loaders, linkers, macro processors, compilers, and operating systems. Relationship
between machine architecture and system software. Prerequisite: CS-441.
TEXTBOOK: Modern Operating Systems, 2nd Ed., by Tanenbaum and UNIX Systems
Programming: Communication, Concurrency & Threads, 2nd Ed. by Robbins (adopted
SP05)
(Adopted SP99: System Software, 2nd Ed., by Beck; Operating Systems, 2nd Ed., by Stallings.
(Previously used: Introduction to Operating Systems, 1st Ed., by Deitel and System Software-An Introduction To, 1st Ed., by Beck)
COURSE OBJECTIVES: Upon completion of the course the student will be able to:
1.
2.
Explain the following items for each type of system software studied (assemblers,
linker/loaders, macro processors, compilers, and operating systems:
a.
Essential features of the system.
b.
Common machine independent extension features.
c.
Machine dependent features.
d.
Major design options.
e.
Important features of state-of-the-art real implementations.
Design, implement, and document the following software systems:
a.
An assembler for a simple assembly language.
b.
A compiler for a simple high-level language.
c.
A simple program utilizing the concepts of concurrency.
COURSE OUTLINE:
1.
2.
3.
4.
5.
6.
Review of Macro-level Machine Architecture
Assemblers
Loaders and Linkers
Macro Processors
Compilers
Operating Systems
Revised 1/05
Download