Course Overview - PowerPoint PPT Presentation

About This Presentation
Title:

Course Overview

Description:

Title: PowerPoint Presentation Last modified by: d610 Document presentation format: On-screen Show (4:3) Other titles: Arial Bitstream Vera Sans Garamond Wingdings ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 21
Provided by: fsu108
Learn more at: https://ww2.cs.fsu.edu
Category:

less

Transcript and Presenter's Notes

Title: Course Overview


1
Course Overview
  • Mark Stanovich
  • COP 5641 / CIS 4930

2
Instructors
  • Lead Instructor Mark Stanovich
  • Office 105-E Love Building
  • Office hours
  • After class and by appointment (email)
  • TA Muye Liu
  • Office hours TBA
  • Class Websites
  • http//ww2.cs.fsu.edu/stanovic/teaching/ldd/
  • Blackboard

3
Meeting Place and Times
  • Tuesday/Thursday 930am 1045am
  • 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

4
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

5
Applicability of Kernel Hacking Skills
  • Software engineering
  • Concurrent programming
  • Thesis and dissertation
  • Employment
  • Final project can be added to your portfolio

6
Prerequisites
  • COP 4610
  • Undergraduate Operating Systems
  • or, COP 5570
  • Concurrent, Parallel, and Distributed Programming
    (old Advanced Unix Programming)
  • or,
  • Proficiency in Unix environment and C, and
  • General knowledge of operating systems design
    principles

7
Course Material
  • Lecture notes (posted at the class website)
  • Required textbook
  • Linux Kernel Development (3rd Ed)
  • ISBN 978-0672329463

8
Course Material
  • Recommended additional textbook
  • Linux Device Drivers, 3rd Edition
  • ISBN 0-596-00590-3
  • Online version (free)
  • http//www.lwn.net/Kernel/LDD3

9
Class Grading
  • Assignment 1 (individual) 10
  • Assignment 2 (prob. individual) 5
  • Assignment 3 (individual) 15
  • Assignment 4 (individual) 15
  • Assignment 5 (team report) 30
  • Quizzes 25

10
Assignments
  • Reading
  • Programming
  • You will be provided access to a PC (MCH 202)
  • 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

11
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

12
Some Possible Team Projects
  • New kernel features/optimizations
  • Optimize storage management routines
  • Security
  • Assist with ongoing research projects
  • Scheduling (CPU, block layer)
  • Your ideas?

13
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

14
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

15
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

16
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

17
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

18
Computer Accounts, etc.
  • Blackboard account (_at_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

19
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

20
Things for you to do
  • Fill out survey form and turn in at the beginning
    of Thursdays 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
Write a Comment
User Comments (0)
About PowerShow.com