[UNIX环境高级编程第二版]读书笔记1~2章

1.1  null
1.2  内核接口=系统调用。内核+软件(系统实用工具,应用软件,shell,公用函数库)=操作系统。
1.3  口令文件/etc/passwd
     sar:x:205:105:Stephen Rago:/home/sar:/bin/ksh
     登录名,加密口令,用户ID(205),组ID(105),注释,起始目录(/home/sar),shell程序(/bin/ksh)。


     shell:命令行解释器。Linux默认Bourne-again。Mac OS默认TENEX C。
1.4  文件系统。根目录/。stat和fstat获取文件所有属性。
     点,当前目录。点点,父目录。(根目录除外)
     相对路径,绝对路径。ls程序。man 1 ls。
     每个进程都有一个工作目录。
     起始目录(home)。
1.5  文件描述符是小的非负数。
     每当运行一个新程序,所有的shell为其打开3个文件描述符:STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO。定向要某个文件ls > file.list
     不用缓冲的I/O。
     标准I/O,提供一种对不用缓冲I/O函数的带缓冲的接口。
1.6  程序。6个exec,由内核将程序读入存储器,并使其执行。
     getpid();
     控制进程fork,exec,waitpid。
     通常,一个进程只有一个控制线程。多个控制线程需要互斥。
1.7  错误处理:
     char *strerror(int errnum);
     void perror(const char * s);
1.8  超级用户root,用户ID=0。getuid();
     组ID,同组各个成员之间共享资源。getgid(); 使用ID存放只需要2个字节,所以不用字符串。
     附加组ID,登陆时/etc/group中会读取。
1.9  中断键(会发送SIGINT信号)Delete或Ctrl+C。退出键(通常是Ctrl+\)。
1.10 自1970年1月1日00:00:00以来的UTC经历过的秒数。
     时钟时间:进程运行的时间总量,其值与系统中同时运行的进程数有关。
     用户CPU时间:执行用户指令所用的时间。
     系统CPU时间是为进程执行内核程序锁经历的时间。    用户+系统的CPU时间=CPU时间。
1.11 null
1.12 null
------------------------------------------------------------------------------------------------
2.1  null
2.2  ISO C 1990,后更新为1999。按照标准的各个header,将ISO C库分成24个区。
     IEEE POSIX。
     Single UNIX Specification。
     FIPS,联邦信息处理标准。
2.3  SVR4,UNIX System V Release 4,AT&T的UNIX系统实验室的产品。
     4.4BSD,加州大学伯克利分校。
     FreeBSD,基础是4.4BSD-Lite。
     Linux,Linus Torvalds在1991年为替代MINIX而研发。
     Mac OS X,使用了完全不同的技术。核心称为Darwin,基于Mach内核。
     Solaris,基于SVR4,10余年间由Sun公司增强。
2.4  null
2.5  编译时限制(short最大值多少?),运行时限制(文件名可以有多少字符?)。
     解决方法:1)编译时限制(头文件)。(自己想法:ISO C是此种类型,所以只需要关注header即可,别的太复杂,直接忽略。)
               2)不与文件或目录相关联的的运行时限制(sysconf函数)。
               3)和2)相反(pathconf和fpathconf函数)。
     获得运行时限制值:#include <unistd.h>
                       long sysconf(int name);
                       long pathconf(const char *pathname, int name);
                       long fpathconf(int filedes, int name);
2.7  null
2.8  头文件<sys/types.h>中用typedef定义了很多数据类型。
2.9  null
2.10 null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值