图书介绍

莱昂氏UNIX源代码分析pdf电子书版本下载

莱昂氏UNIX源代码分析
  • (澳)John Lions著;尤晋元译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111080181
  • 出版时间:2000
  • 标注页数:378页
  • 文件大小:15MB
  • 文件页数:396页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

莱昂氏UNIX源代码分析PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

上篇 UNIX操作系统版本6源代码 3

UNIX操作系统过程分类索引 3

UNIX操作系统文件及过程 5

UNIX操作系统定义的符号列表 7

UNIX操作系统源代码交叉引用列表 9

第一部分 初始化、进程初始化 25

第二部分 陷入、中断、系统调用和进程管理 75

第三部分 程序交换、基本输入/输出、块设备 109

第四部分 文件和目录、文件系统、管道 133

第五部分 面向字符的特殊文件 181

下篇 莱昂氏UNIX源代码分析 207

前言 207

第1章 绪论 209

1.1 UNIX操作系统 209

1.2 公用程序 209

1.3 其他文档 210

1.4 UNIX程序员手册 210

1.5 UNIX文档 211

1.6 UNIX操作系统源代码 211

1.7 源代码中各部分 212

1.8 源代码文件 212

1.9 分析的使用 212

1.10 对程序设计水平的一条注释 212

第2章 基础知识 214

2.1 处理机 214

2.2 处理机状态字 214

2.3 通用寄存器 214

2.4 指令集 215

2.5 寻址方式 216

2.5.1 寄存器方式 217

2.5.2 寄存器延迟方式 217

2.5.3 自动增1方式 217

2.5.4 自动减1方式 217

2.5.5 变址方式 217

2.5.6 立即方式 218

2.5.7 相对方式 218

2.6 UNIX汇编程序 219

2.7 存储管理 219

2.8 段寄存器 220

2.9 页说明寄存器 220

2.10 存储分配 220

2.11 状态寄存器 221

2.12 “i”和“d”空间 221

2.13 启动条件 221

2.14 专用设备寄存器 221

第3章 阅读“C”程序 222

3.1 某些选出的例子 222

3.2 例1 222

3.3 例2 223

3.4 例3 223

3.5 例4 225

3.6 例5 225

3.7 例6 227

3.8 例7 227

3.9 例8 228

3.10例9 228

3.11 例10 229

3.12 例11 229

3.13 例12 230

3.14 例13 230

3.15 例14 231

3.16 例15 231

3.17 例16 232

3.18 例17 233

第4章 概述 235

4.1 变量分配 235

4.2 全局变量 235

4.3 “C”预处理程序 235

4.4 第一部分 236

4.4.1 第1组“.h”文件 236

4.4.2 汇编语言文件 237

4.4.3 在第一部分中的其他文件 237

4.5 第二部分 237

4.6 第三部分 238

4.7 第四部分 238

4.8 第五部分 239

第一部分 初始化、进程初始化 241

第5章 两个文件 241

5.1 文件malloc.c 241

5.1.1 列表维护规则 241

5.1.2 malloc(2528) 242

5.1.3 mfree(2556) 243

5.1.4 结论 244

5.2 文件prf.c 244

5.2.1 printf(2340) 244

5.2.2 printn(2369) 245

5.2.3 putchar(2386) 246

5.2.4 panic(2419) 247

5.2.5 prdev(2433)、deverror(2447) 247

5.3 包含的文件 247

第6章 系统初启 249

6.1 操作员的动作 249

6.2 start(0612) 249

6.3 main(1550) 251

6.4 进程 252

6.5 proc〔0〕的初始化 252

6.6 sched(1940) 253

6.7 sleep(2066) 253

6.8 swtch(2178) 253

6.9 再回到main 254

第7章 进程 256

7.1 进程映像 256

7.2 proc结构(0358) 257

7.3 user结构(0413) 257

7.4 每个进程数据区 258

7.5 段 258

7.6 映像的执行 258

7.7 核心态执行 259

7.8 用户态执行 259

7.9 一个实例 259

7.10 设置段寄存器 260

7.11 estabur(1650) 260

7.12 sureg(1739) 261

7.13 newproc(1826) 261

第8章 进程管理 263

8.1 进程切换 263

8.2 中断 263

8.3 程序交换 263

