博客专栏  >  编程语言   >  UNIX环境高级编程

UNIX环境高级编程

对《UNIX环境高级编程》一书的重点进行分析,并通过程序来说明。

关注
31 已关注
78篇博文
  • 《UNIX环境高级编程》笔记--伪终端

    1.什么是伪终端 伪终端对于一个程序来说,看上去像一个终端,但事实上并不是一个真正的终端。下图显示了使用伪终端时相关进程 的典型结构。 1.通常一个进程打开伪终端主设备,然后调用fork...

    2014-03-10 16:57
    4543
  • 《UNIX环境高级编程》笔记--规范模式和非规范模式

    1.规范模式 规范模式很简单:发一个读请求,输入完一行后,终端驱动程序即返回。(终端的行缓冲应该就是通过终端IO函数来实现的) 下列几个条件都会造成读返回。 1.所要求的字节数已读到时,读返回。无需读...

    2014-03-08 20:24
    1553
  • 《UNIX环境高级编程》笔记--行控制函数、终端标识、终端窗口大小

    1.行控制函数 下列4个函数提供了终端设备的行控制能力,其中,参数filedes引用一个终端设备,否则出错返回,errno设置为ENOTTY。 #include int tcdrain(int fil...

    2014-03-06 16:48
    1947
  • 《UNIX环境高级编程》笔记--特殊输入字符

    POSIX.1定义了11个在输入是做特殊处理的字符。实现定义了另外一些特殊字符。下表摘要列出了这些特殊字符。 POSIX.1允许禁用这些字符。若将c_cc数组中的某项设置为_POSIX_VDISA...

    2014-03-05 18:20
    1243
  • 《UNIX环境高级编程》笔记--终端IO

    终端IO有两种不同的工作模式: 1.规范模式输入处理。在这种模式中,终端输入以行为单位进行处理。对于每个读要求,终端驱动程序最多返回一行。 例如,若shell把标准输入重定向到终端, 2.非规范模式输...

    2014-03-04 20:45
    1321
  • 《UNIX环境高级编程》笔记--UNIX域套接字

    1.非命名的UNIX域套接字 UNIX套接字用于在用一台机器上运行的进程之间通信。UNIX套接字比因特网域套接字的效率更高。UNIX与套接字提供和 数据报两种接口,UNIX域数据报服务是可靠的,就...

    2014-03-02 16:35
    5472
  • 《UNIX环境高级编程》笔记--套接字选项,带外数据

    1.套接字选项 套接字机制提供两个套接字选项接口来控制套接字行为。一个接口用来设置选项,另一个接口允许查询一个选项的状态。可以 获取或设置三种选项: 1.通用选项,工作在所有套接字类型上。 2.在套接...

    2014-02-28 22:06
    1412
  • 《UNIX环境高级编程》笔记--套接字数据传输

    套接字端点表示为文件描述符,只要建立连接,就可以使用read和write来通过套接字通信。在套接字描述符上采用read和 write是非常有意义的,因为可以传递套接字描述符到那些原来设计为处理本地文件...

    2014-02-28 14:42
    1572
  • 《UNIX环境高级编程》笔记--套接字描述符、寻址、建立连接

    1.套接字描述符 套接字是通信端点的抽象。与应用程序使用文件描述符访问文件一样,访问套接字也需要用套接字描述符。要创建一个 套接字,可以调用socket函数。 #include int socket(...

    2014-02-25 09:26
    2577
  • 《UNIX环境高级编程》笔记--XSI IPC

    1.XSI IPC 有三种IPC我们称作XSI IPC,即消息队列,信号量和共享存储器,他们之间有很多相似之处。 1.1.标识符和键 每个内核中的IPC结构(消息队列,信号量或共享存储段)都用一个非负...

    2014-02-21 16:38
    2152
  • 《UNIX环境高级编程》笔记--管道

    管道是UNIX系统IPC的最古老形式,并且所有的UNIX系统都提供此种通信机制。管道有下列两种局限性: a.历史上,它们是半双工的,现在某些系统提供全双工管道,但是为了最佳的可移植性,我们决不应预先假...

    2014-01-29 10:34
    1891
  • 《UNIX环境高级编程》笔记--存储映射IO

    存储映射IO使一个磁盘文件与存储空间中的一个缓冲区相映射。于是当从缓冲区中取数据,就相当于读文件中的相应的字节; 将数据存入缓冲区,则相应字节就自动写入文件,这样就可以在不是用read和write的情...

    2014-01-27 16:27
    1655
  • 《UNIX环境高级编程》笔记--readv和writev函数

    readv和write函数用于在一次函数调用中读,写多个非连续缓冲区。 #include ssize_t readv(int filedes, const struct iovec *iov, in...

    2014-01-26 12:55
    4187
  • 《UNIX环境高级编程》笔记--IO多路转换

    读取

    2014-01-26 10:45
    1314
  • 《UNIX环境高级编程》笔记--STREAMS

    STREAMS(流)是system V提供的构造内核设备驱动程序和网络协议包的一种通用方法。 流在用户进程和设备驱动程序之前提供了一条全双工通路。流无需和实际硬件设备直接会话,流也可以用来构造伪设备驱...

    2014-01-23 13:49
    2067
  • 《UNIX环境高级编程》笔记--记录锁

    记录锁的功能是:当一个进程正在读或者修改文件的某一个部分时,它可以阻止其他进程修改同一文件区。记录锁其实是 字节范围锁,因为它锁定的只是文件中的一个区域,也可能是整个文件。 1.fcntl记录锁 SV...

    2014-01-22 16:21
    2786
  • 《UNIX环境高级编程》笔记--非阻塞IO

    系统调用分成低速系统调用和其他系统调用两类。低速系统调用是可能会使进程永远阻塞的一类调用调用,他们包含: 如果某些文件类型(例如管道,终端设备和网络设备)的数据并不存在,则读操作可能会使调用者永远...

    2014-01-22 09:34
    1555
  • 《UNIX环境高级编程》笔记--出错记录

    与守护进程有关的一个问题是如何处理出错消息。因为它没有控制终端,所以不能只是简单地写到标准出错上,我们希望 有一个集中的守护进程出错记录设施。 自4.2BSD以来,BSD syslog设施得到了广泛应...

    2014-01-21 10:22
    1272
  • 《UNIX环境高级编程》笔记--守护进程

    守护进程也被称为精灵进程(daemon),是生存期较长的一种进程。

    2014-01-20 10:14
    2084
  • 《UNIX环境高级编程》笔记-线程和信号

    每个线程都有自己的信号屏蔽字,但是信号的处理

    2014-01-17 21:59
    1434
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部