作者s094392 (WarZ)
看板NCTU-Teacher
標題[心得] 曹孝櫟 作業系統設計與實作
時間Thu Jan 28 18:59:48 2021
⊕課名⊕
作業系統設計與實作
▲教授▲
曹孝櫟
★修課年度★
1082
£教了什麼£(課程大概內容。或是額外學會了什麼東西。)
Booting
Process Management
Memory Management
Kernel Synchronization
Interrupt
File System Block IO
Network Protocol
Multicore
Power Management
◆上課方式◆(投影片、團體討論、老師教學風格)
主要是自己看之前的上課錄影+討論課
然後因為疫情所以每週的討論課改成 Google Meet
只有最後幾周變回實體
Demo 也是用 Google Meet 分享螢幕
討論課主要是每週的影片看完要上傳一個問題,老師會挑一些有趣的問題來討論
▼考試作業▼
分成 Lab 跟 Workshop
總而言之 Lab 就是要寫一個可以在 Raspi 上跑的作業系統,Pi 會發
作業網站:
https://grasslab.github.io/osdi/en/index.html
8+1 個 Lab
Lab 0: Environment Setup
就看你可不可以跑東西上去 Pi
Lab 1: Hello World
弄個 Uart 跟寫個簡單的 Shell
Lab 2: Bootloader
主要是要寫一個 Bootloader 然後可以透過 Uart 拿 kernel 並開機
Lab 3: Exception and Interrupt
練習作 Exception, Interrupt handler
Exception Label Switch
Lab 4: Multitasking
Lab 5: Virtual File System
Lab 6: Allocator
Lab 7: Virtual File System
Lab 8: File System Meets Hardware
後面幾個懶的寫了
基本上前幾個比較像是練習 Bare metal
網路上很多教學,應該不難
後面幾個可能就是看著 Spec 想辦法變出來
Lab 都有分成 require, elective & question
elective 算是加分題,會叫你變出別的功能或是用比較優質的方法改善 require
question 是 Demo 的時候助教會問你然後你要會回答的
當然助教通常會問更多問題,不過如果是自己寫的話應該都答的出來吧
Workshop 就是一人會被分配到一個主題
我是被分到 RiscV interrupt & execption
然後你要作個簡報,最好是要有包含 Trace code 或是實做,然後要深入一點
一開始的時候,有些人的有點淺老師好像不太滿意
分數的話應該很甜吧,Lab 都有作,加分題加減寫一下應該都很高分
¥其他¥(是否注重出席率or嚴禁遲到?需要的基礎?)
疫情所以全線上,連 Demo 都不用出門,真的很讚
¢最後想說的話¢
修完之後才發現自己什麼都不知道
但可能有變成 gdb 大師
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.210.137 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/NCTU-Teacher/M.1611831592.A.B6C.html
1F:推 tommytyc: 看起來爆幹硬 01/28 22:12
※ 編輯: s094392 (114.32.243.84 臺灣), 01/29/2021 14:42:51
2F:推 kaiiiz: 推未來助教 02/05 19:46
3F:推 greedycat: Multicore 和power management 是新加的單元嗎?ocw上 04/01 01:00
4F:→ greedycat: 的章節沒寫到 04/01 01:00