Faculty of Informatics
MCS9212 – Operating Systems
Subject Outline
Autumn session 2007
Head of
School –Professor Philip Ogunbona, Student Resource Centre, Tel: (02) 4221 3606
|
Lecturer |
Associate
Professor Minjie Zhang |
|
Telephone
Number: |
02 4221
4745 |
|
Email: |
|
|
Location: |
Building 3
Room 213 |
Assoc Prof Zhang’s
Consultation Times During Session
|
Day |
Time |
|
Tuesday |
13:30 – 15:30 |
|
Thursday |
09:30 – 11:30 |
|
Subject Coordinator and Lecturer |
Mr Daniel
Saffioti |
|
Telephone
Number: |
02 4221
4357 |
|
Email: |
|
|
Location: |
Building 3,
Room 202 |
Mr. Saffioti’s Consultation Time During
Session
|
Day |
Time |
|
Monday |
15:30 – 16:30 |
|
Tuesday |
15:30 – 17:30 |
|
Wednesday |
15:30 – 17:30 |
Subject
Organisation
|
Session: |
Autumn
Session, |
|
|
Credit
Points |
6 credit
points |
|
|
Contact
hours per week: |
3 hours lectures, 2 hours laboratory, 1 hour tutorial |
|
|
Lecture
Times & Location: |
||
|
Tutorial
Day, Time and Location can be found at: |
|
|
Students
should check the subject’s web site regularly as important information,
including details of unavoidable changes in assessment requirements will be
posted from time to time. Any information
posted to the web site is deemed to have been notified to all students.
The subject develops an understanding of the operating system and
tools from a programmer's viewpoint. Topics covered include the file system,
processes, communication and tools. In particular, access, security,
organisation, operating system effect on performance of a program, support,
control; process and interaction, inter-process communication; use of shell
scripts and commands to enhance problem solving; tools for development process;
program paradigms: parallel, distributed, etc.
On successful completion of this subject, students should be able
to:
1.
Describe
and explain a programmer's view of the
interaction between a program and its environment
2.
Identify
and utilize the support provided by the operating system in the design of
network-based, multi-tasking, client/server applications.
3.
Utilize
shell scripts and commands to enhance program design and implementation
4.
Utilize
tools to aid in the software development process e.g. linkers, make, debuggers,
profilers, etc
Attendance
Requirements
It is the responsibility
of students to attend all lectures/tutorials/labs/seminars/practical work for
subjects for which you are enrolled.
Attendance
and participation in lectures, tutorials and web-mediated activities is a
requirement for the successful completion of this course. Failure to do so may
result in a fail grade being recorded. A good indicator of satisfactory
attendance is approximately 80% of the allocated contact hours. Attendance per
se is not an assessable component of this course.
It should be noted that according to Course Rule 003{Interpretation Point 2 (t)} each credit point for a single session subject has the value of about two hours per week including class attendance. Therefore, the amount of time spent on each 6 credit point subject should be at least 12 hours per week, which includes lectures/tutorials/labs etc
Satisfactory
attendance is deemed to be attendance at approximately 80%* of the
allocated contact hours. Attendance rolls may be kept for lectures, TUTORIALS and laboratories. If you are
present for less than 80%* you need to apply for special consideration,
otherwise a fail grade may be recorded.
There will be 3 hours of lectures every week.
Satisfactory attendance at lectures is a requirement for the successful
completion of this course. Failure to comply may result in a fail grade being
recorded. There are no labs or tutorials in this class.
Lecture notes
and other subject resources will be available from the subject’s e-Learning
site at http://www.uow.edu.au/lol. These
notes do not include many of the examples and explanations given in lectures
for which attendance at lectures will be required. They also do not represent the entire content
of the course. Examples and further
material will be covered in lectures and supplemental notes will appear on the
subject website. Additional materials may be found in /share/cs-pub/212.
There
will also be a 1 hour tutorial and 2 hour laboratory class. The tutorial class
is designed to drill down on small problems and understand details not covered
in lectures. The lab class is designed to get students exposed to the
technology. There will be random tutorial exercises, which will contribute
towards the final assessment mark. There will also be weekly lab exercises
which must be done in the lab and marked off before the end of the class.
You
will be responsible for organising your own lab and tutorial classes.
Lecture
Schedule
A proposed Lecture schedule for the subject is as
follows:
|
Week |
Topic |
Assessment Tasks Due |
|
1 – 2 |
The Guts of the
Computer… General topics include: Operating
System Overview with a focus on
design approaches, processes, file systems and communication stacks. |
Lab
Task Commence Week 2 and run through to end Week 12. |
|
3 |
The relationship
between the Developer and Operating System. General topics
include: Philosophies
of Programming and OS Influence on them. Examination
of the C/C++ Compilation model with emphasis on Compiling, Pre-processing and
Libraries (also a little on program structure e.g. binary). |
Assignment
One Due, End of Week 3 – Basic Operating System Concepts. |
|
4 |
Learning to talk to
the Operating System. General topics include: Overview
of C/C++ differences. |
|
|
5 – 6 |
Services Provided by
the Operating System and how they can be used. Detailed
examination of POSIX and other standards for API’s. Specific
focus will be on File System Control/Access, Process Control (including
Threading) and Interprocess Communication (IPC) & Network Communication
API’s and.Concurrency Control. An examination of Libraries will also occur
e.g. ndbm, SQLlite
etc. |
Assignment
Two Due, End of Week 5 – Libraries and C programming. |
|
7 - 8 |
Interacting with the
Operating System easily. Overview
of Shell Programming and Shell Programming tools e.g. sed, awk etc. |
Assignment
Three Due, End of Week 7 – Using API’s & Libraries. |
|
9 |
Interacting with the
Operating System easily. Examination
of rapid programming language tools and how they help the development process
e.g. Python. |
Assignment
Four Due, End of Week 9 – Shell Programming |
|
10 - 11 |
Using Operating System
Tools to make the Development Process Fun. Overview
of development tools e.g. sccs, make, make depend and
autoconf. |
Assignment
Five Due, End of Week 11, Python and Development Tools. |
|
12 |
Interacting with the
User. A
brief overview of how we can interact with the user looking at traditional
console style applications, ncurses based applications and then windowing
systems. |
|
|
13 |
Performance Tuning and Secure Software Design An
overview of how to build secure applications that perform well. Tools such as
dtrace and gprof will be
examined in detail. |
Assignment
Six Due, End of Week 13. User Interface Programming. |
Subject
Materials
The following texts are recommended for this subject:
|
|
Operating System Concepts by Silberschatz, Galvin and Gagne, Seventh Edition, John Wiley & Sons, ISBN: 0-471-69466-5 |
|
|
Operating Systems by Nutt, Third Edition, Adison Wesley, ISBN 0-321-189555-8 |
|
|
Operating Systems: Design and Implementation, Minix Book by Tannenbaum and Woodhull, Third
Edition, Pearson Prentice Hall, ISBN: 0-13-142938-8 |
|
|
GNU/Linux Application Programming by M. Tim Jones, |
|
|
Classic Shell Scripting by |
|
|
Unix in a Nutshell, Fourth Edition by |
|
|
The UNIX Programming Environment by Brian W. Kernighan, Rob Pike, Prentice Hall, ISBN: 978-0139376818 |
|
|
The C Programming Language by Brian W. Kernighan, Dennis Ritchie, Dennis M. Ritchie, Second Edition, Prentice Hall PTR; 2
edition (March 22, 1988). ISBN: 978-0131103627 |
|
|
Learning Python by Mark Lutz,
David Ascher, Second Edition, O'Reilly
Media, ISBN: 978-0596002817. |
|
|
Unix System Programming Using C++ by Terrence Chan, Prentice Hall; 1st edition, ISBN: 978-0133315622 |
|
|
Unix Network Programming, Vol. 1: The Sockets Networking API, by W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Richard W.
Stevens, Addison-Wesley Professional. ISBN: 978-0131411555 |
|
|
Multithreaded Programming With PThreads, by Bil Lewis, Daniel J. Berg, Sun Microsystems Press. ISBN:
978-0136807292. |
These books can be purchased from the Unibookshop.
These books are recommended reading – it is up to you to decide if you wish to
acquire these texts. This is only a sample, a more comprehensive list will be
published during the lectures.
|
|
Denotes a personal favorite of the lecturers. |
This
subject has the following assessment components.
|
Assessment Items & Format |
Percentage
of Final Mark |
Due Date |
|
Six Coding/Practical
Assignments |
30% |
See
remarks below on Assessment. General due dates are
as follows: End of Week 3,
Assignment 1 Due, End of Week 5,
Assignment 2 Due, End
of Week 7, Assignment 3 Due, End of Week 9,
Assignment 4 Due, End of Week 11,
Assignment 5 Due. End of Week 13,
Assignment 6 Due. |
|
Lab Class Exercises |
10% |
Weekly lab tasks,
commencing week 2 running through to week 12. |
|
Tutorial Class
Exercises |
10% |
During random tutorial classes. See remarks below on Assessment. |
|
Examination |
50% |
Examination Period. |
Unless
otherwise notified by the subject coordinator, all written assignments must be
submitted electronically.
Final
results in this subject may be scaled. The scaling method that will be used in
this subject is as follows.
If
E is the
student exam mark, and A is the student assignment mark, the student
final mark will be determined as follows:
if E >= 40% of the
maximum exam mark: then student final mark is E + A;
if 35% <= E < 40%
of the maximum exam mark: then student final mark is /min/{E+A, 47};
Students must refer to the Faculty Handbook or online references which
contains a range of policies on educational issues and student matter.
Please note that if this is your last session and you are granted a supplementary exam, be aware that your results will not be processed in time to meet the graduation deadline.
Plagiarism
When you submit an assessment task, you are
declaring the following:
1.
It
is your own work and you did not collaborate with or copy from others.
2.
You
have read and understand your responsibilities under the
3.
You
have not plagiarised from published work (including the internet). Where you
have used the work from others, you have referenced it in the text and provided
a reference list at the end ot the assignment.
4.
Plagiarism
will not be tolerated.
This outline should be read in conjunction with the following documents:
|
Code of
Practice - Teaching and Assessment http://www.uow.edu.au/handbook/codesofprac/teaching_code.html |
Key Dates |
|
Code of
Practice - Students http://www.uow.edu.au/handbook/codesofprac/cop_students.html |
Information
Literacies Introduction Program |
|
Acknowledgement
Practice Plagiarism will not be
tolerated |
Student
Academic Grievance Policy http://www.uow.edu.au/handbook/codesofprac/cop_supervision.html#8 |
|
Special
Consideration Policy http://www.uow.edu.au/handbook/courserules/specialconsideration.html |
Code of
Practice-Honours |
|
Non-Discriminatory
Language Practice and Presentation |
Intellectual
Property Policy http://www.uow.edu.au/research/researchmanagement/1998IP.html |
|
Occupational Health and Safety http://staff.uow.edu.au/ohs/commitment/OHS039-ohspolicy.pdf |
SCSSE
Internet Access & Student Resource Centre http://www.sitacs.uow.edu.au/info/current/internet_access_and_resource.shtml |
|
SCSSE
Computer Usage Rules http://www.itacs.uow.edu.au/info/current/support/labs/rules.shtml |
SCSSE Style
Guide for Footnotes, Documentation, Essay and Report Writing |
|
SCSSE
Student Guide |
Informatics
Faculty Librarian, Ms
Annette Meldrum, phone: 4221 4637,ameldrum@uow.edu.au |
|
SCSSE
Subject Outlines |
|