1 / 19

Course Overview

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

blithe
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 • Class Websites • http://ww2.cs.fsu.edu/~diesburg/courses/dd • Blackboard

  3. 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

  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 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

  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 (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

  11. 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?

  12. 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

  13. 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

  14. 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”

  15. 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)

  16. 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

  17. 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

  18. 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

  19. 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

More Related