Erinevus lehekülje "ITS8020" redaktsioonide vahel
38. rida: | 38. rida: | ||
* [[Processes (ITS8020)|Processes]] | * [[Processes (ITS8020)|Processes]] | ||
* [[File Attributes (ITS8020)|File Attributes]] | * [[File Attributes (ITS8020)|File Attributes]] | ||
+ | * [[Writing and Reading Binary Data (ITS8020)|Writing and Reading Binary Data]] | ||
== Homework == | == Homework == |
Redaktsioon: 2. november 2018, kell 09:28
ITS8020 Systems Programming
Course Card
Lecturer: Jaagup Irve <jaagup.irve@ttu.ee>
For reference: last year materials can be found at Real-Time Operating Systems and Systems Programming. Most of it is still relevant.
Elevator pitch
The course is basically an advanced C course which delves into the intricacies of hardware, memory management and operating system design. It looks at basic operating system components (scheduling, mutexes) and also at Linux standard library. You will be expected to program difficult tasks and it will be englightening. The course has been enjoyed by numerous smart students over the years.
Grading
Grading is based on points earned during the course.
90+ points earns a grade of 5, and 50+ lets you pass. Exam can earn you up to 60 points and is difficult. Programming independently (lab) is worth 40 points max. There are 10 bonus points for attending and working on the labs. It is possible to agree on a different course project during the course.
Exam
The first exam will be held in last lecture, the second one in the second week of January.
Lectures
- Introduction (course overview, grades, operator precedence, real time overview) PDF
- Stack Exploration, Long Jump PDF
- Heap PDF
- Hardware, interrupts, basic IO: Please watch the videos PDF
- Signals, System Calls PDF
- Threads PDF
- Scheduling, Processes PDF
- File IO, file and directory management PDF
Practice
- Basic command line and compilation
- Stack Exploration
- Exploring Debugger
- Signals
- Threads
- Processes
- File Attributes
- Writing and Reading Binary Data
Homework
The homework for the course is a file encoder/decoder using a Huffman algorithm. The deadline for the task is November 9, but if you show your progress weekly, it can be extended without penalty depending on the amount of progress shown. The encoder needs to be shown and defended before the lectures conclude.
Links
- Toyota killer firmware
- Use of Assertions
- How to C in 2016 - or why the lecturer should be deprecated
- Smashing the Stack for Fun and Profit Redone - a take on a classic
- Raspberry Pi Os - an opsystem from scratch