[發(fā)明專利]一種保存Linux內(nèi)核打印信息的方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201410645609.4 | 申請(qǐng)日: | 2014-11-12 |
| 公開(公告)號(hào): | CN105653247B | 公開(公告)日: | 2019-06-07 |
| 發(fā)明(設(shè)計(jì))人: | 王勝華 | 申請(qǐng)(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號(hào): | G06F9/4401 | 分類號(hào): | G06F9/4401 |
| 代理公司: | 北京清源匯知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 11644 | 代理人: | 馮德魁 |
| 地址: | 英屬開曼群島大開*** | 國(guó)省代碼: | 開曼群島;KY |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 保存 linux 內(nèi)核 打印 信息 方法 裝置 | ||
1.一種保存Linux內(nèi)核打印信息的方法,其特征在于,包括:
接收內(nèi)核打印信息;
獲取保留內(nèi)存的環(huán)形緩沖區(qū)的使用狀態(tài)數(shù)據(jù);所述保留內(nèi)存是指不能被引導(dǎo)程序和Linux內(nèi)核的內(nèi)存管理系統(tǒng)分配使用的保留內(nèi)存,包括頭區(qū)和環(huán)形緩沖區(qū);所述頭區(qū)存儲(chǔ)所述環(huán)形緩沖區(qū)的使用狀態(tài)數(shù)據(jù),所述使用狀態(tài)數(shù)據(jù)至少包括所述保留內(nèi)存的環(huán)形緩沖區(qū)的頭指針指向的內(nèi)存地址、尾指針指向的內(nèi)存地址、環(huán)形緩沖區(qū)的使用長(zhǎng)度和環(huán)形緩沖區(qū)是否已滿標(biāo)志;所述保留內(nèi)存的環(huán)形緩沖區(qū)存儲(chǔ)所述內(nèi)核打印信息;
根據(jù)所述使用狀態(tài)數(shù)據(jù),將所述內(nèi)核打印信息存儲(chǔ)到所述保留內(nèi)存的環(huán)形緩沖區(qū)。
2.根據(jù)權(quán)利要求1所述的保存Linux內(nèi)核打印信息的方法,其特征在于,還包括:
將所述內(nèi)核打印信息存儲(chǔ)到所述內(nèi)核的緩沖區(qū)。
3.根據(jù)權(quán)利要求1所述的保存Linux內(nèi)核打印信息的方法,其特征在于,在所述接收內(nèi)核打印信息之前,還包括:
設(shè)置保留內(nèi)存管理設(shè)備,所述管理設(shè)備是指在Linux設(shè)備模型的基礎(chǔ)上實(shí)現(xiàn)的用于管理保留內(nèi)存的字符設(shè)備;所述管理設(shè)備至少包括Linux內(nèi)核的字符設(shè)備結(jié)構(gòu)體、主設(shè)備號(hào),從設(shè)備號(hào)、保留內(nèi)存指針和環(huán)形緩沖區(qū)指針,所述保留內(nèi)存指針指向所述保留內(nèi)存的起始地址,所述環(huán)形緩沖區(qū)指針指向所述保留內(nèi)存的環(huán)形緩沖區(qū)的起始地址。
4.根據(jù)權(quán)利要求3所述的保存Linux內(nèi)核打印信息的方法,其特征在于,在所述設(shè)置保留內(nèi)存管理設(shè)備之前,還包括:
設(shè)置所述保留內(nèi)存。
5.根據(jù)權(quán)利要求4所述的保存Linux內(nèi)核打印信息的方法,其特征在于,所述設(shè)置保留內(nèi)存包括:
設(shè)置所述保留內(nèi)存的起始地址和長(zhǎng)度;
將通用的引導(dǎo)程序加載到物理內(nèi)存的第一預(yù)設(shè)地址處運(yùn)行,加載、運(yùn)行所述引導(dǎo)程序所占內(nèi)存空間與所述保留內(nèi)存所占內(nèi)存空間不重疊;
在Linux內(nèi)核引導(dǎo)階段,將所述保留內(nèi)存的起始地址和長(zhǎng)度傳入Linux內(nèi)核;
將所述Linux內(nèi)核加載到物理內(nèi)存的第二預(yù)設(shè)地址處運(yùn)行,加載所述Linux內(nèi)核所占內(nèi)存空間與所述保留內(nèi)存所占內(nèi)存空間不重疊;
在初始化內(nèi)存分配器bootmem后,將所述保留內(nèi)存所占內(nèi)存空間標(biāo)記為已使用。
6.根據(jù)權(quán)利要求5所述的保存Linux內(nèi)核打印信息的方法,其特征在于,所述將所述保留內(nèi)存的起始地址和長(zhǎng)度傳入Linux內(nèi)核包括:
使用專用結(jié)構(gòu)體保存所述保留內(nèi)存的起始地址和長(zhǎng)度;
通過(guò)通用寄存器,將所述專用結(jié)構(gòu)體的起始地址傳遞給所述Linux內(nèi)核。
7.根據(jù)權(quán)利要求6所述的保存Linux內(nèi)核打印信息的方法,其特征在于,在所述通過(guò)通用寄存器,將所述專用結(jié)構(gòu)體的起始地址傳遞給所述Linux內(nèi)核之后,啟動(dòng)所述Linux內(nèi)核過(guò)程中執(zhí)行head.s文件時(shí),還包括:
將所述保留內(nèi)存的起始地址保存到所述專用結(jié)構(gòu)體的指針中;所述專用結(jié)構(gòu)體的指針是全局變量。
8.根據(jù)權(quán)利要求3所述的保存Linux內(nèi)核打印信息的方法,其特征在于,所述設(shè)置保留內(nèi)存管理設(shè)備包括:
建立所述管理設(shè)備;
初始化所述管理設(shè)備;
所述字符設(shè)備結(jié)構(gòu)體接收引導(dǎo)程序發(fā)送的所述保留內(nèi)存的起始地址和長(zhǎng)度;
所述字符設(shè)備結(jié)構(gòu)體將所述保留內(nèi)存的起始地址賦值給所述保留內(nèi)存指針;
根據(jù)接收的所述保留內(nèi)存的起始地址和長(zhǎng)度,建立所述保留內(nèi)存的頭區(qū)和所述保留內(nèi)存的環(huán)形緩沖區(qū);
將建立的所述保留內(nèi)存的環(huán)形緩沖區(qū)的起始地址賦值給所述環(huán)形緩沖區(qū)指針;
建立獲取所述保留內(nèi)存的環(huán)形緩沖區(qū)中存儲(chǔ)的所述內(nèi)核打印信息的接口;
將所述接口的指針賦值給所述字符設(shè)備結(jié)構(gòu)體的文件操作的讀函數(shù);
將所述字符設(shè)備結(jié)構(gòu)體注冊(cè)到所述Linux內(nèi)核的設(shè)備管理模塊;
使用全局變量標(biāo)記所述管理設(shè)備已初始化。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410645609.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- LINUX內(nèi)核動(dòng)態(tài)加載方法
- 一種Linux嵌入式系統(tǒng)的安全啟動(dòng)方法
- 一種加快嵌入式Linux系統(tǒng)啟動(dòng)的方法
- Linux文件系統(tǒng)的多點(diǎn)備份和實(shí)時(shí)保護(hù)方法
- 基于硬件的Linux軟件開發(fā)系統(tǒng)及其構(gòu)建方法
- 將VxWorks任務(wù)移植到Linux的方法及裝置
- 一種Linux內(nèi)核接管socket鏈接的方法和裝置
- 一種Linux系統(tǒng)的備份和還原方法
- 一種基于Linux系統(tǒng)盤的寫過(guò)濾系統(tǒng)和方法
- 一種基于Linux系統(tǒng)盤的熱插拔方法和系統(tǒng)





