系统调用及进程控制
操作系统课程设计
第9章相关说明说明:(1)实验相关ppt内容选自《操作系统课程设 计》的核心实验。
操作系统课程设计
第9章 系统调用及进程控制实验
操作系统课程设计
提纲
操作系统课程设计
提纲
操作系统课程设计
实验目的
理解BIOS中断调用、系统调用以及C语言标准库 函数的联系和区别; 理解Linux API和系统调用的区别; 熟悉Linux下进程控制相关的系统调用,并熟练 使用相关函数完成进程控制的操作; 学习写makefile文件
操作系统课程设计
提纲
操作系统课程设计
实验内容
1.登录Linux系统; 2.在home目录下建立以自己学号为文件名的文件; 3.拷贝实验提供源代码至自己建立的文件; 4.阅读关于系统调用fork,exec,wait,exit,pipe等函数 (可通过man函数进行查询); 5.编写makefile,用make编译源代码中fork.c,pipe.c,并填 写相关实验报告; 6.运行上一步生成的可执行文件,观察结果及进程,并填写 实验报告相关内容; 7.查阅资料,掌握信号和进程调度阅读signal.c代码,编译并 运行,另开终端,用ps和kill命令终止进程;
操作系统课程设计
提纲
操作系统课程设计
实验算法(系统调用)操作系统的主要功能是为应用程序的运行创建良好的环 境,为了达到这个目的,内核提供一系列具备预订功能的多内核 函数,通过一组称为系统调用(system call)的接口呈现给用户 。系统调用把应用程序的请求传给内核,调用相应的内核函数完 成所需的处理,将处理结果返回给应用程序,如果没有系统调用 和内核函数,用户将不能编写大型应用程序。
Linux提供系统调用,让用户进程能够调用内核函数。这 些系统调用允许用户操纵进程、文件和其他系统资源,从用户级 切换到内核级。也就是说,系统调用的执行会引起特权级的切换 ,是一种受约束的、为切换到保护核心的“函数调用”。普通函 数调用不会引起特权级的转换,一般不受约束。
操作系统课程设计
实验算法(BIOS中断调用)BIOS中断服务程序实质上是微机系统中软件与硬件之 间的一个可编程接口,主要用于程序软件功能与微机硬件之 间连接。BIOS中断服务“封装”了许多系统底层的细节,使 得一些用户程序也能够使用BIOS功能。
操作系统课程设计
实验算法(C语言标准库)C语言标准库是利用系统调用来实现的,它将依赖 于系统的系统调用封装起来,而对开发者透明。系统调用的 实现在内核完成,而C语言标准库则在用户态实现,标准库 函数完全运行在用户空间。
操作系统课程设计
实验算法(API和系统调用的区别)
系统命令
系统调用 内核空间
用户编程接口API 用户空间
操作系统课程设计
实验算法(makefile文件)makefile文件:一个工程中的源文件可能不计其数,其按类型 、功能、模块分别放在若干目录中,makefile定义了一系列的规则来 指定哪些文件需要先编译
,哪些文件需要后编译,哪些文件需要重新 编译,甚至进行更复杂的功能操作。makefile就像一个shell脚本一样 ,其中也可以执行操作系统的命令。Makefile文件需要按照某种语法 进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文 件以及定义文件间的依赖关系。 make是一个命令工具,即解释makefile中指令的命令工具, 一般来说,大多数IDE都有这个命令,如Delph的make,VC的nmake ,GNU的make。 makefile带来的好处就是:“自动化编译”,程序一旦写好, 只需要一个make命令。整个工程自动编译,极大提高了软件开发的效 率。
操作系统课程设计
实验算法(文件描述符)标准输入 进程的文件描述表0 1 2 3 4 5 6 7
键盘
标准输出 标准报错 显示器
file1
. . . .
file2
操作系统课程设计
实验算法(输入输出重定向)
操作系统课程设计
实验算法(进程通信机制——管道)命令1命令1的输出
管道
命令2的输入
命令2
命令2的输出
管道
管道
命令N的输入
命令N
管道是半双工的,数据只能向一个方向流动;需要双方通 信时,需要建立起两个管道;管道只能用于父子进程或者兄弟进程 之间(具有“亲缘”关系的进程);管道单独构成一种独立的文件 系统:管道对于管道两端的进程而言就是一个文件,但它不是普通 的文件,它不属于某种文件系统,而是自立门户,并且只存在于内 存中。
操作系统课程设计
提纲
操作系统课程设计
实验示例(函数示例)pid_t fork( void);//pid_t 是一个宏定义,其实质是int 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程 ID;出错返回-1。 int pipe(int fd[2]) 函数传入值 fd[2]:管道的两个文件描述符,fd[0]是管道读出端,fd[1]是管道 写入端 返回值:成功返回 0,失败返回 -1。 功能:创建一个管道,把管道的读和写文件描述符放到数组fildes中, fildes[0]元素作为管道的输入描述符,fildes[1]元素作为管道的输出描述符。 int dup2(int oldfd, int targetfd) dup2函数允许调用者规定一个有效描述符oldfd和目标描述符的targetfd。 dup2函数成功返回时,目标描述符(dup2函数的第二个参数)将变成源描 述符(dup2函数的第一个参数)的复制品,换句话说,两个文件描述符现 在都指向同一个文件,并且是函数第一个参数指向的文件。 功能:把oldfd文件描述符复制到targetfd,使oldfd和targetfd指向同一文件 。
…… 此处隐藏:773字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




