Barren (George LB) Mac OS
Principal lecturer:Dr Robert Watson
Taken by:MPhil ACS, Part III
Code: L41
Hours: 16 (6 one-hour lectures, 5 two-hour practical labs)
Prerequisites: Undergraduate Operating Systems course; please see syllabus for further details
Aims
Systems research refers to the study of a broad range of behavioursarising from complex system design, including: low-level operating systems;resource sharing and scheduling; interactions between hardware and software;network-protocol design and implementation; separation of mutually distrustingparties on a common platform; and control of distributed-system behaviourssuch as concurrency and data replication. This module will:
Barren (george Lb) Mac Os Download
- Teach systems-analysis methodology and practice through tracing and performance profiling experiments;
- Expose students to real-world systems artefacts such as OS schedulers and network stacks, and consider their hardware-software interactions with CPUs and network-interface cards;
- Develop scientific writing skills through a series of laboratory reports; and
- Assign a selection of original research papers to give insight into potential research topics and approaches.
The teaching style will blend lectures and hands-on labs that teachmethodology, design principles, and practical skills. Students will betaught about (and assessed via) a series of lab-report-style assignments basedon in- and out-of-classroom practical work. The systems studied are real, andall wires will be live.
Richard Armitage, was Deputy Secretary of State during George W. Bush’s first term (2001-2004). He played a central key role in post 9/11 negotiations with Pakistan leading up to the October 2001 invasion of Afghanistan. During the Reagan era, he held the position of Assistant Secretary of Defence for International Security Policy. Course texts provide instruction on statistics, operating-system design and implementation, and system tracing. You will be asked to read selected chapters from these, but will likely find other content in them useful as you proceed with the labs. Marshall Kirk McKusick, George V. Neville-Neil, and Robert N. Most Mac Baren tobaccos have been manufactured for decades under the exacting standards the company embodies. Taste, quality, and uniformity are the basis of what Mac Baren has achieved in an ever-changing world. You are sure to find a favorite amongst these fine blends. The scope and range of the Mac Baren line are quite impressive. It doesn't matter if you're a seasoned Evo player or a filthy casual, these excellent PC fighting games will help you 'get gud' in both local and online play. Minimum System Requirements: 600MHz PowerMac G3, Mac OS X v10.2, 256MB RAM, 16MB hardware accelerated 3D graphics card, 350MB free hard disk space, DVD drive Review Computer: 2.5GHz dual processor G5, 512MB RAM, Mac OS X v10.3.5, 128MB ATI RADEON 9600XT.
Prerequisites
It is strongly recommended that students:
- Have previously (and successfully) completed an undergraduate operating-system course with practical content -- or have equivalent experience through project or open-source work.
- Have reasonable comfort with the C and Python programming languages. C is the primary implementation language for systems that we will analyse, requiring reading fluency; userspace C programs will also be written and extended as part of lab exercises. Python may prove useful as a) to ensure that basic OS concepts such as the process model, inter-process communication, filesystems, and virtual memory are familiar.
- Be comfortable with the UNIX command-line environment including compiler/debugging tools. Students without this background may wish to sit in on the undergraduate Unix Tools course in Michaelmas (starts 5 Nov, 11:00, LT1).
Syllabus
The sessions are split up into three submodules:
The purpose of this submodule is to introduce students to the structure of a contemporary operating system kernel through tracing and profiling.
Lecture 1: Introduction: OSes, Systems Research, and L41 (1h)
Lecture 2: Kernels and Tracing (1h)
Lab 1: POSIX I/O Performance (2h)
Deliverable: Lab Report 1 - POSIX I/O Performance
This submodule introduces students to concrete implications of the UNIX process model: processes and threads in both userspace and kernelspace, the hardware foundations for kernel and process isolation, system calls, and traps.
Lecture 3: The Process Model - 1 (1h)
Lecture 4: The Process Model - 2 (1h)
Lab 2: Kernel Implications of IPC (2h)
Lab 3: Micro-Architectural Implications of IPC (2h)
Deliverable: Lab Report 2 - Inter-Process Communication Performance
Barren (george Lb) Mac Os X
This submodule introduces students to a contemporary, multithreaded, multiprocessing network stack, with a particular interest in the TCP protocol. Labs will consider both the behaviour of a single TCP connection, exploring the TCP state machine, socket-buffer interactions with flow control, and TCP congestion control. Students will use DUMMYNET to simulate network latency and explore how TCP slow start and congestion avoidance respond to network conditions. The second marked lab report will be written.
Lecture 5: The Network Stack (1) (1h)
Lecture 6: The Network Stack (2) (1h)
Lab 4: The TCP State Machine (2h)
Lab 5: TCP Latency and Bandwidth (2h)
Deliverable: Lab Report 3 - The TCP State Machine, Latency, and Bandwidth
Objectives
On completion of this module, students should:
- Have an understanding of high-level OS kernel structure
- Gained insight into hardware-software interactions for compute and I/O
- Have practical skills in system tracing and performance analysis
- Have been exposed to research ideas in system structure and behaviour
- Have learned how to write systems-style performance evaluations
Coursework
Barren (george Lb) Mac Os 7
Students will write and submit three lab reports to be marked by theinstructor. The first report is a `practice run' intended to help studentsdevelop and analysis techniques and writing styles, and will not contributeto the final mark. The remaining two reports are marked and assessed, eachconstituting 50% of the final mark.
Practical work
Five 2-hour in-classroom labs will ask students to develop and use skills inracing and performance analysis as applied to real-world systems artefacts.Results from these labs (and follow-up work by students outside of theclassroom) will by the primary input to lab reports.
Typical labs will involve using tracing and profiling to characterise specificbehaviours (e.g., file I/O in terms of system calls and traps) as well asdiagnose and fix problems through modifications to application-levelbehaviours (e.g., modifying network clients and servers to better exploitreal-world TCP behaviour).Students may find it useful to work in pairs within the lab, but must preparelab reports independently.
The module lecturer will give a short introductory lecture at the start ofeach lab, and instructors will be on-hand throughout labs to provideassistance.Lab participation is not directly included in the final mark, but lab work isa key input to lab reports that are assessed.
Assessment
Each student will write three lab reports, roughly 5-10 pages each includingseveral figures. The first is a 'practice run' that will be used to developlab-report structure, content, and presentation, and will not contribute tothe final mark. The remaining two lab reports will each contribute 50% to thefinal mark.
Recommended reading
Primary module texts
Course texts provide instruction on statistics, operating-system design andimplementation, and system tracing.You will be asked to read selected chapters from these, but will likely findother content in them useful as you proceed with the labs.
Marshall Kirk McKusick, George V. Neville-Neil, and Robert N. M. Watson.The Design and Implementation of the FreeBSD Operating System, 2ndEdition, Pearson Education, Boston, MA, USA, September 2014.
Brendan Gregg and Jim Mauro. DTrace: Dynamic Tracing in OracleSolaris, Mac OS X and FreeBSD, Prentice Hall Press, Upper Saddle River, NJ,USA, April 2011.
Raj Jain, The Art of Computer Systems Performance Analysis: Techniquesfor Experimental Design, Measurement, Simulation, and Modeling, Wiley -Interscience, New York, NY, USA, April 1991.
Additional texts
Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne, OperatingSystem Concepts, Eighth Edition, John Wiley & Sons, Inc., New York,NY, USA, July 2008.
Brendan Gregg. Systems Performance: Enterprise and the Cloud,Prentice Hall Press, Upper Saddle River, NJ, USA, October 2013.
Research-paper readings
Research-paper readings will be announced as the terms proceed, but willlikely include original papers on BPF, DTrace, OS scheduling, OS scalability,network stacks, and systems modelling.