中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

操作系統內核的一些事

發布時間: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

卓资县| 南乐县| 祁东县| 富裕县| 杭锦后旗| 岳池县| 友谊县| 罗江县| 邵东县| 扬州市| 全椒县| 博野县| 久治县| 宁南县| 平果县| 阿鲁科尔沁旗| 钟祥市| 临颍县| 板桥市| 邵阳县| 鹤岗市| 长沙县| 清涧县| 临桂县| 芒康县| 离岛区| 保德县| 仙桃市| 来宾市| 前郭尔| 通榆县| 西城区| 蛟河市| 天门市| 漳平市| 黄浦区| 桓台县| 乐清市| 巴马| 吴川市| 枞阳县|