Course Overview  Bobby Roy Sarah Diesburg COP 5641 / CIS 4930

Download Report

Transcript Course Overview  Bobby Roy Sarah Diesburg COP 5641 / CIS 4930

Course Overview
Sarah Diesburg  Bobby Roy
COP 5641 / CIS 4930
Instructors

Lead Instructor: Dr. Sarah Diesburg



TA: Bobby Roy



Office: 105-A Love Building
Office hours: After class and by appointment
Office 105-E Love Building
Office hours: After class and by appointment
Class Websites


http://ww2.cs.fsu.edu/~diesburg/courses/dd
Blackboard
Meeting Place and Times

Tuesday/Thursday: 9:30am – 10:45am


LOV 301 (sometimes at LOV 016)
You will work in lab LOV 016


You will spend lots of time on projects
Projects will need to be done in the lab,
unless you have a PC that you:
 Don't mind trashing, through kernel bugs
 Can bring into the lab for demos
 Have your own device
Course Objectives

Make yourself into a Linux kernel “hacker”,
who can:







Configure, compile, and install a Linux kernel
Do the same for a kernel module
Navigate and read the Linux kernel sources
Use the API for internal kernel services
Design and implement a kernel module
Modify, or design and implement a device driver
Measure the performance of your implementation
Applicability of Kernel Hacking Skills




Software engineering
Concurrent programming
Thesis and dissertation
Employment

Final project can be added to your portfolio
Prerequisites

COP 4610


or, COP 5570


Undergraduate Operating Systems
Concurrent, Parallel, and Distributed
Programming (old Advanced Unix Programming)
or,


Proficiency in Unix environment and C, and
General knowledge of operating systems design
principles
Course Material


Lecture notes (posted at the class website)
Required textbook


Linux Kernel Development (3rd Ed)
ISBN: 978-0672329463
Course Material

Recommended additional textbook



Linux Device Drivers, 3rd Edition
ISBN: 0-596-00590-3
Online version (free)

http://www.lwn.net/Kernel/LDD3
Class Grading






Assignment 1 (individual):
Assignment 2 (prob. individual):
Assignment 3 (individual):
Assignment 4 (individual):
Assignment 5 (team + report):
Quizzes:
10%
5%
15%
15%
30%
25%
Assignments


Reading
Programming

You will be provided access to a PC (LOV 16)



First four assignments: lab. exercises
Last assignment: team projects


It may need to be shared
Each member will evaluate the contribution of the other
team members
Warning: they get more difficult, exponentially
Some Possible Team Projects

Device drivers





New kernel features/optimizations




Raspberry pi
Cellular phone sensors
Virtual devices (virtual machine pass-through)
Solid-state storage (e.g., flash)
Optimize storage management routines
Security
Assist with ongoing research projects
Your ideas?
BEWARE

Assignments may be very time consuming


Non-deterministic bugs
Obscure bug symptoms



Not much information about where an error occurred
Need frequent reboots and OS reinstallations
Implications


Start your projects early
You are responsible for backing up your work
BEWARE

If you plan to use your own computer


You will need to bring in your machine to
demonstrate your code
You might trash your hard drives
Some Useful Tools






Good editor, IDE (search code)
Git (backup, versions)
General knowledge of Linux logging subsystem
Knowledge of grub commands
Virtual machines
Kernel debugging tools



Kdb, gdb (on modules)
“Kernel hacking” configuration menu items
“Magic SysRq”
Quizzes

Several short quizzes


On average, one quiz per week
Not necessarily announced in advance


(Dates on calendar are just illustrative.)
Missed quizzes

For excused absences or lateness



Make-up arrangements must be made with instructor
Usually, an oral examination
Will throw out one quiz (worst score)
Class Grading









91% - 100%
89% - 90%
85% - 88%
81% - 84%
79% - 80%
75% - 78%
71% - 74%
69% - 70%
64% - 68%
A
AB+
B
BC+
C
CD+



61% - 63%
59% - 60%
0% - 58%
D
DF
Computer Accounts, etc.

Blackboard account (@my.fsu.edu)


Grade posting will be via Blackboard
Card activation for 016 Love lab

Fill out survey form and turn it in to Sarah


Need your FSU card number
The door PIN that you want
Course Policies



Attendance mandatory
Honor code: read your student handbook
Students with disabilities


Report to Student Disability Resource Center
Bring me a letter within the first week of class
Things for you to do


Fill out survey form and turn it in to Sarah
Reading



Start with LKD Chapters 1 and 2 (quick overview)
Then read LDD Chapters 1 and 2 for more depth
Familiarize yourself with Assignment 1