CS2051 - Operating Systems
Announcements
Schedule
- Schedule: [pdf]
- Lectures (1.1): Mondays 11-12; Wednesdays 9-10
- Labs (Dual Boot Lab, LF39/35/34):
- Group F (alt.Fridays 09:00-11:00; supervised by CCK):
10/10,24/10,14/11,28/11,12/12
- Group G (alt.Tuesdays 13:00-15:00; supervised by RIS):
07/10,21/10,11/11,25/11,09/12
- Group H (alt.Thursdays 09:00-11:00; supervised by NW):
09/10,23/10,13/11,27/11,11/12
- Additional marking sessions on 01/02, 02/02, 04/02, 9am
- Examples Classes (F,G in IT407, H in LF15):
- Group F (alt.Thursdays 10:00-11:00; supervised by CCK,AC):
16/10, 30/10, 20/11, 04/12, 18/12.
- Group G (alt.Fridays 09:00-10:00; supervised by PCC,JDG):
17/10, 31/10, 21/11, 05/12, 19/12.
- Group H (alt.Tuesdays 14:00-15:00; supervised by RIS,AC):
14/10, 28/10, 18/11, 02/12, 16/12.
Course Book
Your are advised to get hold of a copy of one of the following:
- Applied Operating System Concepts (1st edition) (shortened to AOSC), by Abraham Silberschatz,
Peter Galvin, Greg Gagne.
Check this link for further information by the authors.
References will also be provided to what appears to be a newer version
of this book, with the title Operating System Concepts with Java
(6th edition) (OSCJ), by the same authors.
Check this link for further information by the authors.
- Modern Operating Systems (2nd edition) (MOS), by Andrew S. Tanenbaum
(Prentice-Hall). Check this link for further
material related to this book added by its author.
Copies of the above are available from the John Rylands University
Library and the UG Resource Centre.
Other recommended books:
- Operating System Concepts, by Silberschatz et al (
Info by the authors).
- Operating Systems: Design and Implementation, by Tanenbaum.
- Operating Systems: internals and design principles, by Stallings
(Info by the
author).
- Operating Systems (3rd edition), by Gary Nutt.
(Info by the author).
- Operating Systems Principles, by Bic and Shaw.
Copies of most of the above can be found in John Rylands University Library.
Handouts
(Accessible from Computer Science machines only)
- Lecture 01 (Introduction) (RIS): [powerpoint],
[pdf]
[AOSC/OSCJ, Chapter 1; MOS, Chapter 1 up to 1.3, pp. 1-20]
- Lecture 02 (Operating System Concepts) (RIS): [powerpoint],
[pdf]
[AOSC, Sections 2.5, 2.6, 3.1-3.6 (skim through the rest of Chapters 2
and 3); MOS, Sections 1.5-1.11 (skim through the system call details)]
- Lecture 03 (Processes and Threads) (RIS): [powerpoint],
[pdf]
[AOSC, Sections 4.1, 4.2.3, 4.3, 4.6, 5.1-5.3 (skim through the rest of 4.2);
OSCJ, Sections 4.1, 4.2.3, 4.3, 4.7, 5.1;
MOS, Sections 2.1-2.2.4]
- Lecture 04 (Process Scheduling) (RIS): [powerpoint],
[pdf]
[AOSC/OSCJ, Sections 6.1-6.3.2; MOS, Section 2.5 up to page 140 (incl.)]
- Lecture 05 (Process Scheduling II) (RIS): [powerpoint],
[pdf]
[AOSC, Sections 6.3.3-6.3.6, 6.9 (skim through 6.5-6.8);
OSCJ, Sections 6.3.3-6.3.6, 6.10 (skim through 6.5-6.8)
MOS, Section 2.5.3 up to page 146, 2.7 (skim through 2.5.4)]
- Lecture 06 (Process/Thread Synchronisation) (RIS): [powerpoint],
[pdf]
[AOSC/OSCJ, Sections 7.1, 7.2, 7.5 (you may find it useful to skim through
Sections 7.3 & 7.4 and the examples of Sec. 7.6);
MOS Section 2.3 (opening paragraphs), 2.3.1, 2.3.2, 2.3.5 (you may want
to skim through the rest of Sections 2.3 and 2.4 and the intro of Chapter 3)]
- (there is no Lecture 7, because the above were covered in 7 lectures)
- Lecture 08(Java Threads)(CCK)[powerpoint],[pdf] [AOSC, Sections 5.6 & 7.8 are good. Section 6.7 is
interesting - but be warned that the priority based scheduling described here
doesn't always work. OSC, Sections 5.7 & 7.8 are almost the same as AOSC.
Section 6.8 corrects the error in AOSC. Also read any Java documentation!]
- Lecture 09 (Memory Management)(CCK)
[powerpoint]
[pdf]
[AOSC/OSCJ Sections 9.1-9.3; MOS Sections 4.1-4.2]
- Lecture 10 (Memory Management II: Segmentation)(CCK)
[powerpoint]
[pdf]
[MOS Section 4.8; AOSC/OSCJ Section 9.5. Note that both books cover paging
before segmentation, whereas the lectures take these topics in opposite order!
This shows how orthogonal the two are.]
- Lecture 11(Memory Management III:Paging)(CCK)
[powerpoint]
[pdf][MOS Sections 4.3 & 4.4; AOSC Sections 9.4 &
10.3; OSCJ Sections 9.4 & 10.4]
-
Lecture 12(Memory Management IV:Conclusion)(CCK)
[powerpoint]
[pdf]
[MOS Sections 4.3 & 4.8; AOSC/OSCJ Sections 9.4 & 9.6]
- Lecture 13 (Device Management I) (RIS)
[powerpoint],
[pdf]
[reading - see Lecture 14]
- Lecture 14 (Device Management II) (RIS):
[powerpoint],
[pdf]
[AOSC: Sections 12.1-12.3, 13.2 (skim through the rest of Chapter 12);
OSCJ: Sections 13.1-13.4, 14.2 (skim through the rest of Chapter 13);
MOS: Sections 1.4.3, 5.1, 5.2, 5.4.3 (skim though Section 5.3; you may find interesting some of the remaining parts of Chapter 5).
- Lecture 15(File Management I)(CCK)[
powerpoint],[
pdf]
[MOS Sections 6.1 & 6.2; AOSC/OSCJ Sections 11.1-11.5]
- Lecture 16(File Management II)(CCK)[
powerpoint],[
pdf]
[MOS Section 6.3; AOSC Sections 11.5-11.7; OSCJ Sections 12.1-12.5]
- Lecture 17(File Management III)(CCK)[powerpoint],[pdf]
[MOS Section 6.3; AOSC Sections 11.7 & 11.9; OSCJ Sections 12.5 & 12.6]
- Lecture 18 (Windows Case Study) (RIS)
- Lecture 19 (Unix Case Study)(CCK)[
powerpoint]
[pdf]
[MOS Chapter 10; AOSC Chapter 20; OSCJ Appendix A]
- Lecture 20 (CCK/RIS) taking it further...
- Lecture 21 (CCK/RIS) The Exam
CS2051 material from previous years
Resources on the web
Exam Papers from past years
Staff
- Course Organisers: Chris
Kirkham, Rizos Sakellariou
- TAs: GE, KN, NW
- Lab demonstrators: MH, PV, AT (G/F only), CT (F/H only); LL (H only), MJ (G only).