one picture is worth a thousand words
APUE读书笔记 之 信号
摘要:UNIX信号是软件层次的异常控制流,为系统异步处理事件提供了机制。 UNIX信号使得内核和进程可以中断其他进程。 A signal is a small message that notifies a process that an event of some type has occured in the system. 每一个信号对应着系统中的某个事件。 本章主要讲述了常用信号,信号的处理方式,与信号有关的系统调用。然后用很大篇幅讲述了信号集与进程的信号屏蔽。主要知识点如下图:图1 信号的基本概念 图2 信号集与进程BTW:习题10.5很好,是APUE为数不多的与代码相关的好...
阅读全文
posted @
2013-05-02 22:04
CoreyGao
阅读(307)
推荐(1)
APUE读书笔记 之 进程关系
摘要:这一章的内容在读第一遍的时候完全是在“看”,当时还以为“看”的挺明白。现在读第二遍,并准备写这篇读书笔记时,才发现,我第一遍读的时候,什么都没“看”明白。或许深入学习linux后还会发现,现在记录的这些笔记,也仅仅是记录个皮毛而已。第二次再看,发现理解这章内容的关键还是那句话“UNIX下一切皆文件“。这一章通过讲解“进程”与“终端”的故事,来讲解进程关系。对于unix而言,终端也是文件。只不过这种“文件"在人机交互中扮演了比较关键的角色。基于”终端是文件“的概念,才产生了”伪终端“,因此才能实现”网络登录“。基于”终端是文件“的概念,才能通过”进程组“和”会话“的概念,结合文件系统,
阅读全文
posted @
2013-04-27 23:55
CoreyGao
阅读(924)
推荐(0)
APUE读书笔记 之 进程控制
摘要:本章内容与前一章(进程环境)内容紧密相关,完全熟悉进程环境之后,才能理解进程控制相关内容。 本章内容充分体现了本书的名字“环境高级编程”。环境相关的内容介绍的比较充分,但是对于最基础的原理级内容(fork,exec)讨论不足。 应该是因为限于这本书的主题,而缺少了CSAPP第三章,第七章那种较为底层的讲解。 综合csapp和《UNIX网络编程卷2:进程间通信》才能对进程相关的原理概念较为了解。 具体内容见图1和图2:图1 进程控制概要图2 进程控制原语避免使用vfork。BTW:写本篇博客内容时,让我联想起了以前在酷壳上的一篇文章《一个fork的面试题》。又看了一遍之后,感觉那...
阅读全文
posted @
2013-04-26 22:55
CoreyGao
阅读(821)
推荐(1)
APUE读书笔记 之 进程环境
摘要:APUE的进程相关的部分(进程环境和进程控制两章) 都是建立在读者对于进程的概念比较了解的基础上的。略过了操作系统级的概念。 所以对于进程环境的粗略介绍显得比较杂乱而且深度不足。 补充概念:(摘自CSAPP)进程的经典定义是一个执行中的程序的实例。 系统中的每个程序都运行在某个进程的上下文中。上下文由程序正确运行所需的状态组成的。这个状态包括存放在存储器中的程序的代码和数据,它的栈、通用目的寄存器的内容、程序计数器、环境变量和打开文件描述符的集合。进程提供给应用程序两个关键抽象:1。一个独立的逻辑控制流,好像程序独占地使用处理器。2。一个似有的地址空间,好像程序独占地使用存储器系统。 ...
阅读全文
posted @
2013-04-25 15:35
CoreyGao
阅读(726)
推荐(0)
APUE读书笔记 之 系统数据文件和信息
摘要:本章内容讲解了UNIX系统正常运行所必须的数据文件 以及 系统的标识函数和时间函数。 在系统数据文件和系统信息方面,与shell和perl比起来,C语言能做的很有限而且很复杂。 本章对于时间和日期相关的API介绍的很详细。关于“时间和日期”部分,补充rtc和system clock如下(主要摘自man 4 rtc -- release 3.23 of the Linux man-pages project) : RTC(real time clock)是指负责记录"wall clock"的硬件时钟。所有的i386PC的主板南桥上都有RTC,用一块可替换的硬币电池供电。 sy
阅读全文
posted @
2013-04-24 12:11
CoreyGao
阅读(441)
推荐(0)
APUE读书笔记 之 标准I/O库
摘要:本章以stream(区别开STREAMS)为中心,讲解了UNIX的标准I/O库。 stream的核心是FILE结构。 打开一个stream时,fopen返回一个FILE对象指针。该FILE结构包括了: 实际用于I/O的文件描述符,指向该流缓冲区的指针,缓冲区的长度,当前缓冲区的字符,以及出错标志等等。 FILE结构定义在/usr/include/stdio.h中。 typedef struct _IO_FILE FILE; _IO_FILE结构定义在/usr/include/libio.h中。View Code 1 struct _IO_FILE { 2 ...
阅读全文
posted @
2013-04-23 23:29
CoreyGao
阅读(808)
推荐(1)
APUE读书笔记 之 文件和目录
摘要:文件和目录 描述了文件系统的特征和文件的性质。 UNIX用户层的文件系统主要包括两部分:1.文件的stat属性。2.由文件的某些属性与进程的属性相结合衍生出的权限控制系统。 本章还初步介绍了UFS(UNIX FIle System)软件层的基本结构。 文件基本属性如图1: 图1 文件基本属性 文件的权限控制如图2: ...
阅读全文
posted @
2013-04-21 23:40
CoreyGao
阅读(863)
推荐(1)
APUE读书笔记 之 文件I/O
摘要:文章中的英文图片都引用自:http://infohost.nmt.edu/~eweiss/222_book/222_book/0201433079/ch04lev1sec14.html中文图片为原创,用Xmind所画。概要 UNIX下“一切皆文件”,UNIX下的I/O即对文件的操作。 APUE将基本I/O相关内容分为 不带缓冲的I/O,文件和目录,标准I/O库 和 系统数据文件和信息。 不带缓冲的I/O和标准I/O库 描述了最基本的I/O。 文件和目录,数据系统文件和信息 描述了UNIX基本的文件系统和权限控制。普通文件I/O 普通文件I/O都是不带缓冲的I/O。不带缓冲的I/O是指在...
阅读全文
posted @
2013-04-21 23:24
CoreyGao
阅读(282)
推荐(0)