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