高级UNIX环境编程】的更多相关文章

每个程序都会收到一张环境表 extern char **environ; c程序的存储空间布局: 正文段:共享,只读 初始化数据段:存函数以外的赋值 非初始化数据段(bbs):block started by symbol  在程序开始之前,内核将此段中数据初始化0或NULL,存储函数以外的声明 栈 堆:堆位于非初始化数据段和栈之间 c中,goto语句不能跨越函数的,执行这类跳转的是setjmp / longjmp getrlimit/setrlimit…
标准IO库都围绕流进进行的 <stdio.h><wchar.h> memccpy 一般用汇编写的 ftell/fseek/ftello/fseeko/fgetpos/fsetpos 定位 在UNIX系统中,标准IO库最终都要调用IO例程…
常规文件 只有索引节号(i-number,是一批i-node的索引),i-node不含文件名及数据字节,包括文件类型,链接数量,uid,gid,访问权限,字节数,最后访问时间,最后修改时间,信息节点最后修改时间,文件内容磁盘块指针 目录:使用名称来标识文件,实际中总是用目录来访问文件,每个目录包含一个两列表,一列是文件名称,一列是索引节号,名称/信息节点对被称为链接(link) 块特殊文件:包含固定长度块的数组,并使用内核缓冲区池加速IO操作 字符特殊文件:不适合使用缓冲区,块大小不定 程序运行…
linux下,keventd守护进程为内核中运行的执行的函数提供进程上下文 bdflush,kupdated将高速缓存中的数据冲洗到磁盘上…
<pthread.h> pthread_equal pthread_self(void) pthread_create() pthread_close() pthread_join() phread_cancel() pthread_cleanup_push() pthread_cleanup_pop() 同步: 1互斥量 pthread_mutex_init() pthread_mutex_destory() pthread_mutex_lock() pthread_mutex_tryloc…
信号是软件中断,提供一种处理异步事件的方法 <signal.h> sigaction()…
#include<sys/stat.h> stat fstat lstat fchmod 对已打开的文件操作…
POSIX中,STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO 对应0,1,2 每个打开的文件都有一个与其想关联的 "current file offset" , sleek() 修改 内核用三个数据结构管理打开的文件 :进程表项(fd标志,文件指针),文件表(文件状态标志,当前文件偏移量,v节点指针),v节点(i节点) 每个进程有自己的进程表项和文件表 #include<fcntl.h>  fcntl #include<termios…
perror("error:") ;  strerror 日历时间:time_t (1970.1.1开始的秒数)     struct timeval (秒数和微秒)  struct tm struct  t m * localtime(const time_t *t);  === time_t mktime(struct ™ *tmbuf); struct t m* gmtime( const time_t *t );//to utc时间 char * ctime( const ti…
 学习情况: 有关UNIX系统环境编程的学习时间用来非常长的时间.可是感觉效果还是不是太好,在中间经过了期末考试.用来非常长的时间用来学习专业课.就将该过程的学习放到了一边上,放假以后又回家造成了中间的学习时间打的非常散.又因为自己的水平还是十分有限的,所以该过程的学习效果感觉不太好.时间的观念在脑中还是不够强烈,整个过程中整体来说仅仅是在整体上了解了一个大概,实践还差的非常远. 学习期间博客: 1.UNIX环境编程初步认识--编程环境搭建 2.UNIX环境编程初步认识--文件和I/O 3.…