SCSSE

School of Computer Science and Software Engineering
Faculty of Informatics

                                                                                                                                                              

CSCI212 – Operating Systems

Subject Outline

Autumn session 2007

                                                                                                                                                              

Head of School –Professor Philip Ogunbona, Student Resource Centre, Tel: (02) 4221 3606

 

General Information

 

 

Subject Coordinator and Lecturer

Mr Daniel Saffioti

Telephone Number:

02 4221 4357

Email:

dfs@uow.edu.au

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, Wollongong Campus

Credit Points

6 credit points

Contact hours per week:

3 hours lectures, 2 hours laboratory, 1 hour tutorial

Lecture Times & Location:

Lecture 1, Monday 16:30– 18:30, 40.HOPE

Lecture 2, Thursday 08:30 – 09:30, 20.1

Tutorial Day, Time and Location can be found at:

http://www.uow.edu.au/student/sols/timetables/index.html

 


 


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.

 

Content

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.

 

 

Objectives

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.

 


Method of Presentation

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, Charles River Media, ISBN: 978-1584503712

 

 

Classic Shell Scripting by Arnold Robbins, Nelson H.F. Beebe. O'Reilly Media, ISBN: 978-0596005955

 

 

Unix in a Nutshell, Fourth Edition by Arnold Robbins, O'Reilly Media, ISBN: 978-0596100292.

 

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.

Assessment


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.


 
Notes on Assessment

 

Unless otherwise notified by the subject coordinator, all written assignments must be submitted electronically.


 

  1. All assignments are expected to be completed independently.  Plagiarism may result in a FAIL grade being recorded for that assignment.
  2. All assessment work is to be submitted via submit on the Unix hosts by the dates given above. The directive for submission will be printed on the assignment specification.
  3. If you cannot submit an assessment item by the stated time then it must be submitted to the subject coordinator as soon as possible.
  4. Late submission of assessment item MUST be accompanied by a special consideration item via SOLs.
  5. An extension of time for the completion of an assignment may be granted in certain circumstances.  A request for an extension must be made to the Subject Coordinator via SOLs before the due date.

  1. Electronic submissions, faxes and un-receipted mail submissions will NOT be accepted except via the turnin submission process.
  2. Penalties apply to all late work, except if special consideration has been granted.  Late submissions will attract a penalty of 10% of the assessment mark per day including weekends.  Work more than 5 days late will be awarded a mark of zero. Your tutor cannot grant you an extension.

  1. Assignments will be returned to students during lectures generally within 1 week.
  2. This subject will consist of 6 assignments. The assignments will be coding based. The assignments will due roughly on two-week intervals commencing from the end of week 1. Each assignment is to be submitted electronically using the submit command. Assignment are to be done in your own time.
  3. Students are required to participate in weekly tutorial classes. The tutorial classes will focus on specific concepts from the lecture. There will be 5 random tasks to be performed in the tutorial during the semester. These form the 10% tutorial component. These will typically be done as homework for the next tutorial.
  4. From Week 2 to Week 12, there will be weekly lab tasks. These are designed to give you practical exposure to the technology. They must be completed and submitted by the end of the lab. Submission procedures will be outlined in every task.
  5. Labs will be done mostly on a Unix platform. However the class may draw on other technology platforms/ labs in the department.

 

Scaling of Marks

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};

                  if E < 35% of the maximum exam mark: then student: final mark is /min/{E+A, 42}.

 

Additional Information

Students must refer to the Faculty Handbook or online references which contains a range of policies on educational issues and student matter.



Supplementary Exams

While the School normally grants supplementary exams when the student does not sit the standard exam for an acceptable reason, each case will be assessed on its own merit and there is no guarantee a supplementary exam will be granted. If a supplementary exam is granted the date will be determined by the University via ARD.  You will be notified via SOLS Mail the time and date of this supplementary exam. You must follow the instructions given in the email message.

 

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 University of Wollongong's policy on plagiarism.

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

http://www.uow.edu.au/student/dates.html

Code of Practice - Students

http://www.uow.edu.au/handbook/codesofprac/cop_students.html

Information Literacies Introduction Program

http://www.library.uow.edu.au/helptraining/workshops/ilip/

Acknowledgement Practice Plagiarism will not be tolerated

http://www.uow.edu.au/handbook/courserules/plagiarism.html

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

http://www.uow.edu.au/handbook/honourscode.html

Non-Discriminatory Language Practice and Presentation

http://staff.uow.edu.au/eeo/nondiscrimlanguage.html

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

http://www.sitacs.uow.edu.au/info/current/styleguide.pdf

SCSSE Student Guide

http://www.itacs.uow.edu.au/info/current/regulations.shtml

Informatics Faculty Librarian, Ms Annette Meldrum, phone: 4221 4637,ameldrum@uow.edu.au

SCSSE Subject Outlines

http://www.itacs.uow.edu.au/info/current/subject_outlines/