資源描述:
《linux內(nèi)核的進程調(diào)度策略和內(nèi)存管理》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、Linux內(nèi)核的進程調(diào)度策略和內(nèi)存管理摘要:內(nèi)存是Linux內(nèi)核所管理的最重要的資源之一,內(nèi)存管理系統(tǒng)是操作系統(tǒng)中最為重要的部分。對于Unux的初學者來說,熟悉Unux的內(nèi)存管理非常重要。進程是運行于虛擬地址空間的一個程序??梢哉f,任何在Linux系統(tǒng)下運行的程序都是進程。Linux系統(tǒng)中包括交互進程和批處理進程。交互進程是由Shell控制和運行的,既可以在前臺運行,也可以在后臺運行。批處理進程不屬于某個終端,被提交到一個隊列中以便順序執(zhí)行。大多數(shù)的進程都需要虛擬內(nèi)存。Linux進程屮最知名的屬性就是它的進程號(ProcessIdentityNumber,PID)以某父進程號(Parent
2、ProcessID,PPID)。PID、PPID都是非零正整數(shù)。一個PID唯一地標識一個進程。—個進程創(chuàng)建新進程稱力創(chuàng)建了子進程(ChildProcess),創(chuàng)建子進程的進程稱力父進程。所有進程追溯其祖先最終都會落到進程號為1的進程身上,這個進程叫做init進程,是內(nèi)核自舉后第一個啟動的進程。Init進程的作用是扮演終結父進程的角色。因為init進程永遠不會被終止,所以系統(tǒng)總是確信它的存在,并在必要時以它為參照。如果某個進程在它衍生出來的全部子進程結束之前被終止,就會出現(xiàn)必須以init為參照的情況。此時那些失去了父進程的子進程就都會以init作為其父進程。通過執(zhí)行ps-af命令,可以列出許
3、多父進程ID為1的進程。Linux提供了一條pstree命令,允許用戶查看系統(tǒng)內(nèi)正在運行的各個進程之間的繼承關系。直接在命令行輸入pstree,程序會以樹狀結構方式列fli系統(tǒng)中正在運行的各進程之間的繼承關系。關鍵詞:linux;進程調(diào)度;調(diào)度策略;內(nèi)存管理LinuxkernelprocessschedulingandmemorymanagementAbstract:Linuxkernelmemoryismanagedbyoneofthemostimportantresources,memorymanagementsystemisthemostimportantpartoftheopera
4、tingsystem.ForLinuxbeginnerstobefamiliarwithLinux’smemorymanagementisveryimportant.Linuxkernelmemoryismanagedbyoneofthemostimportantresources,memorymanagementsystemisthemostimportantpartoftheoperatingsystem.ForLinuxbeginnerstobefamiliarwithLinuxismemorymanagementisveryimportant.Processisrunningona
5、virtualaddressspaceofaprogram.CanbesaidthatanyprogramrunningunderLinuxsystemistheprocess.Linuxsystem,includingtheinteractiveprocessandthebatchprocess.InteractiveprocessiscontrolledandrunbytheShell,bothrunningintheforeground,youcanalsoruninthebackground.Batchprocessdoesnotbelongtoaterminal,tobesubm
6、ittedtoaqueuefororderexecution.Mostoftheprocessrequiresvirtualmemorybstract.Linuxisbest-knownpropertiesoftheprocessisitsprocessID(ProcessIdentityNumber,PID)totheparentprocessID(ParentProcessID,PPID).PID,PPIDisnon-zeropositiveinteger.APIDuniquelyidentifiesaprocess.Createanewprocess,aprocessknownasc
7、reatingachildprocess(ChildProcess),theprocessofcreatingthechildprocessiscalledparent.Allprocesseswilleventuallyfallbacktotheirancestralprocessoftheprocessnumber1,thebody,thisprocessiscalledinitprocessisthekernelb