Basic Information |
|
|---|---|
| Course: | CSCI 567: Applied Systems Programming |
| Prerequisites: | CSCI 464 and CSCI 465 |
| Meeting Time: | 6:30-7:45 p.m., MW |
| Classroom: | PM 252 |
| Instructor: | Michael Stack |
| Office: | PM 566 |
| Phone: | 753-9447 |
| Office Hours: | 1:00 p.m. - 3:00 p.m., MW 7:45 p.m. - 8:45 p.m., MW (may end earlier if no appointments and no walk-ins) |
| Email: | mstack@niu.edu |
| Syllabus: | The syllabus, as well as homework assignments and other materials can be found below. |
| Schedule: | The schedule for the semester can be found at http://www.cs.niu.edu/csci/567/schedule.shtml |
| Online Bookshelf: | The online bookshelf for this course can be found at http://www.cs.niu.edu/csci/567/books.shtml |
| Grade: | The semester grade will derive from: ten written assignments, each worth ten points; two exams, each worth two hundred points; and a final exam worth three hundred points. The final grade will be determined from the following scale: 92 - 100 (736 - 800 pts) - A 84 - 91 (672 - 735 pts) - B 76 - 83 (608 - 671 pts) - C |
| Assignments: | Assignments are to be handed in at the beginning of the class period on the date due. Late assignments may be accepted until those marked are returned to the class. Written assignments are to be typed, not handwritten. |
| Examinations: | Each examination will occupy an entire class period. A preceding class period will be used for review and questions; absent questions, the remaining time will be used to begin the next topic. (Note that the review sessions may be helpful in preparing for the systems programming comprehensive examination.) |
| Comments: | There are no unannounced quizzes to persuade you to keep up with assigned readings, but you are encouraged to do so. The material is not extremely difficult, but there is a lot of it. If you are having problems, please don't wait - see me as soon as possible. Also, remember that you are responsible for following the Graduate School rules; see (and observe) especially the rules in the paragraphs on Academic Integrity in the NIU Graduate Catalog. |
| Event | Date and Time | Location |
|---|---|---|
| Assignment 1 - due | Wed, Sept 6, 6:30 p.m. | PM 252 |
| Assignment 1a due | Wed, Oct 11, 6:30 p.m. | PM 252 |
| Assignment 2 due | Wed, Sept 13, 6:30 p.m. | PM 252 |
| Assignment 3 due | Mon, Sept 25, 6:30 p.m. | PM 252 |
| Assignment 4 due | Mon, Oct 2, 6:30 p.m. | PM 252 |
| Exam 1 | Wed, Oct 4, 6:30 p.m. | PM 252 |
| Assignment 5 due | Wed, Oct 18, 6:30 p.m. | PM 252 |
| Assignment 6 - due | Wed, Nov 1, 6:30 p.m. | PM 252 |
| Assignment 7 - due | Mon Nov 6, 6:30 p.m. | PM 252 |
| Exam 2 | Wed, Nov 8, 6:30 p.m. | PM 252 |
| Assignment 8 due | Mon, Nov 20, 6:30 p.m. | PM 252 |
| Assignment 9 due | Mon, Nov 27, 6:30 p.m. | PM 252 |
| Assignment 10 due | Mon, Dec 4, 6:30 p.m. | PM 252 |
Exam 3 |
Mon, Dec 11, 6:30-8:20 p.m. | PM 252 |
[8/26/2006] IBM has announced the official end of service dates for all versions of OS/390 and z/OS that run on 31-bit hardware. On March 31, 2007, all 31-bit mainframes will essentially become obsolete and 64-bit mainframes will become the standard. For that reason, it will be increasingly important to understand the differences introduced by the z/Architecture. Some helpful references:
The first two are presentations given at SHARE in Nashville in March 2002, by Bob Rogers of IBM. They are titled 64-bit z/Architecture Overview, consisting of Part I: Application Facilities, and Part II: Supervisor Facilities.
Next is another SHARE presentation given at the Washington, D.C. meeting in August 2003, by Bob Shannon of Rocket Software. It is called Zee Guide to z/Architecture.
Finally, there is an article published in the IBM Journal of Research and Development, called Development and Attributes of z/Architecture, co-written by Bob Rogers.
All four of these are highly technical and will take some effort to understand. There is a lot of overlap in the material; my hope is that the different presentations will facilitate understanding. My thanks to both authors for permission to include their presentations.
[8/26/2006] Steve Comstock, "The Trainer's Friend," operates a web site at which can be found two interesting documents: The Future of Mainframes is Now and z/OS, Language Environment, and UNIX - How They Work Together
From the NIU Graduate Catalog: CSCI 567, Applied Systems Programming, is an "Examination of the role of the systems programmer. Topics include operating system initialization, tuning, and maintenance, as well as operating system software development. Study of current operating system emphasizing modern methods and future trends." A complete schedule of lecture topics, reading assignments, and written assignments is included with this syllabus.
Your goal in this class is to learn some of the things that systems programmers do and how they do them. The first part of the semester will cover system initialization, control of work in the system, and tuning - topics which are important in the day-to-day technical support by systems programmers of a large mainframe operating system. The second part of the semester will be devoted to maintenance of the operating system. The last part will be concerned with some specialized operating system software development facilities available to non-authorized users.
Even if you never maintain an operating system, you will likely work with one, and an understanding of these topics will be helpful. While some systems programming activities may seem arcane at first, most are fairly straightforward to learn. Many are similar to those performed by applications programmers.
In order to actually do systems programming, an operating system must be available to work on. Since NIU operates MVS on its mainframes (now called servers), we will study MVS, which is now bundled with other software and called z/OS (or OS/390 in its older version). It is one of the the largest and most complex operating systems in existence today. Other OSs provide similar facilities but at a significantly more primitive level.
You probably cannot afford to miss a class lecture as these are your primary source of information for the course. You may also wish to consider tape recording the lectures; this has proven valuable to some students in the past and I do not object to the practice. It also has been useful to some students during preparation for exams.
There are two aspects of this course which are important to understand at the outset. First, there is a lot of reading, possibly more than you have encountered in other CS courses. Second, this is a survey course in which each topic is not necessarily dependent on the previous ones. Be prepared for each class meeting, and be sure to stay current; if you fall behind in your reading, it may be very difficult to catch up.
The texts are current, standard IBM manuals. These are intended to supplement the primary course material (the lectures) and will be necessary to complete the written assignments. Please purchase your texts as soon as possible to assure that you have them when they are needed; the bookstore returns unsold texts after mid-semester, and required texts which are not used until the last third of the semester may not be available for purchase at that time.
The manuals explicitly referred to in the lecture schedule are listed below. Most of the manuals are available in "softcopy" format and can be viewed and searched online. The manuals which are also available in hardcopy from the bookstore are so indicated.
Many additional IBM manuals are included in the CSCI 567 bookshelf. They are useful references and some will be needed to complete assignments. The tag given for each book below is its identifier in the lecture schedule as well as a link to the book in the course bookshelf.
This is the main text for the course, even though no lectures are taken directly from it. It is intended here as an alternate source for the topics of the lectures, and will be an useful reference for anyone who takes a job as an MVS SysProg. [This book was used as the primary text for CSCI 567 until about ten years ago. It's quite a bit out of date now, but copies are still available. Some of the book was available online, but has now been withdrawn.]
This is PoO for the System/390 architecture. The PoO for z/Architecture can also be used, and is also a way to explore the new features such as 64-bit virtual addressing.