Course overview - FSU Computer Science

advertisement
Course Overview
Mark Stanovich
COP 5641 / CIS 4930
Instructors

Lead Instructor: Mark Stanovich


Office: 105-E Love Building
Office hours


TA: Muye Liu


After class and by appointment (email)
Office hours: TBA
Class Websites


http://ww2.cs.fsu.edu/~stanovic/teaching/ldd/
Blackboard
Meeting Place and Times

Tuesday/Thursday: 9:30am – 10:45am


LOV 103 (sometimes at MCH 202)
You will work in lab MCH 202


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 corrupting
 Can bring into the lab for demos
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
Understand and make changes to the sources
Use internal kernel services
Design and implement a kernel module
Modify/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 (MCH 202)



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






Raspberry pi
Cellular phone sensors
Virtual devices (virtual machine pass-through)
Solid-state storage (e.g., flash)
Future course lab project
Add functionality to an existing device driver

May partially include upgrading to a recent version of the
kernel
Some Possible Team Projects

New kernel features/optimizations





Optimize storage management routines
Security
Assist with ongoing research projects
Scheduling (CPU, block layer)
Your ideas?
BEWARE

Assignments may be very time consuming


Non-deterministic error
Obscure error symptoms




May not have much information about where/when an
error occurred
Fewer and more difficult to setup debugging tools
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 usage
Kernel debugging tools



Kdb, gdb (on modules)
“Kernel hacking” configuration menu items
“Magic SysRq”
Quizzes

Several short quizzes

Not necessarily announced in advance

Will throw out one quiz (worst score)

Missed quizzes

For excused absences or lateness


No make-ups for missed quizzes
For excused absences or lateness

The missing quizzes will be dropped
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 via Blackboard
Card activation for MCH 202 lab


Fill out survey
Need your FSU card number

Your choice of a 4 digit PIN #
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 in at the
beginning of Thursday’s class
Reading




Syllabus
Start with LKD Chapters 1 and 2 (quick overview)
Then read LDD Chapters 1 and 2 for more depth
Familiarize yourself with Assignment 1
Download