logo资料库

linux下系统调用编程实例.doc

第1页 / 共171页
第2页 / 共171页
第3页 / 共171页
第4页 / 共171页
第5页 / 共171页
第6页 / 共171页
第7页 / 共171页
第8页 / 共171页
资料共171页,剩余部分请下载后查看
1Linux环境基础
1.1.1Linux系统安装
1.1.2Linux环境配置
1.1.3Linux常用命令
1.1.4Linux用户管理
1.1.5Linux网络管理
1.1.6Linux编辑开发工具的使用——vim
1.1.7Linux编译开发工具的使用——gcc
1.1.8小结
1.1.9习题
2Linux的shell编程
2.1.1shell语法规则
2.1.2shell变量
2.1.3shell基础编程
2.1.4shell高级编程
2.1.5小结
2.1.6习题
3文件I/O编程
3.1系统调用学习——三部曲
3.2open函数
3.3close函数
3.4read函数
3.5write函数
3.6lseek函数
3.7rewind函数
3.8dup函数
编译结果:
[root@localhost opt]# gcc dup.c –o dup
3.9 dup2函数
3.9fcntl函数
ioctl函数
范例:
3.11标准IO与缓存
3.9.1标准I/O标准
3.9.2 ANSI C缓存
3.9.3fdopen函数
3.9.4 I/O效率
3.10小结
3.11习题
4文件与目录编程
4.1opendir函数
4.2readdir函数
头文件
4.3stat函数
4.4chdir函数
4.5小结
4.6习题
5Linux进程编程
5.1fork函数——孕育生命的摇篮
5.2wait函数——侦探柯南
5.3waitpid函数——侦探柯南
5.4僵尸(zombie)进程
5.5exec函数——偷梁换柱
5.6system函数——接(借)生婆
5.7设置用户ID和组ID
5.8进程执行时间
5.9小结
5.10习题
6Linux进程间通信
6.1无名管道(pipe)——两人玩水管
6.2有名管道(fifo)——多人玩水管
6.3信号——最古老的通信方式
6.4共享内存——最快捷的沟通
6.4.1共享内存函数说明
6.4.2共享内存使用案例说明
6.5消息队列
6.6信号量
6.7socket
6.8习题
7Linux线程编程
7.1pthread_create函数——创造更多的生产线
7.2线程库文件
7.3pthread_join
7.4pthread_exit
7.5线程属性
7.6线程互斥锁——线程运行调度员
7.7线程条件变量
详细说明
8Linux高级I/O编程
8.1fcntl函数
8.2select函数
8.3ioctl函数
9Linux网络编程
9.1网络基础
9.2socket函数
9.3bind函数
9.4select函数
9.5accept函数
9.6connect函数
9.7小结
10项目实战
11附录:习题答案和解说
创作团队 (按姓名首字母,排名不分先后) 以下摘自 博客地址 高明 龚琴 顾修忠 何路 胡鹏磊 梁光明 刘省 刘洋 卢友娟 沈晓伟 孙艳辉 王雷 王兴林 吴敬伟 张羽宽 赵志远 朱世翔 张明智 http://blog.csdn.net/gm9415 http://blog.csdn.net/svasan http://blog.csdn.net/ta893115871 http://hi.baidu.com/luckylulovezy http://hi.baidu.com/alberthuyy http://hi.baidu.com/puce_love http://hi.baidu.com/lsbflayun http://blog.csdn.net/liuyang1990i http://hi.baidu.com/386939024 http://hi.baidu.com/daveweicomeon http://blog.csdn.net/syh19378888 http://blog.csdn.net/wang_leiboke http://blog.csdn.net/wangxinglin133521 http://blog.csdn.net/aile770339804 http://blog.csdn.net/jack_zyk http://blog.csdn.net/ZY_zhao http://hi.baidu.com/zsx0415 http://hi.baidu.com/newbee520
目 录 1 2 Linux 环境基础..............................................................................................................1 Linux 系统安装 ................................................................................................1 1.1.1 Linux 环境配置 ..............................................................................................22 1.1.2 1.1.3 Linux 常用命令 ..............................................................................................37 Linux 用户管理 ..............................................................................................39 1.1.4 Linux 网络管理 ..............................................................................................40 1.1.5 1.1.6 Linux 编辑开发工具的使用——vim .............................................................. 41 1.1.7 Linux 编译开发工具的使用——gcc .............................................................. 43 1.1.8 小结 ...............................................................................................................44 1.1.9 习题 ...............................................................................................................44 Linux 的 shell 编程.....................................................................................................45 2.1.1 shell 语法规则 ............................................................................................... 45 shell 变量 .......................................................................................................46 2.1.2 shell 基础编程 ............................................................................................... 47 2.1.3 2.1.4 shell 高级编程 ............................................................................................... 49 2.1.5 小结 ...............................................................................................................55 2.1.6 习题 ...............................................................................................................59 3 文件 I/O 编程................................................................................................................60 open 函数 ............................................................................................................. 60 3.1 close 函数 .............................................................................................................62 3.2 read 函数 .............................................................................................................. 63 3.3 write 函数 ................................................................................ 错误!未定义书签。 3.4 lseek 函数 .............................................................................................................69 3.5 rewind 函数 ...........................................................................................................70 3.6 dup 函数 ............................................................................................................... 71 3.7 dup2 函数 ............................................................................................................. 72 3.8 3.9 fcntl 函数 ...............................................................................................................76 3.10 ioctl 函数 ...............................................................................................................76 3.11 标准 IO 与缓存 ..................................................................................................79 3.11.1 标准 I/O 标准 .................................................................................................80 3.11.2 ANSI C 缓存 ..................................................................................................81 3.11.3 fdopen 函数 ...................................................................................................82 I/O 效率 ......................................................................................................... 82 3.11.4 小结 ...................................................................................................................85 3.12
5 3.13 习题 ...................................................................................................................87 4 文件与目录编程........................................................................................................... 88 opendir 函数 ..................................................................................................88 4.1.1 readdir 函数 ...................................................................................................88 4.1.2 stat 函数 ........................................................................................................ 89 4.1.3 chdir 函数 ...................................................................................................... 90 4.1.4 4.1.5 小结 ...............................................................................................................91 4.1.6 习题 ...............................................................................................................92 Linux 进程编程............................................................................................................93 fork 函数——孕育生命的摇篮 .............................................................................. 93 5.1 wait 函数——侦探柯南 .........................................................................................94 5.2 waitpid 函数——侦探柯南 ....................................................................................97 5.3 exec 函数——偷梁换柱 ......................................................................................100 5.4 system 函数——接(借)生婆 .......................................................................... 101 5.5 5.6 设置用户 ID 和组 ID ........................................................................................... 102 5.7 进程执行时间 ......................................................................................................102 5.8 小结 .................................................................................................................... 102 5.9 习题 .................................................................................................................... 102 Linux 进程间通信 ......................................................................................................103 6.1.1 有名管道(fifo)和无名管道(pipe) .........................................................103 6.1.2 信号 .............................................................................................................107 6.1.3 信号量 ......................................................................................................... 127 6.1.4 共享内存 ......................................................................................................109 6.1.5 消息队列 ......................................................................................................116 6.1.6 socket ..........................................................................................................134 Linux 线程编程..........................................................................................................136 7.1.1 pthread_create 函数 ................................................................................... 136 7.1.2 线程库文件 .......................................................................错误!未定义书签。 pthread_join ................................................................................................137 7.1.3 7.1.4 pthread_exit ................................................................................................138 7.1.5 线程属性 ......................................................................................................139 7.1.6 线程互斥锁 ..................................................................................................140 7.1.7 线程条件变量 .............................................................................................. 142 Linux 高级 I/O 编程...................................................................................................145 fcntl 函数 ..................................................................................................... 145 8.1.1 select 函数 .................................................................................................. 146 8.1.2 8.1.3 ioctl 函数 ..................................................................................................... 148 Linux 网络编程..........................................................................................................153 8 9 6 7
9.1.1 网络基础 ......................................................................................................153 socket 函数 ................................................................................................. 153 9.1.2 bind 函数 ..................................................................................................... 154 9.1.3 9.1.4 select 函数 .................................................................................................. 154 accept 函数 ................................................................................................. 157 9.1.5 connect 函数 ............................................................................................... 157 9.1.6 10 附录:习题答案和解说.......................................................................................... 165
1 Linux 环境基础 1.1.1Linux 系统安装 1.安装引导 首先要设置计算机的 BIOS 启动顺序为光驱启动,保存设置后将安装光盘放入光 驱,重新启动计算机。 计算机启动以后会出现如下图所示的界面。 你可以直接按下来进入图形介面的安装方式或者等待 60 秒。 下面是上图所示引导菜单选项如下: 安装或升级现有系统(Install or upgrade an existing system): 这个选项是默认的。 选择此选项,安装到您的计算机使用 CentOS 的图形安装程 序的系统。 1
安装系统,基本的视频驱动程序(Install system with basic video driver): 此选项允许您安装 CentOS 的模式,即使在图形安装程序无法加载视频卡的正确 驱动程序为您的。如果你的屏幕上出现扭曲或一片空白时使用的安装或升级现有 系统的选项,重新启动计算机,并尝试此选项。 救援安装的系统(Rescue installed system): 选择这个选项来修复您的安装 CentOS 系统,防止正常启动你一个问题。虽然 CentOS 是一个非常稳定的计算平台,它是偶然的问题仍有可能发生,防止启动。 救援环境包含实用程序,允许您解决这些问题,品种繁多。 从本地驱动器启动(Boot frome local drive): 此选项将引导从第一个安装的磁盘系统。 如果你意外地启动这个光盘,使用未 立即启动安装程序这是从硬盘启动选项。 2.检测光盘介质 如下图所示,如果是一张完整的安装盘,可以直接单击“Skip”按钮跳过,否则 单击“OK”按钮检测安装盘的完整性。 Tips:如果你确定你所下载的 DVD 或光盘没有问题的话,那么这里可以选择 ‘Skip(忽略)’, 不过,你也可以按下‘OK’来进行 DVD 的分析,因为通过 DVD 的分析后,后续的安装比较不会出现奇怪的问题。 不过如果你按下‘OK’后, 程式会开始分析光盘内的所有文件的资讯,会花非常多的时间喔! 3.安装欢迎界面 当检测完电脑硬件信息后,进入安装欢迎界面,如下图所示。
分享到:
收藏