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