Linux系统编程复习提纲答案.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题型分布: 选择题(20分) 填空题(20分) 程序阅读题(20分) 程序填空题(20分) 程序设计题(20分) 知识点分布: 系统概述 Linux系统构成 内核、shell、文件系统、应用程序 内核三大功能 管理硬件、管理内存、管理进程 了解GNU计划 GNU计划,有译为“革奴计划”,是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统GNU。$ ls -l sobsrc. tgz -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz 文件所有者—与所有者同组的用户—系统中其他用户 chmod 格式:chmod [who] [+ | - | =] [mode] 文件名 参数: who: u 表示文件的所有者。 g 表示与文件所有者同组的用户。 o 表示“其他用户”。 a 表示“所有用户”。它是系统默认值。 mode: + 添加某个权限 - 取消某个权限 = 赋予给定权限 例:chmod g+w hello.c Linux编程工具 vi三大模式及其切换方法 键入i进入插入模式 按[Esc]键退出到命令行模式 按shift+;键,即:键进入底行模式 常用vi命令 Yy 复制当前光标所在行 [n]yy 复制当前光标开始的n行 Dd 删除当前光标所在行 [n]dd 删除当前光标所在行开始的n行 P粘贴复制的内容到光标所在行 底行模式功能键 :w保存 :q! 强制退出(对修改不做保存) :wq 保存退出 :set nu 显示行号 gcc编译程序的四个阶段,生成哪些文件及其编译对应选项 预处理-E、编译-S、汇编-c、链接 编译选项-I、-L的作用 -I dir 在头文件的搜索路径列表中添加dir目录 -L dir 在库文件的搜索路径列表中添加dir目录 (-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名Delete(n) 删除N号断点main:main.o fun.o (Tab)gcc main.o fun.o -o main main.o:main.c fun.h (Tab)gcc -c main.c -o main.o fun.o:fun.c fun.h (Tab)gcc -c fun.c -o fun.o clean: (Tab)rm -f main *.o 文件编程 文件打开后在内核中的3大数据结构及其作用 文件描述符表:文件描述符标志 文件表项:文件状态标志,当前文件偏移量,I节点表项指针 I节点表项:文件类项和对该文件的操作函数指针,当前文件长度,i节点 系统调用和库函数的区别(可移植性) 库函数是对系统调用的封装(不是所有的库函数都是),为的是解决一些公共的问题和提供统一的系统调用的接口,他和系统调用的优缺点就是:系统调用速度是明显要快于库函数(并不一定全部是,但绝大部分是),但系统调用缺乏移植性。库函数速度要慢,但解决了移植问题。fd 文件描述符 origin SEEK_CUR:若pos为0,返回当前文件位置(相对文件当前读写指针的位置+pos) SEEK_END: 若pos为0,设为文件尾部(相对当前文件长度+pos) SEEK_SET: 若pos为0,设文件开始(将文件设置成pos) Pos 文件偏移量 返回值:成功返回新文件位置,失败返回-1 什么是空洞文件?是否占用磁盘空间? 利用lseek()查找文件尾部后n个字节(该位置读请求返回EOF),若该位置有读要求,文件旧长度与新长度之间用0填充,该0填充区间为“空洞”(不占任何物理磁盘空间) 空洞文件部分读取请求会返回相应的二进制0。 什么是原子操作?进行原子操作目的何在? 让一个进程多个步骤操作文件时,不允许别的进程做类似的操作,即把操作调整成为原子操作(该操作绝不会在执行完毕前被任何其他任务或事件打断主要用于实现资源计数 文件锁的概念?如何给文件上锁? 当多个用户共同使用、操作一个文件的时候,linux通常采用的方法是给文件上锁,来避免共享资源产生竞争的状态 ?int fcntl (int fd, int cmd, struct flock *lock); 参数 fd 表示文件描述符; cmd: F_SETLK 、 F_SETLKW(wait阻塞) 、F_GETLK的三个取值 struct flock { ?... short l_type;? /* Type of lock(锁类型): F_RDLCK(共享读锁)、F_WRLCK(独占性写锁)或F_UNLCK(解锁一个区域) */ short l_whence; /* How to interpret l_start(相对位置:起始点):SEE

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档