Git Product home page Git Product logo

sp's People

Contributors

ccckmit avatar

Stargazers

 avatar

Watchers

 avatar

sp's Issues

期中作業:請寫一個系統程式相關作品 (語言不限) (不寫程式也可以寫報告) (2024/6/22 日週六 24:00 前繳交完畢)

繳交:除線上繳交之外,最後兩週 請到課堂上展示你的系統

最後兩週可以來現場繳交,這樣老師會比較清楚你的作業,不需要寫太多說明,也比較不需要猜測。(如果老師需要猜測,那就會用最保守的猜測方法,意思是成績會比較差)

建議作品

  1. Monitor (監控程式)
  2. Http Server (可以想辦法提升效率)
  3. Crawler 爬蟲 (multithread, database, 規模 ...)
  4. 編譯器 (Compiler) (任意語言或自創語言)
  5. 解譯器 (Interpreter) (任意語言或自創語言)
  6. 作業系統 (OS) (最有挑戰性)(做 xv6 的習題)
  7. 嵌入式作業系統 (比較可行,還是很有挑戰性)
  8. 自己重建像 c 的 stdio, c++ algorithm 這樣函式庫的一部分
    • 例如從 putc 開始建構 printf
  9. 其他系統程式相關主題

注意:請註明下列事項 (例如:全部原創,有參考維基百科,但沒有剪貼)

  • 是自己寫的(原創)/參考誰的/修改誰的/參考什麼網路資源/直接複製誰的(有看懂/沒看懂/有改過)

特別提醒

  1. 『每一題』都要標示:原創,複製或修改(修改來源)
  2. 如果全部都是原創,直接在最前面寫『全部原創』
  3. 如果全部都是複製沒修改,直接在最前面寫『全部複製 xxx 的沒修改』
  4. 如果大部分是原創,少部分修改,就在最前面寫『除了 xxx 題以外,都是原創』
    • xxx 題參考 yyy 網址,修改了 zzz 內容

習題3 : 請用 C 語言硬塞的方式,直接將 power(a,n) 的機器碼放進去執行 (加分題)

參考

  1. 06-c4/02-asmFib
  2. 06-c4/02b-asmFib2
  3. fib.c
++ gcc -w c4.c -o c4
++ ./c4 -s test/fib.c
1: #include <stdio.h>
2:
3: int f(int n) {
4:   if (n<=0) return 0;
    ENT  0
    LLA  2
    LI
    PSH
    IMM  0
    LE
    BZ   0
    IMM  0
    LEV
5:   if (n==1) return 1;
    LLA  2
    LI
    PSH
    IMM  1
    EQ
    BZ   0
    IMM  1
    LEV
6:   return f(n-1) + f(n-2);
    LLA  2
    LI
    PSH
    IMM  1
    SUB
    PSH
    JSR  -1283591064
    ADJ  1
    PSH
    LLA  2
    LI
    PSH
    IMM  2
    SUB
    PSH
    JSR  -1283591064
    ADJ  1
    ADD
    LEV
7: }
    LEV
8:
9: int main() {
10:   printf("f(7)=%d\n", f(7));
    ENT  0
    IMM  -1283328912
    PSH
    IMM  7
    PSH
    JSR  -1283591064
    ADJ  1
    PSH
    PRTF
    ADJ  2
11: }
    LEV

習題 4 -- multi-thread 使用 mutex 前後

以下題目 2 選 1 (第一題較簡單,也較容易產生 race condition,推薦做第一題)

  1. 寫一個 multi-thread 的提款與存款程式,分成兩個版本 (較簡單,推薦)
    • 沒有用 mutex,用很多密集的提款與存款造成 race condition
    • 有用 mutex,用很多密集的提款與存款也不會造成 race condition
  2. 寫一個 multi-thread 的爬蟲程式,分成兩個版本 (較困難,挑戰題)
    • 沒有用 mutex,用很多密集的爬網頁會造成 race condition
    • 有用 mutex,用很多密集的爬網頁也不會造成 race condition

提醒:最後要寫一個 README.md 文件,記錄執行結果並說明這些結果的意義。

問題 1 詳細描述

a. 使用者應紀錄自己原本帳戶有多少錢,每次存提多少錢,還剩下多少錢
b. 每次存提款請求給銀行之後,銀行應傳回還剩下多少錢。
c. 使用者應檢核『存款+-存提款數量=剩下金額』是否正確,如果有錯立刻報錯。

參考

  1. race.c
  2. norace.c

期末作業:請將你的平時作業集中交上來,並交代哪些有做完,哪些沒做 (2024/6/22 日週六 24:00 前繳交完畢)

最後兩週可以來現場繳交,這樣老師會比較清楚你的作業,不需要寫太多說明,也比較不需要猜測。(如果老師需要猜測,那就會用最保守的猜測方法,意思是成績會比較差)

規定

  1. 請紀錄每一題習題的完成方法(例如:全部原創,有參考維基百科,但沒有剪貼)
    • 是自己寫的(原創)/參考誰的/修改誰的/參考什麼網路資源/直接複製誰的(有看懂/沒看懂/有改過)

特別提醒

  1. 『每一題』都要標示:原創,複製或修改(修改來源)
  2. 如果全部都是原創,直接在最前面寫『全部原創』
  3. 如果全部都是複製沒修改,直接在最前面寫『全部複製 xxx 的沒修改』
  4. 如果大部分是原創,少部分修改,就在最前面寫『除了 xxx 題以外,都是原創』
    • xxx 題參考 yyy 網址,修改了 zzz 內容

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.