999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

在Linux內核中增加系統調用

2017-05-27 15:09:04丁喬
中文信息 2016年12期

丁喬

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

關鍵詞:Linux 操作系統 系統調用 內核

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

一、Linux和系統調用

1. Linux介紹

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

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

操作系統的功能在于管理硬件資源和為應用程序開發人員提供良好的環境來使應用程序具備更突出的兼容性,內核提供一系列具備預定功能的多內核函數,通過一組系統調用的接口呈現給用戶。系統調用將應用程序的需求傳送給內核,調用相對應的的內核函數完成需要的處理,將結果返回給應用程序。[2]

2.系統調用介紹

系統調用出現過程調用用戶程序,但導致執行上下文的變化和特權。用戶模式和過程調用系統調用有一些差異和相似之處。

2.1用戶模式過程調用

2.1.1將參數傳遞給被調用的堆棧或寄存器上;

2.1.2保存當前狀態和PC,并跳到被調用的過程;

2.1.3特權是相同的。

2.2系統調用

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

2.2.2在計算中,系統調用是一個計算機程序的編程方式來請求執行在操作系統上的內核。這可能包括硬件相關服務,創建和執行新的流程和溝通與整體內核進程調度等服務。系統調用提供了一個基本流程和操作系統之間的接口。在大多數系統中,系統調用可能只在用戶空間進程中實現,而在其他一些系統中,例如繼任者,特權系統代碼也可以實現系統調用。

2.3系統調用執行

2.3.1在陷阱之后,系統調用表用于索引代碼指針來為處理器標志起始地址。

2.3.2 2system_call()函數將比較系統調用號和NR_syscalls之間的價值。

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

2.3.4特權在用戶和內核模式之間轉化,內核代碼執行請求的服務:

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

二、在內核中增加系統調用

1.打印功能

1.1查看內核版本

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

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

1.3檢查源文件中的版本號

apt-cache是一個屬于Linux的恰當的包管理工具,它可以查詢恰當的二進制包緩存文件。Apt-cache通過不同的參數和子命令來顯示包、包的依賴關系和有關其他功能的信息。

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

1.5創建的文件“helloworld.c”

保存和退出

1.6創建“Makefile文件和進口

1.7編譯

出現以上信息,這表明編譯成功。

1.8 insmod模塊并檢查它

1.8.1這個系統調用(sys_init_module時)分配內核內存到相應的模塊, 這個內存分配操作是通過vmallo.c years來獲得

1.8.2然后將內容復制到這個模塊的存儲空間;

1.8.3內核申報模塊的引用

1.8.4初始化模塊調用涵數

Hello World已經寫在“syslog”

2.函數返回系統時間和日期

2.1檢查當前系統內核啟動項

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編譯內核

2.4.1讓mrproper消除不穩定的內核對象文件,附件,和內核配置文件

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

2.4.3讓oldconfig使用默認內核配置

2.4.4使bzImage:編譯內核

2.4.5讓模塊:編譯模塊

2.4.6 modules_install安裝模塊

2.4.7開始使用最新的項目

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

2.4.9測試程序

三、結論

這個實驗的內容涉及到Linux系統調用。也就是說,應用程序的操作系統和內核提供了一組接口。通過此接口,應用程序可以被轉換到內核狀態,并調用相應的的內核函數,從而實現應用程序之間的交互和系統內核。

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

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

參考文獻

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

[2]系統調用,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.

主站蜘蛛池模板: 亚洲国模精品一区| 成人无码一区二区三区视频在线观看 | 欧美啪啪网| 欧美性色综合网| 欧美日韩一区二区三区在线视频| 色哟哟国产精品| 国产精品视频猛进猛出| 伊人色天堂| 国产呦视频免费视频在线观看| 在线观看免费国产| 在线观看无码a∨| 高清精品美女在线播放| 欧美日韩导航| 欧美色图第一页| 国产精品嫩草影院视频| 国产乱人伦AV在线A| 久久天天躁狠狠躁夜夜2020一| 亚洲第一成网站| 久久精品国产999大香线焦| 永久免费AⅤ无码网站在线观看| 国产乱人伦AV在线A| 日本免费高清一区| 97青草最新免费精品视频| 日韩a在线观看免费观看| 成人av手机在线观看| 亚洲精品你懂的| 99久久99视频| 国产凹凸视频在线观看| 国产毛片高清一级国语| 色综合天天综合中文网| 91青青草视频在线观看的| 国产麻豆aⅴ精品无码| 四虎免费视频网站| 欧美精品亚洲日韩a| aa级毛片毛片免费观看久| 国产成人欧美| 亚洲区第一页| 久久a毛片| 在线视频97| 亚洲综合狠狠| 国产欧美性爱网| a亚洲视频| 成人年鲁鲁在线观看视频| 中文字幕2区| 欧美成人第一页| 国产欧美精品午夜在线播放| 成人夜夜嗨| 欧美伊人色综合久久天天| 成人精品视频一区二区在线 | 日本午夜三级| 激情五月婷婷综合网| 九色综合伊人久久富二代| 波多野结衣爽到高潮漏水大喷| 五月天福利视频| 日韩一区精品视频一区二区| 色悠久久综合| 国产成人喷潮在线观看| 国产人成乱码视频免费观看| 国产成人一区免费观看| 网友自拍视频精品区| 巨熟乳波霸若妻中文观看免费| 精品少妇人妻一区二区| 欧美自慰一级看片免费| 亚洲日韩每日更新| 在线观看亚洲精品福利片| 一级毛片免费高清视频| 亚洲综合久久一本伊一区| 日韩国产高清无码| 国产H片无码不卡在线视频| 四虎永久在线精品国产免费| 日韩在线播放欧美字幕| 九色综合视频网| 国产亚洲精品精品精品| 青草视频久久| 国产日韩丝袜一二三区| 热思思久久免费视频| 高清国产在线| 伊人五月丁香综合AⅤ| 在线免费无码视频| 欧美中文字幕在线播放| 国产在线无码av完整版在线观看| 久久特级毛片|