การเรียนรู้การพัฒนาระบบปฏิบัติการโดยใช้เคอร์เนล Linux และ Raspberry Pi
พื้นที่เก็บข้อมูลนี้มีคำแนะนำทีละขั้นตอนที่สอนวิธีสร้างเคอร์เนลระบบปฏิบัติการ (OS) อย่างง่ายตั้งแต่เริ่มต้น ฉันเรียกระบบปฏิบัติการนี้ว่า Raspberry Pi OS หรือเพียงแค่ RPi OS ซอร์สโค้ด RPi OS ส่วนใหญ่ใช้เคอร์เนล Linux แต่ระบบปฏิบัติการมีฟังก์ชันการทำงานที่จำกัดมากและรองรับเฉพาะ Raspberry PI 3 เท่านั้น
แต่ละบทเรียนได้รับการออกแบบในลักษณะที่จะอธิบายวิธีการใช้คุณลักษณะเคอร์เนลบางอย่างในระบบปฏิบัติการ RPi ก่อน จากนั้นจึงพยายามสาธิตวิธีการทำงานของฟังก์ชันเดียวกันในเคอร์เนล Linux แต่ละบทเรียนมีโฟลเดอร์ที่เกี่ยวข้องในไดเร็กทอรี src ซึ่งมีสแน็ปช็อตของซอร์สโค้ด OS ณ เวลาที่บทเรียนเพิ่งเสร็จสิ้น สิ่งนี้ทำให้สามารถแนะนำแนวคิดใหม่ๆ ได้อย่างงดงาม และช่วยให้ผู้อ่านติดตามวิวัฒนาการของระบบปฏิบัติการ RPi การทำความเข้าใจคู่มือนี้ไม่จำเป็นต้องมีทักษะการพัฒนาระบบปฏิบัติการเฉพาะใดๆ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมายและประวัติของโครงการ โปรดอ่านบทนำ โครงการยังอยู่ระหว่างการพัฒนา หากคุณยินดีเข้าร่วม โปรดอ่านคู่มือการมีส่วนร่วม
สารบัญ
- การแนะนำ
- คู่มือการบริจาค
- ข้อกำหนดเบื้องต้น
- บทที่ 1: การเริ่มต้นเคอร์เนล
- 1.1 แนะนำ RPi OS หรือ Bare Metal "Hello, world!"
- ลินุกซ์
- 1.2 โครงสร้างโครงการ
- 1.3 ระบบการสร้างเคอร์เนล
- 1.4 ลำดับการเริ่มต้น
- 1.5 แบบฝึกหัด
- บทที่ 2: การเริ่มต้นโปรเซสเซอร์
- 2.1 ระบบปฏิบัติการ RPi
- 2.2 ลินุกซ์
- 2.3 แบบฝึกหัด
- บทที่ 3: การจัดการขัดจังหวะ
- 3.1 ระบบปฏิบัติการ RPi
- ลินุกซ์
- 3.2 การจัดการข้อยกเว้นระดับต่ำ
- 3.3 ตัวควบคุมขัดจังหวะ
- 3.4 ตัวจับเวลา
- 3.5 แบบฝึกหัด
- บทที่ 4: ตัวกำหนดเวลากระบวนการ
- 4.1 ระบบปฏิบัติการ RPi
- ลินุกซ์
- 4.2 โครงสร้างพื้นฐานของตัวจัดตารางเวลา
- 4.3 การฟอร์กงาน
- 4.4 ตัวกำหนดเวลา
- 4.5 แบบฝึกหัด
- บทที่ 5: กระบวนการผู้ใช้และการเรียกระบบ
- ระบบปฏิบัติการ 5.1 RPi
- 5.2 ลินุกซ์
- 5.3 แบบฝึกหัด
- บทที่ 6: การจัดการหน่วยความจำเสมือน
- ระบบปฏิบัติการ 6.1 RPi
- 6.2 Linux (อยู่ระหว่างดำเนินการ)
- 6.3 แบบฝึกหัด
- บทที่ 7: สัญญาณและการขัดจังหวะการรอ (ต้องทำ)
- บทที่ 8: ระบบไฟล์ (ต้องทำ)
- บทที่ 9: ไฟล์ปฏิบัติการ (ELF) (สิ่งที่ต้องทำ)
- บทที่ 10: ไดรเวอร์ (ต้องทำ)
- บทที่ 11: การสร้างเครือข่าย (ที่ต้องทำ)