亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        在Linux內(nèi)核中增加系統(tǒng)調(diào)用

        2017-05-27 15:09:04丁喬
        中文信息 2016年12期
        關(guān)鍵詞:操作系統(tǒng)內(nèi)核

        丁喬

        摘 要: 為了擴大操作系統(tǒng)的功能以及學(xué)習(xí)由Linux系統(tǒng)提供的系統(tǒng)調(diào)用,可以在內(nèi)核中增加系統(tǒng)調(diào)用。運用Linux操作系統(tǒng),VMware Workstation和Ubuntu達到我們的目的。獲得Linux內(nèi)核源代碼,配置、編譯和安裝內(nèi)核二進制并且將一個新條目添加到一組可引導(dǎo)的內(nèi)核來構(gòu)建一個新的內(nèi)核。接下來的工作是擴展內(nèi)核源代碼,將系統(tǒng)調(diào)用增加到內(nèi)核中,其中一個是打印功能,另一個是函數(shù)返回系統(tǒng)數(shù)據(jù)和時間功能。最后,我們將在用戶程序中完成系統(tǒng)調(diào)用。

        關(guān)鍵詞:Linux 操作系統(tǒng) 系統(tǒng)調(diào)用 內(nèi)核

        中圖分類號:TP399 文獻標識碼:A 文章編號:1003-9082(2016)12-0001-02

        一、Linux和系統(tǒng)調(diào)用

        1. Linux介紹

        Linux操作系統(tǒng)是UNIX操作系統(tǒng)的一種克隆系統(tǒng),現(xiàn)已成為世界上使用最多的UNIX類操作系統(tǒng)。Linux可免費使用和自由傳播,是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運行UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議,支持32位和64位硬件并且繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。

        Linux聞名于它的高效性和靈活性,Linux模塊化處理它的設(shè)計結(jié)構(gòu),使它不僅能在昂貴的工作站上運行,還能在廉價的PC機上體現(xiàn)Unix的全部特性,具有多任務(wù)、多用戶的能力。[1]

        操作系統(tǒng)的功能在于管理硬件資源和為應(yīng)用程序開發(fā)人員提供良好的環(huán)境來使應(yīng)用程序具備更突出的兼容性,內(nèi)核提供一系列具備預(yù)定功能的多內(nèi)核函數(shù),通過一組系統(tǒng)調(diào)用的接口呈現(xiàn)給用戶。系統(tǒng)調(diào)用將應(yīng)用程序的需求傳送給內(nèi)核,調(diào)用相對應(yīng)的的內(nèi)核函數(shù)完成需要的處理,將結(jié)果返回給應(yīng)用程序。[2]

        2.系統(tǒng)調(diào)用介紹

        系統(tǒng)調(diào)用出現(xiàn)過程調(diào)用用戶程序,但導(dǎo)致執(zhí)行上下文的變化和特權(quán)。用戶模式和過程調(diào)用系統(tǒng)調(diào)用有一些差異和相似之處。

        2.1用戶模式過程調(diào)用

        2.1.1將參數(shù)傳遞給被調(diào)用的堆?;蚣拇嫫魃希?/p>

        2.1.2保存當(dāng)前狀態(tài)和PC,并跳到被調(diào)用的過程;

        2.1.3特權(quán)是相同的。

        2.2系統(tǒng)調(diào)用

        2.2.1系統(tǒng)調(diào)用是對用戶程序的調(diào)用,但是會導(dǎo)致執(zhí)行上下文和特權(quán)的變化。在英特爾386,系統(tǒng)調(diào)用是通過存儲系統(tǒng)調(diào)用數(shù)字到EAX寄存器來完成的,比如在其他寄存器中向系統(tǒng)調(diào)用存儲參數(shù)(如EBX,ECX,EDX,ESI),或執(zhí)行指令的陷阱。(INT 0x80指令)。

        2.2.2在計算中,系統(tǒng)調(diào)用是一個計算機程序的編程方式來請求執(zhí)行在操作系統(tǒng)上的內(nèi)核。這可能包括硬件相關(guān)服務(wù),創(chuàng)建和執(zhí)行新的流程和溝通與整體內(nèi)核進程調(diào)度等服務(wù)。系統(tǒng)調(diào)用提供了一個基本流程和操作系統(tǒng)之間的接口。在大多數(shù)系統(tǒng)中,系統(tǒng)調(diào)用可能只在用戶空間進程中實現(xiàn),而在其他一些系統(tǒng)中,例如繼任者,特權(quán)系統(tǒng)代碼也可以實現(xiàn)系統(tǒng)調(diào)用。

        2.3系統(tǒng)調(diào)用執(zhí)行

        2.3.1在陷阱之后,系統(tǒng)調(diào)用表用于索引代碼指針來為處理器標志起始地址。

        2.3.2 2system_call()函數(shù)將比較系統(tǒng)調(diào)用號和NR_syscalls之間的價值。

        2.3.3如果相比下來該值更大或相等,便回到ENOSYS。如果小,執(zhí)行call* sys_call_table(% eax,4),并跳轉(zhuǎn)到處理程序;

        2.3.4特權(quán)在用戶和內(nèi)核模式之間轉(zhuǎn)化,內(nèi)核代碼執(zhí)行請求的服務(wù):

        I/O交互過程管理其他活動無法在用戶模式下執(zhí)行

        二、在內(nèi)核中增加系統(tǒng)調(diào)用

        1.打印功能

        1.1查看內(nèi)核版本

        Sudo是一種常用的在Linux下允許普通用戶使用超級用戶權(quán)限的工具,允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或所有的根命令。這不僅可以減少根用戶登錄和管理的時間,也提高了安全性。

        1.2輸入/usr/SRC查看活躍文件是否存在

        1.3檢查源文件中的版本號

        apt-cache是一個屬于Linux的恰當(dāng)?shù)陌芾砉ぞ撸梢圆樵兦‘?dāng)?shù)亩M制包緩存文件。Apt-cache通過不同的參數(shù)和子命令來顯示包、包的依賴關(guān)系和有關(guān)其他功能的信息。

        1.4搜索版本信息,修正、同時更新版本。

        1.5創(chuàng)建的文件“helloworld.c”

        保存和退出

        1.6創(chuàng)建“Makefile文件和進口

        1.7編譯

        出現(xiàn)以上信息,這表明編譯成功。

        1.8 insmod模塊并檢查它

        1.8.1這個系統(tǒng)調(diào)用(sys_init_module時)分配內(nèi)核內(nèi)存到相應(yīng)的模塊, 這個內(nèi)存分配操作是通過vmallo.c years來獲得

        1.8.2然后將內(nèi)容復(fù)制到這個模塊的存儲空間;

        1.8.3內(nèi)核申報模塊的引用

        1.8.4初始化模塊調(diào)用涵數(shù)

        Hello World已經(jīng)寫在“syslog”

        2.函數(shù)返回系統(tǒng)時間和日期

        2.1檢查當(dāng)前系統(tǒng)內(nèi)核啟動項

        2.2修改文件/usr/src/linux-source-/kernel/sys.c

        2.3附加/usr/src/linux-/arch/x86/include/asm/unistd_32.h:#define__NR_mycall 337

        2.4編譯內(nèi)核

        2.4.1讓mrproper消除不穩(wěn)定的內(nèi)核對象文件,附件,和內(nèi)核配置文件

        2.4.2使清潔:清除用于生成目標文件和其他文件

        2.4.3讓oldconfig使用默認內(nèi)核配置

        2.4.4使bzImage:編譯內(nèi)核

        2.4.5讓模塊:編譯模塊

        2.4.6 modules_install安裝模塊

        2.4.7開始使用最新的項目

        2.4.8增加啟動菜單項, 配置啟動文件/boot/grub/grub.cfg

        2.4.9測試程序

        三、結(jié)論

        這個實驗的內(nèi)容涉及到Linux系統(tǒng)調(diào)用。也就是說,應(yīng)用程序的操作系統(tǒng)和內(nèi)核提供了一組接口。通過此接口,應(yīng)用程序可以被轉(zhuǎn)換到內(nèi)核狀態(tài),并調(diào)用相應(yīng)的的內(nèi)核函數(shù),從而實現(xiàn)應(yīng)用程序之間的交互和系統(tǒng)內(nèi)核。

        本文提出,任務(wù)指標應(yīng)該向Linux內(nèi)核中增加兩個系統(tǒng)調(diào)用。程序執(zhí)行系統(tǒng)調(diào)用可以在以下步驟中運行。程序調(diào)用libc庫包函數(shù)。然后調(diào)用軟中斷0 x80 int到內(nèi)核。內(nèi)核首先實現(xiàn)system_call函數(shù)(首先系統(tǒng)調(diào)用號(eax)和CPU寄存器可以使用和保存到對應(yīng)的堆棧(由SAVE_ALL完成)。之后,在系統(tǒng)調(diào)用表中找到對應(yīng)的系統(tǒng)調(diào)用服務(wù)例程根據(jù)系統(tǒng)調(diào)用號。

        在時代下的Windows操作系統(tǒng),許多底層的東西都被掩蓋了。感謝我們的Linux讓我們更深入理解操作系統(tǒng)以及與操作系統(tǒng)相關(guān)的各個方面。同時,也是一個很好的機會讓我們學(xué)會操作系統(tǒng)的系統(tǒng)調(diào)用。

        參考文獻

        [1]Linux系統(tǒng),2016-11-1取自http://baike.so.com/doc/5349227-5584683.html

        [2]系統(tǒng)調(diào)用,2016-10-29取自http://baike.so.com/doc/5715175-5927901.html

        [3]"The Linux Foundation Releases Linux Development Report". Linux Foundation. 18 February 2015. Retrieved 20 February 2015.

        猜你喜歡
        操作系統(tǒng)內(nèi)核
        萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
        群眾路線是百年大黨成功之內(nèi)核性制度因素的外在表達
        強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        Linux內(nèi)核mmap保護機制研究
        智能手機操作系統(tǒng)的分析與比較
        卷宗(2016年10期)2017-01-21 14:04:15
        國產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應(yīng)用研究
        計算機維護中操作系統(tǒng)還原技術(shù)的分析
        對計算機進行操作系統(tǒng)重裝的維護
        国产中文欧美日韩在线| 日本视频在线播放一区二区| 国产乱人伦偷精品视频免观看| 亚洲中文字幕久在线| 久草视频国产| 久久久久AV成人无码网站| 三级国产高清在线观看| 国产亚洲成av人片在线观黄桃| 亚洲色大成网站www永久一区| 国产精品久久久亚洲第一牛牛| 久久婷婷综合激情亚洲狠狠| 国产精品无码一区二区三级| 欧洲成人午夜精品无码区久久| 中文岛国精品亚洲一区| 丰满人妻被公侵犯的视频| 天天躁夜夜躁av天天爽| 亚洲欧美日韩中文无线码| 亚洲高清精品50路| 久久精品一区二区熟女| 亚洲精品一品区二品区三品区 | 精品蜜桃一区二区三区| 亚洲永久国产中文字幕| 国产精品国产三级国av在线观看| 国产剧情福利AV一区二区| 国语自产啪在线观看对白| 亚洲综合国产成人丁香五月激情| 国产亚洲av综合人人澡精品| 午夜国产精品久久久久| av天堂亚洲另类色图在线播放| av色欲无码人妻中文字幕| 中文幕无线码中文字蜜桃| 中文字幕日本一区二区在线观看 | 成人爽a毛片免费视频| 亚洲gv白嫩小受在线观看| 久久久国产精品粉嫩av| 国产熟女一区二区三区不卡| 精品免费看国产一区二区| 亚洲精品国产老熟女久久| 国产成人精品一区二区不卡| 国产精品www夜色视频| 精品四虎免费观看国产高清|