# OS HW3 ## 問題 * RR task斷點怎麼紀錄 * PP multilevel queue * running state才能用del打斷,還是任何時候都可以 * turnaround = waiting + running ? ## 解決方案 * RR task斷點怎麼紀錄 直接用 swapcontext * PP multilevel queue sort queue (by priority) * running state才能用del打斷,還是任何時候都可以 先實作ready queue刪除,測資裡沒有中途刪除的動作 ## Block signal(建議) ```c= void block_sigprof(void){ sigset_t sigprof; sigemptyset(&sigprof); sigaddset(&sigprof, SIGPROF); if(sigprocmask(SIG_BLOCK, &sigprof, NULL) == -1){ perror("sigprocmask"); abort(); } } void unblock_sigprof(void){ sigset_t sigprof; sigemptyset(&sigprof); sigaddset(&sigprof, SIGPROF); if (sigprocmask(SIG_UNBLOCK, &sigprof, NULL) == -1) { perror("sigprocmask"); abort(); } } ``` ### CPU Idle 的時機 * ready queue 為空 waiting list 不為空 (FCFS例外?) * 進sleep,拿不到resource ~~### Process Dispatch(function)~~ ### Queue
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up