91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

操作系統內核的一些事

發布時間:2020-06-27 06:10:53 來源:網絡 閱讀:413 作者:dog250 欄目:系統運維

一.總的來講,操作系統只要能實現以下兩點就可以了:
1.時間的假象和空間的假象
時間假象的作用是實現了多進程/多線程;空間假象的作用是實現了虛擬內存。無疑,這兩點是現代操作系統的基石。
2.和硬件接口以及和用戶態的接口
從硬件那里接收信息,這個用中斷實現,和硬件互相讀寫,這個用基本IO實現;從用戶接收請求,這個用系統調用...向用戶發送信息,這個用信號...。無疑,這樣就在接口層次滿足了上層用戶和底層硬件的要求,無疑,UNIX在這一點上是成功的(信號,IPC,POSIX...)。
二.大內核和微內核
如果我們把操作系統內核在其生命周期的前期按照時間分割,我們把它分為源碼階段和二進制階段,大內核和微內核的區分是二進制階段的區分。我們都知道,Linux是大內核,然而為何大而不亂呢?實際上看看它的源碼就明白了,它的源碼組織非常好,核心文件不到100個,其它的都是驅動或者體系結構相關的代碼。畢竟,開發者知道,對于二進制文件,人是看不懂的,人所看的是源碼,將二進制文件分開,無疑會增加維護的復雜性,更何況,將問題控制在源碼階段就節省了很多調試時間。
三.設備驅動開發
1.閱讀datasheet,編寫IO、中斷例程
2.和操作系統內核接口,也就是插入內核最低端
3.和用戶態接口,也就是在最上端導出一個用戶接口,比如ioctl
4.編寫用戶態demo和工具進程,調用第3步的接口
5.試用,調試打包
6.總結,層次結構-從上到下:最終用戶-應用程序員-系統程序員-驅動程序員-硬件工程師
四.到底應不應該在內核中解決fork×××
fork×××臭名昭著,一堆看似亂碼的字符就能耗盡你的cpu:.(){.|.&};.。如果想在內核解決它,那是很簡單的,那就是控制task_struct的層數,我們知道Linux進程是分層樹形組織的,如果限制層數最多為5層,那么該×××最多也就是炸五次就無法發揮作用了,然而這卻不是好方法,因為這會損害那些正好需要6層或以上的正常程序的利益。其實還有很多解決辦法:1.利用cpu組調度,限制它們可以使用的資源;2.修改oom killer的核心算法,優先砍掉那些過于長,然而卻很瘦的樹枝,這也符合園藝工人的操作方式,因為這種枝丫會帶走過多的養分!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿巴嘎旗| 岢岚县| 莱阳市| 三亚市| 阿拉善右旗| 呼伦贝尔市| 获嘉县| 尤溪县| 晋城| 五指山市| 东至县| 刚察县| 上蔡县| 景谷| 无为县| 元阳县| 寿阳县| 聊城市| 儋州市| 马尔康县| 牟定县| 渭南市| 兰州市| 三河市| 黔南| 林甸县| 阳高县| 施甸县| 黄冈市| 安阳市| 满城县| 大荔县| 永兴县| 包头市| 汕头市| 赣榆县| 嘉黎县| 临漳县| 沁阳市| 八宿县| 青河县|