iT邦幫忙

鐵人檔案

第 11 屆 iT 邦幫忙鐵人賽
回列表
自我挑戰組

Linux Inside - Synchronization & Interrupt 系列

想了解 Linux 的同步 & 中斷機制,會穿插一些 Lab 實作,藉此更了解系統底層,以及如何開發平行化的程式

參賽天數 13 天 | 共 18 篇文章 | 7 人訂閱 訂閱系列文 RSS系列文
DAY 1

Introduction

緣起 這是我第二次參加鐵人賽,去年訂了個題目「你所不知道的 C 語言」,就直接懶了,不寫了,因為覺得好困難~~ 但是今年真的要畢業了,準備要找工作,根據自己的面...

2019-09-02 ‧ 由 ian910297 分享
DAY 2

Spinlock & MCS Lock

Spinlock 參考文章 Synchronization primitives in the Linux kernel. Part 1. Linux内...

2019-09-03 ‧ 由 ian910297 分享
DAY 3

Inline Assembly & Memory Barrier

如何撰寫 Inline Assembly 相信很多人都有寫過組合語言,但應該沒想過可以在 C 語言中也撰寫組合語言吧,總之這是辦得到的,那麼以下會針對這相關的語...

2019-09-04 ‧ 由 ian910297 分享
DAY 4

Memory Barrier

Type of Memory Barrier 參考 Wikipedia: 內存排序 Memory Barriers Are Like Source Co...

2019-09-05 ‧ 由 ian910297 分享
DAY 5

Spinlock 原始碼觀摩(—)

參考 Synchronization primitives in the Linux kernel. Part 1.(Linux 内核中的同步原语. 第一部...

2019-09-06 ‧ 由 ian910297 分享
DAY 6

Spinlock 原始碼觀摩(二) & Livelock

參考 Linux Inside - Queued Spinlocks Linux内核的自旋锁 這邊要介紹的就是 arch_spin_lock L...

2019-09-07 ‧ 由 ian910297 分享
DAY 7

Semaphore

參考 Synchronization primitives in the Linux kernel. Part 3. Semaphore 先前介紹過 Spinl...

2019-09-08 ‧ 由 ian910297 分享
DAY 8

Mutex

參考 Synchronization primitives in the Linux kernel. Part 4. Mutex(MUTual EXclusio...

2019-09-09 ‧ 由 ian910297 分享
DAY 9

Lock Performance & Priority Inversion

Lock Performance 主要針對 Spinlock 與 Mutex 兩者去作比較 #include <stdio.h> #include...

2019-09-10 ‧ 由 ian910297 分享
DAY 10

[LAB 背景知識] Blocking Linked List

讓我們從 Linked List 的資料結構下手,了解如何在 Multi-Thread 中維護一個 Linked List 經典範例 參考 The Art of...

2019-09-11 ‧ 由 ian910297 分享