Kernel Development Learning Pipeline
A6 - Implement a spec ðŸ«
You will practice developing a character driver and writing specifications and testing code for it.
You will follow the steps taken in class to develop a specification, tests, and a character driver, and your driver
will behave similarly to what was shown in class, but with a small twist: your character driver should reverse the
string between when it receives it and when the user asks for it back. The lseek and ioctl operations should work identically.
Outcomes:
- Get familiar with how a character driver spec is formatted and how thorough the tests need to be.
- Get comfortable following a spec in the context of writing a character driver.
- Get comfortable with writing simple character drivers.
Procedure:
- Make a new new directory named
firstname_lastname/
within the A6 folder and write your specification in a markdown file.
- Write a test program and a makefile that compiles it. You can load our dummy character driver that just logs operations
while writing your test program so that you have a file you can interact with (obviously though it won’t pass the tests).
- Create a character driver adhering to the spec and passing your test program, add support for compiling it to the makefile.
What to submit:
- The first patch should create your directory with the spec inside.
- The second patch should add the test program and Makefile.
- The third patch should add the character driver and modify the Makefile so it can be compiled.
- Don’t forget a cover letter.