---
# System prepended metadata

title: 'CH 11 : 使用者處理程序'

---

Chapter 11：使用者處理程序
===
:::info
這是讀書筆記

![679544](https://hackmd.io/_uploads/HJB-ZFKV-l.jpg =30%x)

作者：鄭鋼
出版社：佳魁資訊股份有限公司
出版日期：2017/05/31
:::
>[time=2025-07-23]
---

# TSS 簡介

![截圖 2025-07-22 上午8.29.46](https://hackmd.io/_uploads/Hkn5iI3Lxx.png)

![fig7-2](https://hackmd.io/_uploads/r1pO28nLex.gif)

![c7ecf8e63e32ba5ec7b025cd34bdfe62](https://hackmd.io/_uploads/H16rpUn8xx.png)

TSS example

<iframe width="560" height="315" src="https://www.youtube.com/embed/UikDD0VYiME?si=jSwwg29ctpVUV4n4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>


* CPU level 實作 context switch。
* Linux 其實沒有採用 TSS，效率太差了。
* Linux 為每個 CPU 建立一個 TSS，在同個 CPU 上的工作都是共用一個 TSS。

# 定義初始化 TSS

## Source Code

https://github.com/yifengyou/os-elephant/tree/master/code/c11/a

## Result

![截圖 2025-07-22 上午10.06.09](https://hackmd.io/_uploads/B1s4zO2Uel.png)

![截圖 2025-07-22 上午10.07.33](https://hackmd.io/_uploads/ryJcMO2Uxx.png)


# 實現使用者處理程序

## Source Code

https://github.com/yifengyou/os-elephant/tree/master/code/c11/b

## Result

![截圖 2025-07-23 凌晨2.51.51](https://hackmd.io/_uploads/ryaJAIaLgg.png)

![截圖 2025-07-23 凌晨2.53.30](https://hackmd.io/_uploads/SytvCL68gg.png)
