Unix环境高级编程 第一章笔记

1 文件描述符:一个非负小整数,内核用它表示进程使用该文件,读写时可用,打开和创建文件则是产生文件描述符。
2 标准输入 输出 出错:每当运行一个程序,shell会打开这三个描述符,若是像ls没有什么处理,则三个文件都会指向终端,但是shell都有重定向符,如ls > file.list
3 头文件<unistd.h>包含了许多系统服务的函数原型,如read,write.
4 程序 使用6个exec函数中的一个由内核,将程序读入存储器。
5 进程 是程序执行的实例,且都有一个数字标识符,进程ID由函数getpid()获得。execlp函数是执行从标准输入读入命令。
6 线程 在一个进程里共享同一地址空间 文件描述符 栈 以及进程相关属性。因为访问同一存储区,所以要采取同步措施,避免不一致。线程同样有ID,但只在该进程内有效。
7 出错处理 当unix出错,常常返回一个负值,并errno设为一个含有附加信息的一个值。<errno.h>中定义了符号errno以及赋予它的常量。errno规则1:若不出错,不会被一个例程清除,仅当返回出错,才检验其值。规则2:任意函数不会将errno设为0.
 c定义了两个函数,打印出错。
第一个函数将errno映射为出错信息字符串,并返回其指针。第二个函数输出msg字符串: +errno的出错信息,最后是一个换行符。
<errno.h>分为致命性和非致命性。对于致命性,无法恢复动作,最多只能打印一条出错消息。相反可以较妥善地处理。
8 用户标识ID 每个用户都有一个ID,代表一些权限。root用户ID为0. getuid 和getgid 分别表示用户ID和组ID。一个用户可以属于不同组,在/etc/group中有信息。
9 信号 是通知进程已有某种情况发生的技术。进程处理信号有3种选择。1.忽略该信号。2.按系统默认方式处理。3.提供一个函数,信号发生时,调用该函数。
键盘上有两种信号产生方法,中断键和退出键,用于中断当前进程。另外一种是调用kill函数,发送信号。
捕捉信号用signal函数。
10 时间值。分为日历时间(自1970.1.1 00:00:00积累的秒数 用time_t保存)和进程时间(用以度量进程使用处理器的资源 用clocke_t保存)
时钟时间是进程运行的时间总量。
用户cpu时间是执行用户指令所用的时间。
11 系统调用和库函数 系统提供给函数进入内核的入口点是系统调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值