Pagini
Workshops
Parteneri
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
sesiuni:kernel [2013/06/24 12:55] mbarbulescu [Students] |
sesiuni:kernel [2013/07/11 00:05] alexj [Agenda] |
||
---|---|---|---|
Line 18: | Line 18: | ||
== Coordonator == | == Coordonator == | ||
- | ==== Daniel Băluţă ==== | + | ==== Daniel Băluță ==== |
{{http://m.c.lnkd.licdn.com/media/p/7/000/20a/3c6/1927d62.jpg?85 }} | {{http://m.c.lnkd.licdn.com/media/p/7/000/20a/3c6/1927d62.jpg?85 }} | ||
Line 25: | Line 25: | ||
[[http://www.linkedin.com/profile/view?id=13563916|{{http://www.linkedintraining.net/wp-content/uploads/linkedin-icon.png?46 }}]] | [[http://www.linkedin.com/profile/view?id=13563916|{{http://www.linkedintraining.net/wp-content/uploads/linkedin-icon.png?46 }}]] | ||
[[https://plus.google.com/102502129200589158127/posts|{{http://rosedu.org/resources/images/button-googleplus.png}}]] | [[https://plus.google.com/102502129200589158127/posts|{{http://rosedu.org/resources/images/button-googleplus.png}}]] | ||
+ | |||
+ | == Daniel's Minion == | ||
+ | |||
+ | ==== Alex Juncu ==== | ||
+ | |||
+ | {{http://m.c.lnkd.licdn.com/media/p/3/000/009/22c/3b0782b.jpg?85 }} | ||
+ | **E-mail**: | ||
+ | <alexj@rosedu.org> \\ | ||
+ | [[http://www.linkedin.com/profile/view?id=23418892|{{http://www.linkedintraining.net/wp-content/uploads/linkedin-icon.png?46 }}]] | ||
+ | [[https://plus.google.com/100978348167963255226/posts|{{http://rosedu.org/resources/images/button-googleplus.png}}]] | ||
== Students == | == Students == | ||
- | ^ Nume și prenume ^ Facultate ^ Anul de studiu ^ | + | ^ Nume și prenume ^ Facultate ^ An ^ |
| Alexandru Preda | ACS | 3 | | | Alexandru Preda | ACS | 3 | | ||
| Alex Grad | ACS | 5 | | | Alex Grad | ACS | 5 | | ||
Line 40: | Line 50: | ||
| Daniel Ciocîrlan | ACS | 3 | | | Daniel Ciocîrlan | ACS | 3 | | ||
| Valentina Manea | ACS | 3 | | | Valentina Manea | ACS | 3 | | ||
- | | Cosmin Stanescu | ACS | 3 | | + | | Cosmin Stanescu | ACS | 3 | |
- | == Agenda == | + | | Vladimir Cernov | ACS | 3 | |
+ | | Sava Georgiana Cristina | ETTI | 3 | | ||
+ | | Liviu Dinu | ACS | 5 | | ||
- | * **Day 1: Getting started with the Linux kernel** | + | |
+ | == Agenda == | ||
+ | * **Day 1: [[:sesiuni:kernel:day-1 | Getting started with the Linux kernel]] ** | ||
* general architecture, source code organization | * general architecture, source code organization | ||
* source code browsing: lxr, opengrok, ctags | * source code browsing: lxr, opengrok, ctags | ||
* introduction to booting, initialization | * introduction to booting, initialization | ||
- | * **Day 2: Linux kernel modules** | + | * **Day 2: [[:sesiuni:kernel:day-2 | Linux kernel modules]]** |
* get the sources, compile the kernel, run | * get the sources, compile the kernel, run | ||
* write a simple “Hello World” module | * write a simple “Hello World” module | ||
* learn to use printk | * learn to use printk | ||
- | * **Day 3: Introduction to kernel space + Kernel API** | + | * **Day 3: [[:sesiuni:kernel:day-3 | Introduction to kernel space + Kernel API]]** |
* simple tasks to demonstrate kernel API (kernel data structures) | * simple tasks to demonstrate kernel API (kernel data structures) | ||
* opening the kernel gates (introducing system calls) | * opening the kernel gates (introducing system calls) | ||
* kernel execution contexts (process, interrupts) | * kernel execution contexts (process, interrupts) | ||
- | * **Day 4: Debugging (generate and fix bugs)** | + | * **Day 4: [[:sesiuni:kernel:day-4 | Debugging (generate and fix bugs) ]]** |
* oops and panic | * oops and panic | ||
* CONFIG_DEBUG, addr2line, objdump, printk :), gdb | * CONFIG_DEBUG, addr2line, objdump, printk :), gdb | ||
- | * **Day 5: Device Drivers** | + | * **Day 5: [[:sesiuni:kernel:day-5 |(Character) Device Drivers]] ** |
* how linux handles device drivers | * how linux handles device drivers | ||
* simple char device module | * simple char device module | ||
- | * basic char device to control hardware (LED) | ||
- | * **Day 6: Processes/Scheduling/Synchronization** | ||
- | * processes hierarchy, current task | ||
- | * schedulers | ||
- | * synchronization mechanisms | ||
- | * **Day 7: Memory management** | + | * **Day 6: [[:sesiuni:kernel:day-6 | Kernel: some bits of memory]] ** |
* __get_free_pages, kmalloc, vmalloc | * __get_free_pages, kmalloc, vmalloc | ||
* memory zones, mapping memory into user space | * memory zones, mapping memory into user space | ||
- | * **Day 8: - Networking** | + | * **Day 7: [[:sesiuni:kernel:day-7 | Hardware interrupts]] ** |
+ | * interrupt handlers, IRQ | ||
+ | * softirq, tasklet | ||
+ | * timers | ||
+ | |||
+ | * **Day 8: [[:sesiuni:kernel:day-8 | Introduction to Networking]]** | ||
* TCP/IP stack architecture overview | * TCP/IP stack architecture overview | ||
* what exactly is a socket? | * what exactly is a socket? | ||
* capture and analyze traffic - tcpdump, Wireshark | * capture and analyze traffic - tcpdump, Wireshark | ||
- | * **Day 9: Overview on NGW100 boards** | + | * **Day 9: [[:sesiuni:kernel:day-9 | Contributing to the Linux Kernel ]]** |
- | * booting, compiling, networking, etc. | + | |
- | + | ||
- | * **Day 10: Recap** | + | |
- | * contributing to Linux kernel | + | |
* basic git tutorial | * basic git tutorial | ||
- | * versioning, patching, linux kernel community, mailing lists | + | * searching for bugs |
- | * special guest(s) | + | * creating and verifying patches |
+ | * sending patches | ||
+ | |||
+ | * **Day 10: [[:sesiuni:kernel:day-10 | Linux Development Process ]]** | ||
+ | * linux versions and trees | ||
+ | * linux kernel community, mailing lists | ||
* conquer the Solar System | * conquer the Solar System | ||
+ | |||
+ | == Alte resurse == | ||
+ | |||
+ | * [[http://kernel.rosedu.org | ROSEdu Kernel Dev]] | ||
+ | * [[http://lists.rosedu.org/listinfo/firefly|Firefly mailing list (ROSEdu Kernel Dev community)]] |