Skip to content
Ian Chen edited this page Oct 7, 2021 · 8 revisions

Welcome to the SystemProgramming-zh wiki!

Foreword

本文件為 Lawrence Angrave 教授在伊利諾大學厄巴納-香檳分校開設 "Intro to System Programming (CS241)" 課程時所使用的教材。 該教材從簡單的 C 語言基礎、Process 觀念、同步問題...一路介紹到網路程式與檔案系統,是一個值得花費時間閱讀的好教材。 為了讓更多人能夠輕鬆的學習 System Programming,所以我們開始了教材的翻譯計畫,歡迎有志之士參與文件的翻譯工作。

翻譯工作

stage 1

  • 完成所有文件的初步翻譯。

stage 2

  • 修整文件的用詞,例如: 操作系統應翻為作業系統字符串應翻為字串文件系統應翻為檔案系統
  • 修正一些翻譯過程中造成的 Markdown 跑版。

翻譯示範

標題: 緩衝區溢出的一個例子是什麼? 著名的例子:Heart Bleed(對大小不足的緩衝區執行memcpy)。簡單的例子:在確定所需記憶體的大小時,實現一個strcpy,而忘記給strlen加1。

應修正為:

標題: 緩衝區溢出的實際案例 著名的例子可以參考: Heart Bleed (對大小不足的緩衝區執行 memcpy)。簡單的例子: 在確定所需的記憶體大小後,使用了 strcpy,卻忘記給 strlen 加上 1。

  • 中英混用時中間要以空白區隔
  • 中英混用時遇到標點符號可以不使用空白區隔
  • 若翻譯完後會造成用詞不精確,應使用原文表達,如: 解參考可以改回 Dereference 會更易懂。

Contents

0. Introduction

1. Learning C

2. Processes

3. Memory and Allocators

4. Intro to Pthreads

5. Synchronization

6. Deadlock

7. Inter-process Communication & Scheduling

8. Networking

9. File Systems

10. Signals

Exam Practice and Review Questions

Warning these are good practice but not comprehensive.

Clone this wiki locally