APUE 第1-2章笔记

第1章 UNIX基础知识

每当运行一个新程序,所有的shell都为其打开3个文件描述符,stdin,stdout,stderr。如果不做特殊处理,这3个描述符都链接到终端。可以通过重定向到其他文件。

signal

用于通知进程发生了某种情况。3种处理方式:
- 忽略
- 系统默认
- 指定函数处理

进程时间

系统为进程维护了3个进程时间:
- real,进程运行的时间总量
- user,用户CPU时间,执行用户指令的时间
- sys, 系统CPU时间,执行系统调用的时间

系统调用和库函数

库函数可以替代但系统调用通常不可替代。很多库函数会调用一个或多个系统调用。
系统调用以c函数的形式给出,但其实是为每个系统调用在标准C库中设置一个具有同样名字的函数,这些函数会用系统所要求的技术调用内核服务。

第2章 UNIX标准及实现

ISO C包含于POSIX,POSIX包含于Single UNIX Specification

限制

  • 编译时限制,可在头文件中定义。
  • 运行时限制,调用一个函数来获取,利用sysconf(),pathconf(),fpathconf()。前缀SC用作标识sysconf参数,PC用于表示另两个
ISO C限制

定义于limits.h中,在一个给定的系统是不会改变的

Linux中,pathconf和fpathconf在C函数库中实现,这俩函数返回的配置限制依赖于底层的文件系统类型,如果你的文件系统不被C库数值,函数则返回一个猜测值。

对于PC_PATH_MAX,pathconf返回基于工作目录的相对路径名的最大长度,而工作目录就是其第一个参数。

不确定的值表示该限制值不确定,没有限制,但不代表是无限的。调用函数返回-1但不改变errno,则表示不确定的值。

头文件sys/types.h定义了某些与实现相关的数据类型,称为,基本系统数据类型(primitive system data type),其他头文件也有定义。用C的typedef定义的,以_t结尾。例如,size_t。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值