第七章+Linux+环境编程

第七章+Linux+环境编程

ID:45017876

大小:48.50 KB

页数:9页

时间:2019-11-07

第七章+Linux+环境编程_第1页
第七章+Linux+环境编程_第2页
第七章+Linux+环境编程_第3页
第七章+Linux+环境编程_第4页
第七章+Linux+环境编程_第5页
资源描述:

《第七章+Linux+环境编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux环境编程新疆大学信息科学与工程学院主要内容系统调用和库函数文件操作进程管理和同步进程通信内存管理系统调用和库函数操作系统通过系统调用和库函数向外提供服务。系统调用系统调用是操作系统提供的、与用户程序之间的接口,也就是操作系统提供给程序员的接口。它一般位于操作系统核心的最高层。不同操作系统所提供的系统调用的数量和类型是不一样,但是基本概念类似。库函数函数库包含了系统提供的大量程序。他们解决带共性的问题,并为程序的开发和执行提供方便的环境。库函数可以分为下面六大类:1)文件管理2)状态信息3)文件修改4)程序设计语言的支持5)程序装入和执行6)通信。系

2、统调用和库函数调用方式在Linux系统中,系统调用和库函数都是以C函数的形式提供给用户。比如,要使用一个Open系统调用来打开指定的文件,则表明相应的文件包。所用到的头文件一般放在/usr/include/sys或者/usr/include/linux目录中。#include#include#include….intOpen(constchar*path,intoflags);//声明部分…//实际调用intfd;fd=open(“/home/mengqc/myfile1”,O_RDWR);

3、…文件操作系统调用操作creat(constchar*name,mode_tmode);创建文件open(constchar*file,intoflags);打开文件Read(intfd,constvoid*buf,size_tcount);读文件write(intfd,constvoid*buf,size_tcount);写文件Close(intfd);关闭文件Mkdir(constchar*path,mode_tmode)创建目录Rmdir(Chmod(constchar*path)删除目录Chdir(Chmod(constchar*path)改变目录L

4、ink(constchar*path1,constchar*path2)连接目录文件操作系统调用操作Chmod(constchar*path,mode_tmode)更改目录权限打开文件时使用的一些标志:O_CRATE文件不存在,则创建它O_RDONLY以只读方式打开文件O_WRONLY以只写方式打开文件O_TRUNC如果文件存在,则将文件的长度截为0进程控制有关进程控制的系统调用有:Fork:创建一个进程,没有参数。Exec:这个系列函数主要作用是在调用进程内部执行一个可执行文件。Wait:等待进程执行完毕。Exit:终止调用的程序。Getpid:获取进程编

5、号PID。Sleep:挂起进程某一段时间。Nice:改变进程的优先级。进程通信Linux下进程间通信主要使用一下手段:管道级有名管道,信号,消息,共享内存,信号量和套接口。管道:mkfifo函数来创建FIFO文件(有名管道)信号:kill(发送信号),raise(给进程本身发送信号),alarm(指定时间后发送信号)。消息队列:msgget(创建或打开一个消息队列),msgsnd(发送一个消息),msgrcv(从消息队列读取一个消息)。信号量:semget(创建或访问已存在的信号量),semop(在信号量上进行操作),semctl(控制和删除信号量)。共享内

6、存:shmget(创建或获取共享内存区域),shmat(共享内存附加的调用进程地址空间),shmdt(从调用进程地址空间分离共享内存区域)。内存管理Linux中使用的内存管理函数有:malloc:分配没有被初始化的内存内存块。calloc:分配被初始化的内存内存块。realloc:调整先前分配的内存块大小。free:释放内存块。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。