Unformatted text preview:

COMP 630 OS Implementation Welcome to COMP 630 Introduction and Review Don Porter 1 COMP 630 OS Implementation Why Grad OS Primary Goal Demystify how computers work 2 COMP 630 OS Implementation An example progression Undergrad OS High level understanding of paging Theoretical issues like fragmentation Grad OS Impl 630 Build a pager Solid understanding of how paging SW HW work Advanced Grad OS 730 Read novel research papers Do creative things with paging virtualization security etc Plan to do this next spring 3 COMP 630 OS Implementation This class Learn by doing You will write major chunks of your own OS Memory management context switching scheduler file system IPC network driver shell etc Linux scheduler Difficult to understand just by reading source Small modifications require first understanding the code Impossible to replace reimplement No substitute for building it yourself 4 COMP 630 OS Implementation A logical view of the OS Binary Formats Memory Allocators System Calls Threads User Kernel RCU File System Networking Sync Memory Management Device Drivers CPU Scheduler Interrupts Disk Net Consistency Hardware 5 Memory ManagementCPUSchedulerBinary FormatsConsistencySystem CallsInterruptsDiskNetRCUFile SystemDeviceDriversNetworkingSyncMemory AllocatorsThreads COMP 630 OS Implementation Labs cont This course is coding intensive You should know C or be prepared to remediate quickly You will learn basic inline x86 assembly You must learn on your own with team of up to 3 students The lab is difficult but worthwhile You will want to commemorate with a T shirt tattoo etc 6 COMP 630 OS Implementation JOS Developed at MIT used at several top schools The J is for Josh Cates not Java In C and Assembly boots on real PC hardware You get the skeleton code fill in interesting pieces Build the right intuitions about real OSes but with much simpler code 7 COMP 630 OS Implementation JOS 64 You will actually implement a 64 bit variant of JOS Developed at by my TAs back at Stony Brook Primarily by Amit Arya and Abhinand Palicherla Contributions also by Vivek Kulkarni Varun Agarwal Chia Che Tsai Tao Zhang Sagar Trehan Jiahong Huang Some of these final projects or just contributions from a previous See your name here next year if you add a particularly useful course feature 8 COMP 630 OS Implementation Binary Formats JOS Labs Memory Allocators Threads 3 System Calls 5 RCU File System Networking Sync Memory 2 Management 6 Device Drivers CPU 4 Scheduler Interrupts Disk Net Consistency User Kernel Hardware 9 Memory ManagementCPUSchedulerBinary FormatsConsistencySystem CallsInterruptsDiskNetRCUFile SystemDeviceDriversNetworkingSyncMemory AllocatorsThreads23456 COMP 630 OS Implementation Lab 6 3 Options 1 Network device driver guided assignment 2 Make JOS a hypervisor guided assignment 3 Open ended project Add a significant feature to JOS A research task on another system 10 COMP 630 OS Implementation Challenge Problems Each lab includes challenge problems which you may complete for bonus points generally 5 10 points out of 100 Unwise to turn in a lab late to do challenge problems Can complete challenge problems at any point in the semester even on old labs Separate gradescope assignment Indicate which challenge problems completed in challenge txt file 11 COMP 630 OS Implementation No Textbook You re welcome Several recommended texts Several free on safari online site Others at library Required readings will mainly be papers you can print out 12 COMP 630 OS Implementation Readings My lectures aren t perfect some concepts are subtle Reading other words can be helpful for reinforcement and clarification You will learn more in class if you read before class Can t ask the textbook questions 7 papers will be posted and discussed over the course of the semester these you should definitely read before class COMP 630 OS Implementation Lectures Compare and contrast JOS with real world OSes Mostly Linux some Windows or OS X FreeBSD etc Supplement background on hardware programming Common educational gap between OS and architecture 14 COMP 630 OS Implementation My Lecture Style I like participation and questions I can explain any concept in many ways and explain missing background on the fly but I can t read your mind I need to know if you don t understand something 15 COMP 630 OS Implementation Administrative Syllabus schedule homework etc posted on course website www cs unc edu porter courses comp630 s24 COMP 630 OS Implementation Recordings I usually record lectures for students to review later I will share on Panopto Recordings are best effort Recordings may fail be unwatchable or get deleted by Or be discontinued if too many students stop attending I need your facial expressions and questions to know if lectures accident make sense Do not use this as a substitute for regular class attendance Skipping occasionally for illness or conference travel ok 17 COMP 630 OS Implementation Guest Lectures Senior graduate students will give some lectures to gain teaching experience Professor Porter will review and critique guest lectures in person or recorded with guests Please Ask questions if something is unclear in class or on Give Prof Porter comments on guests and his lectures campuswire positive and negative 18 COMP 630 OS Implementation Prerequisites Undergrad OS In some cases industry experience is ok Worth brushing up if it has been a while C programming Basic Unix command line proficiency See me if you have already done the JOS lab or similar 19 COMP 630 OS Implementation Campuswire This is the primary announcement medium And for discussions about course work Do not post code here or other solutions Goal Everyone can learn from general questions Details for campuswire forum are on the course website 20 COMP 630 OS Implementation Other administrative notes Read syllabus completely 1 final exam take home Linux project Every student will use walter cs unc edu Log in with your ONYEN You may use your own computer staff can t support it But are curious about issues you see Private messages by email or campuswire are fine as needed 21 COMP 630 OS Implementation Lab Team up to 3 Can work alone but better with help Some excellent students earned A s working alone Many good students earned B s working alone No need to be a hero Choose your own team Campus wire good for finding them Same team for entire course Changes only with instructor permission 22 COMP 630 OS Implementation Final Exam This year we will try something


View Full Document

UNC-Chapel Hill COMP 630 - Introduction and Review

Documents in this Course
Load more
Download Introduction and Review
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction and Review and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction and Review and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?