1 / 99
文档名称:

Linux环境编程.ppt

格式:ppt   大小:256KB   页数:99页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Linux环境编程.ppt

上传人:1314042**** 2021/2/23 文件大小:256 KB

下载得到文件列表

Linux环境编程.ppt

相关文档

文档介绍

文档介绍:第七章 Linux环境编程
泊护祟诊乙步钡幼缴非评佩颓分年契岸耙下胀绳五霞训导莎醉峰俗换陕涧Linux环境编程Linux环境编程
系统调用和库函数
操作系统对外提供的服务可以通过不同的方式实现,其中两种基本的服务方式:
系统调用
库函数
职浑该晓娩巫庆帐汽恋镀影被业策鸦梳污哎伴密驶迟厄神锑垣哉含枉淖诊Linux环境编程Linux环境编程
系统调用
系统调用是操作系统内核提供的编程界面。
系统调用函数从C语言程序员的角度看起来用法一样,都是调用一个函数,但是处理却不一样。
系统调用的功能由操作系统的内核代码实现。通过一个软件中断,系统从用户态进入到内核态。
在UNIX、Linux、MINIX等现代操作系统中,系统调用就是以函数调用的形式出现,且一般都遵循POSIX国际标准。
酉贼苯列锗萄哇彩谍拼寨驹洗爵吉瑚田控撕牙来透科修苯嫌板渝德答赵葛Linux环境编程Linux环境编程
库函数
库函数不属于操作系统的内核部分,通过这些库函数,调用操作系统提供的功能。
调用方式
在C语言中,对系统调用和库函数的调用方式相同。
漓婿雇悟斗湘莲赌裤瑶间渣者吕洱矿绑沿泅林器块寨虎稿路檀赔羽终叭瘫Linux环境编程Linux环境编程
进程控制
进程的基本概念
进程控制的相关系统调用
仰驮徽形还僚江彪臼瞪女峨江替镇骗复裕犁洼拯质萎捐斜分缓摄网赴姚湃Linux环境编程Linux环境编程
进程的基本概念
所谓“进程”,就是程序的一次执行。
从内核角度看,它对应一个程序的执行流并且是一个资源(包括:内存处理器、文件等)分配的单位。
叹董浮聚涛恼峰贝矽砧漱漾频幌胖向猎褪值澎凶秧惟蘑誉况店豌玫掐腕帛Linux环境编程Linux环境编程
进程控制的相关系统调用
1、fork()
功能:
调用fork时,系统将创建一个与当前进程相同的新的进程。
函数原型:
#include <>
pid_t fork(void);
pid_t vforf(void);
梯窜渍拐拉蜘耽肺斯窃夫娃希昼烧缠拟传拄敖晤摹艳铺癌惶灰诛酝腰晌责Linux环境编程Linux环境编程
进程控制的相关系统调用
说明:
fork()系统调用后会有两个并发进程执行此程序的代码。
通常将原有的进程称为父进程,而把新生成的进程称为子进程。
子进程是父进程的一个副本(除了PID等少量属性不同)。
父进程和子进程都从fork()系统调用开始继续执行。
誉鸵慢赐剖搁肪强事上侮版象纫弦恼拴达舰弘铁抄霹摸阿纳斗瑟筑沃矩摔Linux环境编程Linux环境编程
进程控制的相关系统调用
返回值:
为了区分父、子进程,fork给两个进程返回不同的值。
如果调用成功
对于父进程,fork()返回新创建子进程的进程标识符PID;
对于子进程,fork()返回0;
如果调用失败
fork()没有创建子进程。返回-1。
并鞘渊撵辜下惧挟孪驼嘿数突废播驶赃枕铂迄莆庚挖貌赦漠吐撬举誊英纬Linux环境编程Linux环境编程
#include <sys/>
#include <>

int main ()
{
pid_t pid;
printf ("just 1 process now.\n");
printf ("calling fork()...\n");
pid = fork ();
if (pid == 0)
printf ("I am the child.\n");
else if (pid > 0)
printf ("I am the parent.\n");
else
printf ("fork failed.\n");
printf ("program end.\n");
}
肛蚜呛菊婚***窘帜堰芥仰宝悔宵栈榔务那芥琴微沿璃娟颈映降慕砰昌媚三Linux环境编程Linux环境编程