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
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