協(xié)同過濾算法java代碼 什么是時間片輪轉(zhuǎn)調(diào)度算法?
什么是時間片輪轉(zhuǎn)調(diào)度算法?時間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡單,最公平且使用最廣的算法。每個進(jìn)程被分配一個時間段,稱作它的時間片,即該進(jìn)程允許運行的時間。如果在時間片結(jié)束時進(jìn)程還在運行,則CPU將被剝奪
什么是時間片輪轉(zhuǎn)調(diào)度算法?
時間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡單,最公平且使用最廣的算法。
每個進(jìn)程被分配一個時間段,稱作它的時間片,即該進(jìn)程允許運行的時間。如果在時間片結(jié)束時進(jìn)程還在運行,則CPU將被剝奪并分配給另一個進(jìn)程。如果進(jìn)程在時間片結(jié)束前阻塞或結(jié)束,則CPU當(dāng)即進(jìn)行切換。調(diào)度程序所要做的就是維護(hù)一張就緒進(jìn)程列表,當(dāng)進(jìn)程用完它的時間片后,它被移到隊列的末尾。
就這樣說吧,CPU假如比做一個游戲機,現(xiàn)在A,B,C都想玩,如何去分配呢,時間片輪轉(zhuǎn)調(diào)度就是來分配這游戲機的,先讓A玩三分鐘,再讓B玩三分鐘,再讓C玩三分鐘,再來讓A玩三分鐘,如此循環(huán)。
時間片輪轉(zhuǎn)調(diào)度算法如何選擇時間片的大?。?/h2>
在時間片輪轉(zhuǎn)算法中,時間片的大小對系統(tǒng)性能有很大的影響,如選擇很小的時間片將有利于短作業(yè),因為它能較快地完成,但會頻繁地發(fā)生中斷、進(jìn)程上下文的切換,從而增加系統(tǒng)的開銷;反之,如選擇太長的時間片,使得每個進(jìn)程都能在一個時間片內(nèi)完成,時間片輪轉(zhuǎn)算法便退化為FCFS算法,無法滿足交互式用戶的需求。
一個較為可取的大小是,時間片略大于一次典型的交互所需要的時間。這樣可使大多數(shù)進(jìn)程在一個時間片內(nèi)完成。