linux 进程管理 ppt,Linux内核结构与进程管理.ppt
Linux內核結構與進程管理.ppt
Linux 內核結構與進程管理,Linux系統結構Linux kernel 開放源代碼的linux操作系統內核,目前版本為2.6,Linux內核組成1. 進程調度程序( S C H E D)負責控制進程訪問C P U。保證進程能夠公平地訪問C P U,同時保證內核可以準時執行一些必需的硬件操作。 2. 內核管理程序( M M)使多個進程可以安全地共享機器的主存系統,并支持虛擬內存。 3. 虛擬文件系統( V F S)。通過提供一個所有設備的公共文件接口, V F S抽象了不同硬件設備的細節。此外, V F S支持與其他操作系統兼容的不同的文件系統格式。 4. 網絡接口( N E T)提供對許多建網標準和網絡硬件的訪問。 5. 進程間通信( I P C)子系統為進程與進程之間的通信提供了一些機制。 這些子系統雖然實現的功能相對獨立,但存在著較強的依賴性(調用依賴模塊中相應的函數),所以說linux內核是單塊結構(monolithic)的,而windows體系結構是微內核microkernel的。,Linux啟動流程,從BIOS到KERNEL MBRKERNELKERNEL自解壓內核初始化內核啟動(start_kernel函數,在linux內核源代碼樹的/usr/src/linux/init/main.c中) 2. 內核啟動創建1進程并執行,由它創建若干內核線程(kernel thread),然后裝入并執行程序/sbin/init(變成一個用戶進程)。此后,init根據/etc/inittab配置文件來執行相應的腳本進行系統初始化,如設置鍵盤、字體,裝載模塊,設置網絡等 對于Redhat來說,執行的順序為 /etc/rc.d/rc.sysinit 由init執行的第一個腳本 /etc/rc.d/rc RUNLEVEL RUNLEVEL為缺省的運行模式 /etc/rc.d/rc.local 運行模式2、3、5時會運行的腳本 /sbin/mingetty(或getty) 等待用戶登錄 /etc/inittab中指定了系統的運行級別(RUNLEVEL),init根據運行級別啟動相關的服務(一些后臺進程),實現不同的功能。 RUNLEVEL06 0halt, 1單用戶,2多用戶,3多用戶并啟動NFS服務 4保留,5運行xdm(X window)以圖形界面方式登錄 6reboot,Linux中用戶登陸流程linux進程的四要素,程序 PCB 地址空間 系統堆棧空間 PCB進程創建時內核為其分配的一個核心數據結構,進程自身不能直接存取。 系統堆棧空間進程運行在核心態時使用的堆棧,和PCB連在一起,共8KB,其中PCB約占1000字節,系統堆棧空間約占7200字節。 2.2 內核中linux進程個數有最大值限制(4092)。但2.4以后,系統中的進程個數受限于系統的物理內存數,即限定所有進程的PCB及系統堆棧(8K)占用的空間1/2的物理內存總和。例64M內存進程數64M/2/8K4K,PCB中的重要信息,身份信息pid,uid,gid,euid,egid等; 狀態信息running, interruptible, non-interruptible, stopped, zombie 調度信息policy, priority, rt_priorty, need_resched policy即進程的類別,分SCHED_FIFO, SCHED_RR, SCHED_OTHER三種,前兩種為實時進程,后一種為非實時進程 IPC信息如定義對某些信號的處理等 家族信息父進程、兄弟進程、子進程信息 時鐘和定時信息 文件系統 存儲管理,進程的創建,進程創建fork , clone, vfork 父子進程共享資源的形式 a.不共享(fork時缺省) b.部分共享 c.完全共享(線程),include int myvar0; void main int pid; pid fork; system call if pid 0 error occurred printf“fork failed.”; exit-1; system call else if pid 0 child process printf“child process cutingn”; myvar 1; else parent process wait; system call, wait for children completion printf“child complete.”; myvar ; printf“father,myvard”,myvar; exit0; ,fork實例,進程調度,調度時機 a. 用戶進程自愿放棄CPU,如執行sleep系統調用; b.系統調用中,需要等待時,直接調用schedule進行調度; c.系統調用、中斷或異常處理完成后,返回到用戶空間前,若當前進程的PCB中的need_resched 1,則發生調度; 調度策略基于進程的權值(weight,即動態優先級) 實時進程 weight 1000rt_priority (1000) 分時進程 weight counter 20 nice (1000) 其中rt_priority是實時進程的優先級 counter進程還剩余的時間片值 nice進程優先級的調整值 (均在進程的PCB中標識),
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux 进程管理 ppt,Linux内核结构与进程管理.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux server文件,linux
- 下一篇: linux静态编译libcurl,lib