日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux内核源码学习

發布時間:2025/4/14 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux内核源码学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux 內核源代碼分析 - 進程管理及調度
http://wenku.baidu.com/link?url=yzMjiwX-ZzlnYZgb8CKG5veDdv6_uTbweFpb0_LPDDf7xYilF4fImm4QcL5-0gsk6SNu9KrFUqvrzYdbl0wLU8RHGilVFMS_mPIL0HRSB4m

進程管理的任務
.允許進程復制自己(真正作到一個應用多進程)
.確定哪個進程能夠擁有CPU
.接受中斷并將中斷導向相應的內核子系統
.向用戶進程發送信號
.管理時鐘硬件
.當一個進程結束時,釋放其資源
.動態裝載執行模塊

進程模塊與其他模塊的依賴關系
.對用戶進程提供了一組簡單的系統調用接口
.對內核的其他模塊提供了豐富的接口功能
內存管理模塊,當一個進程被調度的時候,為它建立內存映射。
所有的其他模塊都依賴于進程調度模塊,因為當要進行硬件訪問的時候它們需要CPU掛起用戶進程,切換到系統態進行處理。

進程的創建(FORK, copy-on-write)
Linux中,進程的創建是通過拷貝已存在進程來實現的。
在Linux內核啟動的時候,首先由start_kernel()初始化各個系統數據結構,同時生成了和系統共存亡的后臺進程:init。
init進程通過拷貝自身,產生了若干內核子進程。然后這些進程就可以通過系統調用fork()生成它們的子進程,當然這些子進程的原始數據都是他們的父親的副本。進程的終止是通過系統調用_exit()實現的。

進程的終止
.進程運行結束時要釋放相應的資源,通過EXIT()調用實現(顯式或隱式)
.EXIT()實現時調用了do_exit()完成以下工作
? ? Task_struct中標志成員設為:PF_EXITING
? ? 調用__exit_mm()
? ? 調用sem__exit()
? ? 調用__exit_files(), __exit_fs(), exit__name__space, exit_sighand
? ? 退出代碼替換為EXIT()提供的代碼
? ? 調用Exit_notify()向父進程發信號,(標為ZOOMBIE)
? ? 調用shedule切換到其他進程

線程實現
Linux沒有真正的線程。
僅僅是進程之間資源直接共享的一種機制。
內核線程:獨立運行在內核的標準進程。

總結

以上是生活随笔為你收集整理的Linux内核源码学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。