ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:538.50KB ,
资源ID:8734801      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8734801.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(Linux内核编译.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Linux内核编译.doc

1、操作系统课程设计实验报告册班级: 131112 学号: 13111xxx 姓名: xxxxxx 教师: 第 2 页 共 18 页目 录实验说明重要提示 实验2 makefile的编写及Linux内核编译 (8学时) 要求:掌握Linux中makefile文件的编写理解Linux内核的Makefile掌握至少一个版本Linux内核的编译步骤了解Linux内核的配置过程实验编号2题目makefile的编写及Linux内核编译实验目的掌握Linux中makefile文件的编写理解Linux内核的Makefile掌握至少一个版本Linux内核的编译步骤了解Linux内核的配置过程实验内容 准备工作 相

2、关软件的获取与安装(源代码,软件包) 编译工作 配置,编译 修改启动配置文件 修改grub2启动项 能够正确的编译源代码 能够用编译出的内核启动系统报告内容要求(1) 实现方法和思路(2) 测试及结果报 告 正 文内核编译过程内核原版本号:2.6.32-28-generic拷贝源代码到/usr/src目录下在usr/src目录下解压源码:拷贝packages到“”目录下:安装软件包:dpkg -i gcc-4.4_4.4.3-4ubuntu5.1_i386.deb;dpkg -i libgomp1_4.4.3-4ubuntu5.1_i386.deb;dpkg -i cpp-4.4_4.4.3-

3、4ubuntu5.1_i386.deb;dpkg -i xz-utils_4.999.9beta+20091116-1_i386.deb;dpkg -i patch_2.6-2ubuntu1_i386.deb;dpkg -i dpkg-dev_1.15.5.6ubuntu4.6_all.deb;dpkg -i fakeroot_1.14.4-1ubuntu1_i386.deb;dpkg -i gcc-4.4-base_4.4.3-4ubuntu5.1_i386.deb;dpkg -i libstdc+6_4.4.3-4ubuntu5.1_i386.deb;dpkg -i libgcc1_4.4

4、3-4ubuntu5.1_i386.deb;dpkg -i -force- g+-4.4_4.4.3-4ubuntu5.1_i386.deb ;dpkg -i libstdc+6-4.4-dev_4.4.3-4ubuntu5.1_i386.deb;dpkg -i g+_4.4.3-1ubuntu1_i386.deb;dpkg -i build-essential_11.4build1_i386.deb;dpkg -i cvs_1.12.13-12ubuntu1.10.04.1_i386.deb;dpkg -i gettext_0.17-8ubuntu3_i386.deb;dpkg -i in

5、tltool-debian_0.35.0+20060710.1_all.deb;dpkg -i po-debconf_1.0.16_all.deb;dpkg -i kernel-package_12.032_all.deb;dpkg -i libsys-hostname-long-perl_1.4-2_all.deb;dpkg -i libmail-sendmail-perl_0.79.16-1_all.deb;dpkg -i libncurses5-dev_5.7+20090803-2ubuntu3_i386.deb转到内核源代码所在的目录 “/usr/src/linux-2.6.32.60

6、输入Make menuconfig,进入general setup选项,进入local version菜单,添加版本标示:rain13111153,保存并退出。输入make语句,等待2小时make modules_installmake installupdate-initramfs c k 2.6.32.60rain13111153修改grub启动项:cd/boot/grubGedit grub.cfg重新启动ubuntu查看内核版本号:2.6.32.60rain13111153实验编号3题目Linux的进程和线程实验目的理解进程/线程的概念掌握创建和终止进程/线程的方法掌握与进程/线程控

7、制相关的系统函数实验内容创建和终止进程/线程使用进程/线程控制相关的系统函数报告内容要求(1) 实现方法和思路(2) 测试及结果报 告 正 文 getpid():获得当前进程ID getppid():获得当前进程的父进程的ID getuid():获得用户ID getgid():获得组ID源代码:#include #include #include int main()pid_t myPid;pid_t myParentPid;gid_t myGid;uid_t myUid; myPid = getpid();myParentPid = getppid();myGid = getgid();my

8、Uid = getuid();printf(my process id is %dn, myPid);printf(my parent is process id is %dn, myParentPid);printf(my group id is %dn, myGid);printf(my user id is %dn, myUid);return 0;运行结果;API函数用途fork创建一个新的子进程wait将进程挂起直到子进程退出signal注册一个新的信号句柄pause将进程挂起直到捕获到信号kill向某个指定的进程发出信号exit正常中止当前进程Wait函数pid = wait( &

9、status );If( WIFEXITED(status) ) printf(“Child exited normally with status %dn”, WEXITSTATUS(status);else if( WIFSIGNALED(status) ) printf(“Child exited by signal with status %dn”,WTERMSIG(status);源代码:#include #include #include int main()pid_t ret;int status , i;int role = -1;ret = fork();if(ret 0)p

10、rintf(Parent: This the parent process (pid %d)n, getpid();for(i=0;i6;i+)printf(Parent: At count %dn, i);sleep(3); ret = wait(&status);/防止僵尸进程的产生role=0; elseif(ret =0)printf(Child: This the child process (pid %d)n, getpid();for(i=0;i6;i+)printf(Chile: At count %dn,i);sleep(1); role = 1; elseprintf(Pa

11、rent: Error trying to fork() (%d)n, errno);printf(%s: Exiting.n, (role =0)?Parent:Child);return 0;运行结果:signal函数信号说明SIGHUP挂起SIGINT键盘中断SIGKILLKill信号SIGUSR1用户自定义信号SIGUSR2用户自定义信号SIGPIPE终止管道SIGTERM终止信号源代码:#include #include #include #include void catch_ctlc( int sig_num)printf(Caught Control-Cn);fflush(st

12、dout);/清除标准输出的缓存区int main()signal( SIGINT, catch_ctlc);printf(Go ahead, make my day.n);pause();return 0;运行结果: pause函数 pause函数会把进程挂起,直到接收到信号。在接收到以后,调用进程从pause中返回,继续进行。如果进程捕获的信号已经注册了信号句柄,那么pause函数会在信号句柄被调用并返回之后才返回。 pause原型: 头文件 int pause( void );pid说明0信号发送到由pid指定的进程0信号发送到与调用进程同组的所有进程-1信号发送到所有进程(init进程

13、除外)0信号发送到由pid的绝对值指定的进程组中的所有进程源代码:#include #include #include #include #include #include void usr1_handler( int sig_num)printf(Parent (%d) got the SIGUSR1n, getpid() );int main()pid_t ret;int status;int role = -1;ret = fork();if( ret 0)printf(Parent: This is the parent process (pid %d)n,getpid() );sig

14、nal( SIGUSR1, usr1_handler);role = 0;pause();printf(Parent: Awaiting child exitn);ret = wait( &status); else if(ret = 0)printf(Child: This is the child process (pid %d)n, getpid();role = 1;sleep(1);printf(Child: Sending SIGUSR1 to pid %dn, getppid();kill(getppid(), SIGUSR1);sleep(2);elseprintf(Paren

15、t: Error trying to fork() (%d)n, errno);printf(%s: Exitingn, ( ( role = 0) ? Parent : Child);return 0;运行结果: exit函数 终止调用进程。传入exit的参数会返回给父进程,为wait或waitpid调用提供所需要的状态信息。 exit原型: void exit( int status); 进程调用exit时还会向父进程发出SIGCHLD信号,释放当前进程占用的资源。 这个函数调用十分重要,因为他会向Shell坏境表明状态时成功还是失败。 线程函数 头文件 创建线程原型 int pthrea

16、d_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void*), void *arg); 第一个参数为指向线程标示符的指针。 第二个参数用来设置线程属性。 第三个参数是线程运行函数的起始地址。 最后一个参数是运行函数的参数。 若成功则返回0,若失败则返回出错编号。 线程函数 终止线程原型 int pthread_exit(void *retval);源代码:#include #include #include #include #include void *myThread(void *arg)pr

17、intf(Thread rann);pthread_exit(arg);int main()int ret;pthread_t mythread;ret = pthread_create(&mythread,NULL,myThread,NULL);if(ret!=0)printf(Can not create pthread (%s)n,strerror(errno);exit(-1);return 0;程序无输出内容修改代码:#include #include #include #include #include void *myThread(void *arg)printf(Thread

18、rann);pthread_exit(arg);int main()int ret;pthread_t mythread;ret = pthread_create(&mythread,NULL,myThread,NULL);if(ret!=0)printf(Can not create pthread (%s)n,strerror(errno);exit(-1);if(ret!=1)printf(11111111n);exit(-1);return 0;运行结果: 线程管理 pthread_t pthread_self(void);/获得自己的线程描述符void *myThread(void

19、arg) pthread_t pt; pt = pthread_self(); printf(Thread %x ran!n, (int)pt); pthread_exit(NULL); int pthread_join(pthread_t th, void *thread_return ); 参数th是想要加入的线程 参数thread_return存储线程完成后的返回值,可以为NULL,表明不捕获线程的返回状态。 返回值,0代表成功,非0代表失败的编号。源代码;#include #include void *myThread(void *arg)printf(Thread %d start

20、edn, (int)arg);pthread_exit(arg);#define MAX_THREADS 5int main()int ret, i, status;pthread_t threadIdsMAX_THREADS;for(i = 0; iMAX_THREADS; i+)ret = pthread_create(&threadIdsi, NULL, myThread, (void*)i);if(ret != 0)printf(Error creating thread %dn, (void*)i);for(i = 0; iMAX_THREADS; i+)ret = pthread_join(threadIdsi, (void *)&status);if(ret != 0)printf(Error joining thread %dn, (void *)i);elseprintf(Status = %dn, status);return 0;运行结果:实验编号4题目xxxxxxxxxxxxxxxxx实验目的实验内容报告内容要求(1) 实现方法和思路(2) 测试及结果报 告 正 文第 18 页 共 18 页

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服