文档介绍:紅inux操作系统》实验手册2012年12月2日实验一内核编译与系统调用实验目的掌握linux内核编译的方法;了解并比较进程创建的不同方法o二、实验内容•Linux内核编译;•分别川fork()和clone()创建进程:列出子进程和父进程的进程号,进程名和进程状态;。三、实验步骤内核编译实验步骤:査看当前内核版本uname-a在inux-;安装有关编译程序。安装makc,gcc„kernel-:Sudoapt-getinstallXXX(注意:一定要安装这个sudoapt-getinstallbuild-essentialkernel叩ackagelibncurses5-devfakeroot)切换到root川户。suroot;将源代码拷到/usr/src/口录卜,cplinux-/(可以不做);进入/usr/src/|=|录cd/usr/src/(如果上一步没做,这一步也不做);解压。tarjvfxlinux-。cdlinux-()清理以前编译留下的临时文件。makemrproper使川makelocalmodconfig£|动精简内核配置。makelocalmodconfig,所有的选项,如果你不确定,就按回车键,选择默认配置。11•开女台编译|A)核。sudomake-kpkgclean;make-kpkg・・initrd・・append-to-version=-xxxkernel_image(编译的吋间可能会有点长,耐心等待)安装内核。退冋上级目录cd..然后sudodpkg-ilinux-imagc---a实验二自定义系统调用一、实验目的•了解系统调用的原理•掌握在linux操作系统中编写系统调用的过程二、实验内容自己设计一个系统调用,完成某项系统功能。实验步骤n进入到内核源码目录/usr/src/linux- 添加自己的系统调用号。cd/usr/src/linux-,在该文件中添加自己的系统调用号。如添加mycall系统调用。系统调川号为338,如添加mycall系统调川。系统调用号为338,并将原来的#defineNR_syscalls338修改为#defineNR_******@lyh:/usr/src/linux-$sudogeditarch/x86/include/asm/#define.„NR_perflevent_open336#define.—NR_recvmmsg337#define―NR_mycall338#ifdefKERNEL#Rsyscalls3392)、在系统调用表中添加相应的表项。******@lyh:/usr/src/linux-$sudogeditarch/x86/kernel/(syscalltable). (这里省略了部