8.4 作业 264

8.5 汇编语言过程 264

8.6 savu(0725) 264

8.7 retu(0740) 264

8.8 aretu(0734) 264

8.9 swtch(2178) 265

8.10 setpri(2156) 265

8.11 sleep(2066) 266

8.12 wakeup(2133) 266

8.13 setrun(2134) 266

8.14 expand(2268) 267

8.15 再回到swtch 267

8.16 临界区 268

第二部分 陷入、中断、系统调用和进程管理 269

第9章 硬件中断和陷入 269

9.1 硬件中断 269

9.2 中断矢量 270

9.3 中断处理程序 270

9.4 优先级 270

9.5 中断优先级 271

9.6 中断处理程序的规则 271

9.7 陷入 272

9.8 汇编语言trap 272

9.9 返回 273

第10章 汇编语言“trap”例程 274

10.1 陷入和中断源 274

10.2 fuibyte(0814)与fuiword(0844) 274

10.3 中断 275

10.4 call(0776) 275

10.5 用户程序陷入 276

10.6 核心态栈 277

第11章 时钟中断 279

11.1 clock(3725) 279

11.2 timeout(3845) 281

第12章 陷入与系统调用 282

12.1 trap(2693) 282

12.2 核心态陷入 282

12.3 用户态陷入 283

12.4 系统调用 284

12.5 系统调用处理程序 285

12.6 文件sysl.c 285

12.6.1 exec(3020) 285

12.6.2 fork(3322) 286

12.6.3 sbreak(3354) 286

12.7 文件sys2.c和sys3.c 287

12.8 文件sys4.c 287

第13章 软件中断 288

13.1 设置期望动作 288

13.2 对进程造成中断 288

13.3 作用 289

13.4 跟踪 289

13.5 过程 289

13.5.1 期望动作的设置 289

13.5.2 造成软件中断 289

13.5.3 作用 289

13.5.4 跟踪 290

13.6 ssig(3614) 290

13.7 kill(3630) 290

13.8 signal(3949) 290

13.9 psignal(3963) 291

13.10 issig(3991) 291

13.11 psig(4043) 291

13.13 grow(4136) 292

13.14 exit(3219) 292

13.15 rexit(3205) 293

13.16 wait(3270) 293

13.17 跟踪 293

13.18 stop(4016) 294

13.19 wait(3270)(继续) 294

13.20 ptrace(4164) 295

13.21 procxmt(4204) 295

第三部分 程序交换、基本输入/输出、块设备 297

第14章 程序交换 297

14.1 正文段 297

14.2 sched(1940) 298

14.3 xswap(4368) 299

14.4 xalloc(4433) 299

14.5 xfree(4398) 300

第15章 基本输入/输出介绍 301

15.1 buf.h文件 301

15.2 devtab(4551) 301

15.3 conf.h文件 301

15.4 conf.c文件 302

15.5 系统生成 302

15.6 swap(5196) 302

15.7 竞态条件 303

15.8 可重入 304

15.9 继续分析“u.u_ssav” 304

第16章 RK磁盘驱动器 305

16.1 控制状态寄存器RKCS 306

16.2 字计数寄存器RKWC 306

16.3 磁盘地址寄存器RKDA 306

16.4 rk.c文件 306

16.5 rkstrategy(5389) 306

16.6 rkaddr(5420) 307

16.7 devstart(5096) 307

16.8 rkintr(5451) 307

16.9 iodone(5018) 308

第17章 缓存处理 309

17.1 标志 309

17.2 一个类超高速缓存存储 309

17.3 clrbuf(5038) 309

17.4 incore(4899) 310

17.5 getblk(4921) 310

17.6 brelse(4769) 310

17.7 binit(5055) 311

17.8 bread(4854) 312

17.9 breada(4773) 312

17.10 bwrite(4809) 312

17.11 bawrite(4856) 313

17.12 bdwrite(4836) 313

17.13 bflush(5229) 313

17.14 physio(5259) 313

第四部分 文件和目录、文件系统、管道 315

第18章 文件存取和控制 315

18.1 源代码第四部分 315

18.2 文件特征 315

18.3 系统调用 316

18.4 控制表 316

18.4.1 file(5507) 316

18.4.2 inode(5659) 316

18.5 要求专用的资源 317

