UNIX技术(系统程序设计篇)

UNIX技术(系统程序设计篇)
作 者: 刘祖亮著;新智工作室改编
出版社: 电子工业出版社
丛编项: UNIX技术丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: UNIX操作系统
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《UNIX技术(系统程序设计篇)》作者简介

内容简介

本书由浅入深地介绍了用C或C++进行UNIX系统程序设计的有关内容,并以大量的示例程序相辅,使有一定基础的读者进一步了解UNIX的程序设计。本书前7章主要介绍了UNIX的文件系统,包括:系统调用的基本概念,文件系统的基础知识,与文件系统有关的系统调用,终端机的系统调用,UNIX的快速缓冲区,文件销定与记录销定,几种常见的UNIX文件系统。从第8章起,重点转到进程控制系统,介绍了进程的管理,分时与实时系统调度,信号处理,进程间的通讯,UNIX的存储管理系统。最后一章则是对常见问题的讨论与概念清。本书根据台湾和硕科技文化有限公司出版的,由台湾刘祖亮先生编写的繁体版著作《新洞悉UNIX:系统程式设计篇》改编而成,适用于有一定的UNIX系统程序设计经验的人员,也可作为大学计算机系的教材。

图书目录

第0章 导论

本书适用对象

本书的编排风格

阅读本书所必需的背景知识

本书的组织结构

第1章 认识系统调用

何谓系统调用

系统调用的使用

系统调用的执行

系统调用与一般函数的区别

核心程序的结构

STREAMS

第2章 认识文件系统

目录与文件

文件的存取权限与性质设定

UNIX文件系统的内部结构

INODE

文件的内部结构

文件存取的方式

第3章 操作文件的系统调用

认识文件描述符(file descripto)

OPEN系统调用

lose系统调用

read与write系统调用

Iseek系统调用

dup系统调用

link系统调用

unlink系统调用

fcntl系统调用

stat与fstat系统调用

access系统调用

chmod系统调用

chown系统调用

chroot系统调用

chdir系统调用

mkdir与rmdir系统调用

mknod系统调用

pipe系统调用

mount与umount系统调用

文件描述符与文件指针的关系

将文件指针转换为文件描述符的函数

更周延稳定的系统调用

关于inode的进一步认识

第4章 控制终端机的系统调用

ioctl系统调用与终端机的输出输入

输入模式

输出模式

控制模式

区域模式

Ioctl()在系统接口上的改进

STREAMS的概念

STREAMS的应用

Stream信息(message)

信息类型(Message Type)

控制信息与数据(Control Information& Data)

信息的结构

信息的接收与传递

putmsg()与getmsg()

模块与驱动程序( Modules & Driver)

多任务(Multiplexing)

select()与poll()

异步输出输入(Asynchronousl/O)

第5章 UNIX的快速缓冲区

为何要使用快速缓冲区

快速缓冲区的运作

快速缓冲区的数据结构

与快速缓冲区运作有关的子程序

hinit子程序

bread子程序

breada子程序

bwrite子程序

getblk子程序

brelse子程序

使用快速缓冲区的负面影响

第6章 文件锁定与记录锁定

为什么需要文件锁定

文件销定技术的变革

锁定的方式和种类

销定的继承权

深入研究fcntl()系统调用

lockf则函数

死锁( dead lock)

第7章 文件系统

s5文件系统

BSD.4.4的文件系统

快速文件系统(FFS)

记录结构文件系统(LFS)

存储器基本文件系统(MFS)

UFS-AT&T版的快速文件系统

ufs的启动块

ufs的超级块

ufs的inode

ufs的存储(数据)块

ufs对目录的处理

sfs文件系统

vxfs文件系统

AIX的文件系统-JFS

AIX的虚拟文件系统

JFS的结构

UNIX的文件格式

ELF文件格式

第8章 进程的管理

进程与程序

进程的建立与执行

exec系统调用

进程的优先权

fork与exec的应用实例

线程(Threa)的概念

线程与资源

线程的类型

以函数库为基础的线程

以核心支持为基础的线程

第9章 分时与实时系统调度

前言

系统调度的目标

时间配额

UNIX的调度程序( Scheduler)

进程的状态变化

实时系统(real time System)

UNIX如何支持实时系统

扩充原有的系统功能

主从(host/target)支持

兼容作业

重建核心程序但维持标准UNIX接口

加入夺取点(Preemption points)

实时系统的效率评估

控制系统调度的指令

构造调度程序

第10章 信号处理

何谓信号(signal)

SVR4及POSIX.1所定义的信号列表

信号的处理

处理信号的系统调用

sigset系统调用

kill系统调用

alarm系统调用

Pause系统调用

旧有信号处理子程序的弊病

阻塞信号(Block Signal)

供需系统的模拟

信号屏蔽

SVR4新增的信号子程序

更多的例子

工作控制(Job Control)

信号使用实例——精确地计算时间

第11章 进程间的通讯

背景知识

pipe系统调用

命名管道与mknod系统调用

命名管道的应用——客户与服务器

第12章 进程间通讯过阶

IPC对象与消息队列

IPC对象的内容

观察IPC对象内容的系统指令

消息队列的使用

messgget系统调用

msgctl系统调用

msgsnd与msgrcv系统调用

信息队列的限制

信号与讯号

CRTICAL SECTION

DIJKSTRA演算法

UNIXSVR4的信号

操作信号的系统调用

共享存储器

第13章 UNIX的存储器管理

UNIX的存储器管理策略

需求分页

认识TraP

trap的种类

将进程锁定在主存储器中

UNIX系统的存储器配置

进程的虚拟存储器寻址

fork与vfork

用户模式与核心程序模式的转换

第14章 问回与解答

何谓System Panics

什么是监视狗重设(Watchdog reset)

如何建立两个超级用户帐号

每次登录都看到的信息是哪里来的

Zombie进程

如何暂停造成高负荷的程序

O_NONBLOCK与 O_NDELAY标志

挽救被误删的文件

ed的臭虫(bug)

目录上的常驻位

同样的程序为什么输出结果不同

魔术数字

启动X窗口时出现奇怪的信息

Script的循环为何只执行一次

如何让程序在启动文件之前执行