Course overview
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Course Overview PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Course Overview. Sarah Diesburg  Bobby Roy COP 5641 / CIS 4930. Instructors. Lead Instructor: Dr. Sarah Diesburg Office: 105-A Love Building Office hours: After class and by appointment TA: Bobby Roy Office 105-E Love Building Office hours: After class and by appointment

Download Presentation

Course Overview

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Course overview

Course Overview

Sarah Diesburg  Bobby Roy

COP 5641 / CIS 4930



  • Lead Instructor: Dr. Sarah Diesburg

    • Office: 105-A Love Building

    • Office hours: After class and by appointment

  • TA: Bobby Roy

    • Office 105-E Love Building

    • Office hours: After class and by appointment

  • Class Websites


    • Blackboard

Meeting place and times

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

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

Applicability of Kernel Hacking Skills

Software engineering

Concurrent programming

Thesis and dissertation


Final project can be added to your portfolio



COP 4610

Undergraduate Operating Systems

or, COP 5570

Concurrent, Parallel, and Distributed Programming (old Advanced Unix Programming)


Proficiency in Unix environment and C, and

General knowledge of operating systems design principles

Course material

Course Material

  • Lecture notes (posted at the class website)

  • Required textbook

    • Linux Kernel Development (3rd Ed)

    • ISBN: 978-0672329463

Course material1

Course Material

Recommended additional textbook

Linux Device Drivers, 3rd Edition

ISBN: 0-596-00590-3

Online version (free)

Class grading

Class Grading

Assignment 1 (individual): 10%

Assignment 2 (prob. individual): 5%

Assignment 3 (individual): 15%

Assignment 4 (individual): 15%

Assignment 5 (team + report): 30%






You will be provided access to a PC (LOV 16)

It may need to be shared

First four assignments: lab. exercises

Last assignment: team projects

Each member will evaluate the contribution of the other team members

Warning: they get more difficult, exponentially

Some possible team projects

Some Possible Team Projects

  • Device drivers

    • Raspberry pi

    • Cellular phone sensors

    • Virtual devices (virtual machine pass-through)

    • Solid-state storage (e.g., flash)

  • New kernel features/optimizations

    • Optimize storage management routines

    • Security

    • Assist with ongoing research projects

  • Your ideas?



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


Start your projects early

You are responsible for backing up your work



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

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”



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 grading1

Class Grading

91% - 100%A

89% - 90%A-

85% - 88%B+

81% - 84%B

79% - 80%B-

75% - 78%C+

71% - 74%C

69% - 70%C-

64% - 68%D+

61% - 63%D

59% - 60%D-

0% - 58%F

Computer accounts etc

Computer Accounts, etc.

Blackboard account (

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

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

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

  • Login