18.6 打开一个文件 317

18.7 creat(5781) 317

18.8 open1(5804) 317

18.9 open(5763) 318

18.10 再回到open1 318

18.11 close(5846) 318

18.12 closef(6643) 319

18.13 iput(7344) 319

18.14 删除文件 319

18.15 读和写文件 319

18.16 rdwr(5731) 320

18.17 readi(6221) 321

18.18 writei(6276) 322

18.19 iomove(6364) 322

18.20 bmap(6415) 322

18.21 剩余部分 322

第19章 文件目录和目录文件 323

19.1 文件名 323

19.2 目录数据结构 323

19.3 目录文件 323

19.4 namei(7518) 324

19.5 一些注释 325

19.6 link(5909) 326

19.7 wdir(7477) 327

19.8 maknode(7455) 327

19.9 unlink(3510) 327

19.10 mknod(5952) 327

19.11 access(6746) 328

第20章 文件系统 329

20.1 超级块(5561) 329

20.2 mount表(0272) 329

20.3 iinit(6922) 330

20.4 安装 330

20.5 smount(6086) 330

20.6 注释 331

20.7 iget(7276) 331

20.8 getfs(7167) 332

20.9 update(7201) 332

20.10 sumount(6144) 333

20.11 资源分配 333

20.12 alloc(6956) 334

20.13 itrunc(7414) 334

20.14 free(7000) 335

20.15 iput(7344) 335

20.16 ifree(7134) 335

20.17 iupdat(7374) 335

第21章 管道 337

21.1 pipe(7723) 337

21.2 readp(7758) 337

21.3 writep(7805) 338

21.4 plock(7862) 338

21.5 prele(7882) 338

第五部分 面向字符的特殊文件 339

第22章 面向字符的特殊文件 339

22.1 LP11行式打印机驱动程序 339

22.2 lpopen(8850) 340

22.3 注释 340

22.4 lpoutput(8986) 340

22.5 lpstart(8967) 341

22.6 lpint(8976) 341

22.7 lpwrite(8870) 342

22.8 lpclose(8863) 342

22.9 讨论 342

22.10 lpcanon(8879) 342

22.11 对读者的建议 343

22.12 PC11纸带阅读机/穿孔机驱动程序 344

第23章 字符处理 345

23.1 cinit(8234) 346

23.2 getc(0930) 346

23.3 putc(0967) 347

23.4 字符集 347

23.5 图形字符 348

23.6 UNIX惯例 349

23.7 maptab(8117) 349

23.8 partab(7947) 349

第24章 交互式终端 351

24.1 接口 351

24.2 tty结构(7926) 351

24.3 注释 352

24.4 初始化 352

24.5 stty(8183) 352

24.6 sgtty(8201) 353

24.7 klsgtty(8090) 353

24.8 ttystty(8577) 353

24.9 DLL11/KL11终端设备处理程序 353

24.10 设备寄存器 354

24.11 接收器状态寄存器 354

24.12 接收器数据缓存寄存器 354

24.13 发送器状态寄存器 354

24.14 发送器数据缓存寄存器 354

24.15 单总线地址 354

24.16 软件方面的考虑 355

24.17 中断矢量地址 355

24.18 源代码 355

24.19 klopen(8023) 355

24.20 klclose(8055) 356

24.21 klxint(8070) 356

24.22 klrint(8078) 356

第25章 tty.c文件 357

25.1 flushtty(8252) 357

25.2 wflushtty(8217) 357

25.3 字符输入 358

25.3.1 ttread(8535) 358

25.3.2 canon(8274) 358

25.3.3 前一个字符不是“” 358

25.3.4 前一个字符是“” 358

25.3.5 字符准备 359

25.3.6 已得到1行 359

25.3.7 注释 359

25.3.8 ttyinput(8333) 359

25.4 字符输出 360

25.4.1 ttwrite(8550) 360

25.4.2 ttstart(8505) 360

25.4.3 ttrstrt(8486) 360

25.4.4 ttyoutput(8373) 360

25.4.5 具有受限字符集的终端 361

25.5 结束语 362

第26章 练习 363

罗斯跋 366

奥德尔跋 368

古德哈特跋 370

克林森跋 372

雷杰斯跋 375

作者小传 377

精品推荐