- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学 号:
课 程 设 计
课程名称 操作系统 学 院 计算机科学与技术学院 专 业 班 级 姓 名 指导教师
20 ——20 学年 第 学期
课程设计任务书
题 目系统调用
初始条件:
学习了高级语言程序设计、汇编语言、数据结构、计算机组成原理课程,掌握了一种计算机高级语言。
要求完成的主要任务(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
实验条件要求:每人一台Linux主机且有超级用户权限。
时间安排:
序号 阶段内容 所需时间 1 消化资料、系统设计 1天 2 编程、调试 3天 3 撰写报告 1天 合计 5天
指导教师签名: 年 月日
系主任(或责任教师)签名:年 月日
目录
简介…………………………………………………………………1
1.1实验环境…………………………………………………………1
1.2 Linux系统及内核………………………………………………1Linux系统调用…………………………………………………22.实验原理流程……………………………………………3
2.1.实验思路 ………………………………………………3 2.2.详细步骤 ………………………………………………………3 2.2.1.环境搭建及前期准备……………………………………3 2.2.2.内核文件修改……………………………………………4
2.2.3.切换内核…………………………………………5
2.2.4.系统调用…………………………………………63.过程分析及…………………………………………………7
2.1 过程分析…………………………………………………………7
2.2.运行结果…………………………………………………………9
4.调试记录………………………………………………………………9
5.自我评价与总结 ……………………………………………………10
6.参考文献 ……………………………………………………………11
评分表………………………………………………………………….12
简介
实验环境
操作系统 Ubuntu 14.10 x64 (内核版本3.16.29) 编译器 gcc 4.8.2 文本编辑器 vim 终端 bash 内核源码版本
1.2. Linux系统及内核
system call)的接口呈现给用户。系统调用把应用程序的请求传给Linux内核,调用相应的的Linux内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序。
1. 3. Linux系统调用
系统调用是应用程序和操作系统内核之间的功能接口。其主要目的是使得用户可以使用操作系统提供的有关设备管理、输入/输入系统、文件系统和进程控制、通信以及存储管理等方面的功能,而不必了解系统程序的内部结构和有关硬件细节,从而起到减轻用户负担和保护系统以及提高资源利用率的作用。
Linux系统调用,包含了大部分常用系统调用和由系统调用派生出的的函数。系统调用在Linux系统中发挥着巨大的作用,如果没有系统调用,那么应用程序就失去了内核的支持。我们在编程时用到的很多函数,如fork、open等这些函数最终都是在系统调用里实现的, fork和exit,这两函数都是glibc中的函数,如果我们跟踪函数的执行过程,看看glibc对fork和exit函数的实现就可以发现在glibc的实现代码里都是采用软中断的方式陷入到内核中再通过系统调用实现函数的功能的。
由此可见,系统调用是用户接口在内核中的实现,如果没有系统调用,用户就不能利用内核。
Linux系统调用机制如下 :
在Linux系统中,系统调用是作为一种异常类型实现的。它将执行相应的机器代码指令来产生异常信号。产生中断或异常的重要效果是系统自动将用户态切换为核心态来对它进行处理。这就是说,执行系统调用异常指令时,自动地将系统切换为核心态,并安排异常处理程序的执行。
为使系统调用的执行成为一项简单的任务,Linux提供了一组预处理宏指令。
它们可以用在程序中。这些宏指令取一定的参数,然后扩展为调用指定的系统调用的函数。
一旦宏指令用特定系统调用的相应参数进行了扩展,得到的结果是一个与系统调用同名的函数,它可以在用户程序中执行这一系统调用。
二.实验原理流程
2.1.实验思路
修改Linux内核
,向Linux内核包括内核新Linux内核
2.2.详细步骤 2.2.1.环境搭建及前期准备
①并Ubuntu系统
从Ubuntu官网Ubuntu 14.10系统镜像并安装
原创力文档


文档评论(0)