谨将我们的工作献给 即将毕业离校的兄弟们 林晓鑫 刘德超 黄巍 周蓝珺 胡禹轩 王新喜 何春晓 崔剑 李浩 以及 潘海东即将出世的小 Baby! II

Size: px
Start display at page:

Download "谨将我们的工作献给 即将毕业离校的兄弟们 林晓鑫 刘德超 黄巍 周蓝珺 胡禹轩 王新喜 何春晓 崔剑 李浩 以及 潘海东即将出世的小 Baby! II"

Transcription

1

2 谨将我们的工作献给 即将毕业离校的兄弟们 林晓鑫 刘德超 黄巍 周蓝珺 胡禹轩 王新喜 何春晓 崔剑 李浩 以及 潘海东即将出世的小 Baby! II

3 0 译者序 Linux System Prorgramming ( LSP) 的 文 工作 实 工业 IBM 理 的 工作的同 的 同 们 林晓鑫 王 崔 春 何春晓 李 的 SMS@lilacbbs.com 文献 的 王 刘文 王 刘德超 王新喜 同 校工作 的 校 工业 文 TeX 作 的 工作 李 的 工作 LSP 文 进 内 布 原 IBM ( 工程 ) 晓 ( SUN ) 的 们 的业 时间对 进 的 校 提出 的 们的 的同 们 示 程 Harbin Linux User Group 的, 们 示 程方 的 工作以 的 的 存 何 方式 我们 : Website : Twitter : cliffwoo@gmail.com 或 cliffwoo@footoo.org Google Groups : 工业 III

4 0 版权声明 Linux System Programming 文 的 工作 工业 IBM 的 文 程的, 业 Linux System Prorgramming 的 作 及原出 文 程的 原 作 及出 的出 作 的 IV

5 目 录 译者序 版权声明 第 1 章 简介和主要概念 程 调 调 调 C C API ABI API ABI POSIX SUS 的 C Linux Linux 程 文件 文件 文件 文件 文件 空间 进程 程 进程 进程间 文件 处理 程 III IV V

6 第 2 章 文件 I/O 文件 open() 调 新文件 新文件 creat() read() 读 文件 读 的 读 read() 小 write() 写 写 式 写 write() 小 write() 的 同步 I/O fsync() fdatasync() sync() O SYNC O DSYNC O RSYNC I/O 文件 lseek() 文件 进 读写 文件 I/O select() poll() poll() select() VI

7 2.11 内 内 文件 页 存 页 写 第 3 章 缓冲输入输出 I/O 小 I/O 文件 文件 式 文件 文件 的 读 单 读 的读 读 读 进 文件 写 对 的 写 单 写 写 进 I/O 示 程 文件 的文件 程 文件 操作 对 I/O 的 VII

8 第 4 章高级文件 I/O 散布 / 聚集 I/O readv() writev() Event Poll 新的 epoll 实 epoll Epoll 件 件 件 存 映射 mmap() munmap() 存 映射 子 mmap() 的 mmap() 的 调 映射的 小 映射 的 映射 同步文件 映射提示 文件 I/O 提示 posix fadvise() readahead() 调 实 的操作提示 同步 (Synchronized) 同步 (Synchronous) 及异步 ( Asynchronous) 操作 异步 I/O I/O 调 I/O 性能 调 的 能 进读 的 I/O 调 I/O 性能 第 5 章进程管理 进程 ID 进程 ID 进程 pid t 进程 ID 进程的 ID 新进程 exec 调 fork() 调 VIII

9 5.3 进程 进程的方式 atexit() on exit( ) SIGCHLD 的子进程 进程 子进程的方 BSD 的 wait3() wait4() 新进程 进程 实 ( )ID 效 ( )ID 存设 的 ( )ID 实 ( )ID 存设 的 ( )ID 效 ID BSD ID ID 的方式 HP-UX ID ID 的方式 操作 ID ID 的 方 对 存设 的 ID 的 ID ID 进程 相 的 调 进程 相 的 调 的进程 进程 第 6 章高级进程管理 进程调 O 时间 I/O 进程 Vs. 处理 进程 调 程 出处理 理 出处理 方 的 进程 nice() getpriority() setpriority() I/O IX

10 6.4 处理 sched getaffinity() sched setaffinity() 实时 实时 时 Linux 的实时 Linux 调 设 调 sched rr get interval() 实时进程的 提 性 设 第 7 章文件与目录管理 文件及 stat 扩展属性 工作 读 内 文件 设备 设备 文件 件 inotify X

11 7.7.3 inotify 件 inotify 件 小 inotify 实 第 8 章内存管理 进程 空间 页 页 调 存 内存 调 内存 小 内存的 对 段的 理 存 映射 存 映射 映射 /dev/zero 存 malloc usable size() malloc trim() 进 调 调 内存 的 的 的内存 存 操作 设 内存 空间 空间 内存 的 页 理内存 性存 超 内存 XI

12 第 9 章信号 Linux 的 理 子 映射 子 给自 给 进程 的 集 更 的 集 处理 集 理 siginfo t si code 的 世 的 子 第 10 章时间 时间的 原 示 时间 进程时间 POSIX 时 时间 时间 更 的 进程时间 XII

13 10.5 设 时间 时 设 时间的 时间 调校 时 Linux 的实时 实 的 方 sleep 的 实 超 时 单的 间 时 时 设 时 附录 A GCC 对 C 语言的扩展 A.1 GNU C A.2 内 A.3 内 A A A.6 的 A.7 内存的 A.8 调 A.9 将 deprecated A.10 将 used A.11 将 或 unused A.12 将 进 (pack A.13 的内存对 A.14 将 存 A A.16 式的 A.17 的内存对 A.18 的 A A.20 Case A.21void 的 操作 A.22 更 更 的 性 XIII

14 附录 B 参考书目 B.1 C 程 设 的相 B.2 Linux 程的相 B.3 Linux 内 的相 B.4 操作 设 的相 XIV

15 1 第 1 章 简介和主要概念 的 程的 将 写 件的相 件 的 内 进 的 件 shell 文 调 工 ( : 即 GNU Core Utilities, GNU 的 工 集 我们 的 ) 进程 程 内 C 以 件 件 ( (high-level)gui 程 更 的 们 程 的时间 写 件 理 程 程 作 的 更 的 程 我们 写的 件的 的 Linux 上的 程的 Linux Linus Torvalds 内 散的 写的 Unix 操作 Linux Unix 同的 理 Linux Unix Linux 自 的原 方方 的 实 能的 的 Linux 程的 内 何 的 Unix 的 然 内 Linux 相 的 Unix 自 出的 Linux 的新 的 调 同的 新 性 1.1 系统编程 的 的 Unix 程 程 上 Unix 的 X Window 上进 工作时 我们 的 Unix API 以 上 Linux 程 设 的 然 程 的 何 make 的 Linux 上 的 程的 API 们 程 程相 们 同 同 程 出的 程 对 工作的 的 件 操作 的 然 们 调 上的 写的 的 上 上 相 的内 的 1

16 1 程 程 程 ( 或 相 ), 件 的 离 的 程的 然 的 的方 式的 程 同 我们 web 件 ( Javascript PHP ( C# 或 Java 程 离 程 更 的 展 然 展 示 程的 实 上 写 Javascript C# 程 更进 步 PHP Java 程 然 以 程 同 理 内 的 能 何 写出更 的 程的 展 的 Unix Linux 的程 然 程 C C 内 提 的 的 程 Apache bash cp Emacs init gcc gdb glibc ls mv vim X 时的 程的 内 或 设备 的内 程的 将 内 将 内 上的内 ( 内 对 空间 程 同 程 以及相 的内 展 设备 程 程 的 我 Linux 上 写 程 内 C 提 我 何 Linux 设 小 相 Unix Linux 提 的 调 们 何工作的 将 的 程 调 C C 的 系统调用 程 调 调 ( 写 syscalls 操作 或 空间 文 内 ( 的 的 调 调 我们 的 read() write() 的 get thread area() set tid address() Linux 实 的 调 操作 i386 2

17 1 的 调 300 相 的 Windows 上 Linux 的内 ( Alpha i386 PowerPC) 实 自的 调 同 间的 调 存 的 然 90% 以上 调 的 上 实 上 的 的内 调用系统调用 空间 程 能 内 的 空间程 内 的 或 操作内 相 内 提 空间程 能 内 调 调 程 能 内 内 的 同的 相同 i386 上 空间程 0x80 的 int 将 内 的 内 处理 的 0x80 的处理 的 调 处理 程 存 内 调 调 0 i386 上 调 5( open() 空间程 int 将 5 写 eax 存 的方式进 处理 以 i386 存 能的 存 ebx ecx edx esi edi 存 5 对 的超 5 的 调 的 存 空间 存 的 存 即 然 调 的 处理 调 的方式 同 的 的 作 程 内 处理 调 的 内 的 调 的 C 自 处理 C 库 C (libc Unix 程 的 的 C 的 的 提 或 方 的 调 的 Linux C GNU libc 提 glibc [gee-lib-see] 或 更 [glib-see]. GNU C 提 超 展示的内 的 C glibc 提 3

18 1 调 程 工 C 编译器 Linux 的 C GNU 工 集 (gcc 原 gcc GNU 的 cc C GCC 示 GNU C Compiler 的 进 时 gcc GNU 的 然 gcc 调 C 我 gcc 的时 上 文 的 gcc 程 实 C ( C ) 的 ABI( APIs ABIs ) Unix ( Linux ) 的 程的 1.2 API 和 ABI 将 程 们 们写的程 以 提 的 上 们 们自 的 Linux 上 的程 能 的 Linux 同时 以 Linux 的 更新的 Linux 上 性的 相 的 集 程 (API 程 进 (ABI 件 同 间的 API API 件 间 的 提 ( 以 的方式 ) 的方式进 : 程 段 ( 的 以调 程 段 ( 上 示文 的 API 能 对 示文 提 的 API 我们 的 API 实 对 API 的实 们 API 理 的 上 API API 的 ( 件 ) 给 API 的 实 提 何实 内 能 的 子 或 或 API 的 件 同 的 API 时 API API 的实 上能 4

19 1 实 的 子 API C C 实 API 的 处理 我们 及 API 的 IO Linux 程 的 API 将 的 ABI API ABI 的 的 上 或 件 间的 进 何 自 何 内 以及 进 ABI 进 段 能 何 同 ABI 的 上 作 新 ABI 的 调 存 调 进 式 以调 何 调 何 存 以及调 何提 的 同的操作 ( i386 上的 Unix 操作 的 ABI 然 效 相 Linux 内的操作 自 的 ABI ABI 相 的 ABI 及 的 的 存 或 Linux 自 的 ABI 集 实上 我们以 的 ABI alpha x86-64 程 ABI 的 ABI 上的 工 (tooltrain ABI 的相 内 以 写出更 的 写 或 工 时的绝 ( 实 程 我们 以 上 Linux 上 的工 内 实 的 ABI 1.3 标准 Unix 程 的 Unix 程 Unix 的 性 的世 将 方 5

20 1 的 上 Linux 们 Linux 的 POSIX Single Unix Specification(SUS) 内 POSIX SUS Unix 操作 上的 C API 们 效的 的 Unix 程 出 的 API 集 POSIX 和 SUS 的历史 1980 子工程 (IEEE Unix 的 的相 工作 自 件 (Free Software Movement 的 Richard Stallman POSIX ( pahz-icks Portable Operating System Interface( 操作 1988 IEEE std ( POSIX IEEE POSIX IEEE std (POSIX1990 性的实时 程 IEEE Std b-1993 (POSIX 1993 or POSIX.1b) IEEE Std c-1995(POSIX 1995 or POSIX.1c) 式 文 2001 性 POSIX1990 的 上 单 的 IEEE Std (POSIX 2001) 新的 IEEE Std 布 的 POSIX POSIX.1 以 2004 新 Unix 的 Unix 处 的将 自的 Unix Unix 的 Unix Open Software Foundation(OSF X/Open 工业 -The Open Group The Open Group 提 1990 Unix 的时 The Open Group 布 单 UNIX (Single UNIX Specification SUS 相 的 POSIX SUS 的 SUS 新的 POSIX 的 SUS 布 1994 SUSv1 的 Unix 95. 的 SUS 布 1997 相 的 UNIX 98. 的 SUS 新的 SUS,SUSv3 布 2002 的 Unix 03.SUSv3 IEEE Std 我将 POSIX 的 调 提及 我将提及 POSIX SUS ( SUS POSIX.1 的 超集 6

21 1 的 扩展 的 POSIX.1 提 的 能 APUE S C 语言标准 Dennis Ritchie Brian Kernighan 的 作 C 程 设 (Prentice Hall) 自 1978 出 式的 C 的 的 C K&R C C 的 Basic 程的 对 时 相 的 进 (ANSI 1983 方 的 C 进 新的 性 同时 C++ 的 程 ANSI C (ISO ANSI C 进 ISO C ISO 布 新 ( 然 ISO C 的 ISO C99 更新 的内 进 新的 inline 新 C++ 新的 Linux 和标准 Linux POSIX 以及 SUS 提 SUSv3 POSIX.1 的 的实时 (POSIX.1b) 程 (POSIX.1c) 更 的 Linux 提 POSIX SUS 的 满 的 即 bug Linux POSIX.1 SUSv3 实 的 POSIX 或 SUS 方 ( Linux 的 以我 式 布 Linux POSIX 或 SUS 的 Linux gcc C ISO C99 gcc 提 C 的扩展 扩展 GNU C 相 Linux 的 的 子 C 的 将 的 进 以 的 glibc gcc 扩展 对 新的 gcc 布 C gcc 将 的 的 C 程 的 Linux 内 调 的 调 Linux 内 的 上实 同的 Linux 布 Linux (LSB LSB Linux ( 自 [Free Standard Group]) 7

22 1 的 LSB 扩展 POSIX SUS 自 的 提 进 即 的 上 Linux 程 上 LSB 本书和标准 何 的空 时 Unix 程 对 同 的 的 进 给 的 调 上实 进 及 新 的 2.6 内 gcc 4.2 C (2.5 的 Linux 上的进 程的相 的 (Linux 内 小 处理 以 调 ) 同时 提 程 上 进 的 性 方式 我们 Linux 的时 Unix 的 性 将 的 Linux 上 以 的 将 的 Linux Linux 的相 gcc 内 的实 我们 以 业 的实 能 1.4 Linux 编程概念 展 Linux 提 的 的 的 Unix Linux 提 同的 集 实上 同 Unix 对文件 进程的 理的 Unix 的 内 Linux 以 shell 单的 C 程 Linux 的 Linux 程 的内 进 Linux 程的 的 文件和文件系统文件 Linux 的 Linux 文件的理 ( 然 Plan9 的 工作 读 写 文件 的 的文件 文件 能 文件 以以 读方式或 写方式 或 的文件 的文件 进 8

23 1 文件的 的映射 Linux 内 文件 示 (C 的 int 写 fd 文件 空间 程 文件 文件 的 Linux 程 对文件 的 操作 普通文件我们 的文件 Linux 的 文件 文件 以 性 方式 的 Linux 文件 更进 步的 或 式 以 何 以以 何方式 文件 Linux 文件 的 操作 VMS 提 的文件 的 Linux 的处理 文件 的 何 以 读或 写 操作 的 文件 的 的 文件 或 文件 文件 内 的文件 的 的 文件 时 0 对文件的读写操作 ( 进 ) 文件的 文件的 以 工 超 文件的 超 文件 写 将 间的 0 以 的方式 文件的 写 文件的 写 上 实 上 处 文件 0 能 文件 间写 将 上的 间写 内 扩展文件 的 文件写操作 文件的 文件 的 存 的 C 的 小 新的 的 Linux 上 64 文件的 小 文件 文件 文件的 性 的 文件的 以 (truncation 文件 以 文件 小的文件 的 操作 文件 以 原 更 的文件 文件以 0 进 ( 文件的 文件 以 空 ( 0 何 文件 同文件 的 Linux 内 理文件的 C 的 小 然 的文件 能 自 的 将 更小的 9

24 1 同 文件能 同或 相同的进程 文件的实 提 的文件 进程能 文件 同 进程 内 对 文件 何 同的进程能 同时对同 文件进 读写 的 操作的 的 空间程 调 们自 的 以 文件 以同步 文件 文件 进 实上 对 文件 文件 相 文件 inode( inode 的 进 inode (inode number) 写 i-number 或 ino inode 存 文件 的 的 时间 以及文件的 的 文件 inode Unix 文件 上实 理对 Linux 内 的 的 实 目录和链接 inode 文件 然 的 ( 的 们 文件 文件 提 文件时 的 的 将 读的 inode 进 映射 inode 的 对 (link 映射 理 上的 式 以 单的 或 何 式 映射 内 对 的文件 实 理 上 以 何 的文件 的 同 存 inode 的映射 内 映射将文件 inode 空间 的文件时 内 文件 的 然 文件 内 文件 inode 然 inode 对 的 inode inode 文件相 的 文件 上的存 上 / 我们 的 上 内 给 的文件 同 文件相 实上 们 的 inode 内的 能 的 的 inode 以 的 Unix 的 文件 /home/blackbeard/landscaping.txt. 内 的 时 上的 (directory 10

25 1 entry 内 dentry 的 inode 的 子 内 / home 的 inode 然 blackbeard 的 inode 进 landscaping.txt 的 inode 操作 程 或 内 存 ( dentry cache 存 的 提 时间 性 时间 性 我们将 的 (fully qualified 的 绝对 的 相 们 相对 ( todo/plunder) 相对 相对 时 内 的工作 进 工作 内 todo 内 plunder 的 inode 然 以 的文件 内 操作 文件 操作 们 相 们 的 调 操作 们 调 进 操作 空间 内 的 理 进 操作 单的 能 文件 硬链接 上 何内 及 同 inode 上 实上 以的 我们 将 同 映射 同 indoe 的 的文件 相同的 以 同 以 同的 内 以将 的 上 /home/bluebeard/map.txt /home/blackbeard/treasure.txt 以 的 inode 上 的 文件将 unlink 操作 操作将文件 inode 的映射 然 Linux 文件 能 unlink 操作 inode 以及 的 文件 的 方存? 文件 的 文件 inode (link count) 文件 文件的 将 1 0 的时 inode 的 真的 文件 11

26 符号链接 inode 自 文件 何 以 能 文件 文件 Unix 实 ( symlinks 上 文件 symlink 自 的 inode 文件 的 以 何 方 同文件 上的文件 存 的文件 存 文件的 相 更 效的 文件 的文件 的 或 进 文件 的文件 何 的 的 然 的 相 的 性 的 实 操作 出 文件 操作 的 调 作 文件 的 方式 文件 内 时 性的 的 特殊文件 文件 以文件方式 示的内 对 以 Unix 同的 文件 Linux 的 文件 设备文件 设备文件 Unix 文件 将 文件 的 方 文件理 的实 Linux 提 文件的 调 对 Unix 的设备进 设备文件 实 设备文件的 文件 的 文件 设备文件 以 读 写 以 空间程 操作 上的 ( 理 的 设备 Unix 的设备 设备 设备 设备 自 的 设备文件 设备 同 性 设备 程 将 写 空间程 写 的 进 读 的 设备 peg 程 将 设备 读 p 然 e g 更 的 读 时 设备 end-of-file(eof 读 或 以 何 的 读 设备 设备文件 (character 12

27 1 device file) 进 相 设备 同 以 的方式进 设备 将 映射 的设备上 空间 以自 的以 何 的 何 以读 12 7 然 读 12 设备 存 设备 CD-ROM 存 的 设备 们 设备文件 (block device files) 进 ( FIFOs 进 出 的 以文件 的进程间 (IPC) 文件进 将 程 的 出以 的方式 给 程 程 的 们 调 内存 何文件 存 文件进 FIFO 文件 相 的进程 以 文件 进 的 文件 进程间 的 式 同进程进 同 同 以 实上 程的 们 出 Unix 进 的 式 相 上的 对 的 Unix 文件 上的 文件进 文件 文件 文件系统和名字空间 同 的 Unix Linux 提 的文件 的 空间 操作 将 的 空间 上的文件 能 A:\plank.jpg 文件 进 C:\ Unix 同 上的文件 /media/floppy/plank.jpg 或 /home/captain/stuff/- plank.jpg 的文件 同 空间 的 Unix 的 空间 的 文件 以 的文件 的集 文件 能 的文件 的 空间 的 操作 (mounting (unmounting) 文件 空间 的 文件 的 以 CD /media/cdrom 然 以 CD 上的文件 的 的文件 空间的 / 文件 Linux 13

28 1 文件 的 的文件 文件 存 理 上的 ( 存 上 同时 Linux 存 内存上的 文件 的 文件 理文件 存 CD 存或 存 设备 设备 的 们 以 操作的文件 Linux 的文件 ( 的文件 ) 文件 (media-specific filesystems ( ISO9660 文件 (NFS 原 文件 (ext3 Unix 的文件 (XFS 以及 Unix 文件 (FAT 设备 小 单 设备的 理单 2 的 512 设备 或 更小的 单 的 I/O 操作 或 上 同 文件 小的 单 文件 的 对 理 的 2 的 小的 的 小 小 页的 小 ( 小 的内存 理单 件 件 小 512B 1KB 4KB 的 Unix 单 空间 上 的进程 Linux 进程 的 空间 进程 文件 的 子进程 进程的 空间 进程 以 的 自 的 空间 进程 文件 Unix 的 进程 文件 进程 的 的 存的 的程 进程 以及 的 进程 周 内 能 的 式 (Linux 的 式 ELF 以 式 段 段 性内存 的 性 段内的 将 同 相同的 同 的 的 14

29 1 的段 段 段 bss 段 段 读 读 段 的 的 C 读写的 bss 段 的 C C 的 0 上的 存 0 相 以 单的 bss 段 的 内 将映射 0 页 ( 0 的内存页 进内存的段 性能 们设 bss 段 block started by symbol 或 block storage segment 的 写 ELF 的 段 绝对 段 (absolut section ( 段 ( 进程 内 理的 进程 的 操作 能 调 时 文件 件 进程 进程的 进程相 的 存 内 进程的进程 进程 的 Linux 内 式 内存 给进程提 处理 内存的 进程的 进程 给 的进程 的进程 调 将 的 新进 进程调 将 的处理 进程 进程 的 进程 的 性 空间 内存 内存 页调 内 进程 存 上 进程操作 自 的 空间 内 处理 的 件 理 操作 能 理 的进程 线程 进程 或 程 ( 程 程 进程 的 单 程 进程的 进程 程 们 单 程的 (single-thread 程的进程 程的 (multithreaded 上 Unix 进程 时间 的进程 对 程的 以 Unix 程 单 程 程 ( 同 程 上的进程 存 ) 处理 的 ( 处理 的 进程 的 15

30 1 程 Linux 内 实 的 程 们 然 的 ( 空间 进程 空间 Linux POSIX1003.1c 实 程 (pthread Linux 程实 的 Native POSIX Threading Library(NPTL glibc 的 进程体系 进程 的 即进程 ID(pid 进程的 pid 1 进程 新的 的 pid Linux 进程 的 的进程 进程 以 进程 init 进程 ( init(8 程 ) 新进程 fork( 调 fork( 调 进程 原进程 进程 新进程 子进程 进程 进程 进程 进程 子进程 内 将 init 进程 的 进程 进程 即 相 内 将 内存 存进程的 内 进程 进程 的 进程 进程 的 的子进程 子进程 的 进程 进程 的 进程 (zombie) init 进程 的子进程 的子进程 处 用户和组 Linux 进 的 ID(uid 进程 ID 进程的 进程的真实 uid(real uid) Linux 内 uid 的 id 自 或 们对 的 id 存 /etc/passwd 程将 映射 相 的 uid 上 的 程 login(1) 程 提 提 的 login(1) 程 将 /etc/passwd shell(login shell) 将 id 作 进程的 uid 子进程 进程的 uid uid 0 超 root 的 id 超 何 的 root 进程的 uid login(1) 的 超 理 真实 UID(real uid) 进程 效 UID(effective uid) 16

31 1 uid(saved uid) 文件 uid(filesystem uid) 真实 UID(real uid) 进程的 效 UID(effective uid) 以 进程 的 uid(saved uid) 存原 的 效 UID(effective uid) 的 将 效 UID(effective uid) 文件 uid 效 UID(effective uid) 相 文件 的 属 或 /etc/passwd 的 (primary group 或 (login group 能 /etc/group 进程 ID(gid) 真实 gid(real gid) 效 gid(effective gid) gid(saved gid) 以及文件 gid(filesystem gid) 进程 进程 满 时 能进 操作 的 Unix 的原 单 uid 0 的进程 以 的 的进程 Linux 更 效率的 的 单的 方式 内 进 更 的 设 权限 Linux 上的 文件 Unix 文件 属 以及 集 属 以及 对文件进 读 写 的 对 9 文件 存 文件的 indoe 对 文件 然的 们 读文件 写文件 文件的 然 文件实 读 写的内 文件自 文件上的读 写 文件的 文件上 的读 的内 出 写 新的 进 1-1 出 9 们的 8 进 ( 的 9 示方式 文 ( ls 示的 对 的 1-1 Bit Octal value Text value Corresponding permission r Owner may read w Owner may write x Owner may execute 17

32 r----- Group may read w---- Group may write x--- Group may execute r-- Everyone else may read w- Everyone else may write x Everyone else may execute Unix 的 Linux (ACLs ACLs 更 及 理 性 存 的 信号 单 异步 能 内 进程 能 进程 进程 或 进程给自 进程 件 段 或 Ctrl+C Linux 内 实 30 ( 实 的 文 示 SIGHUP 示 i386 上的 1. SIGKILL( 进程 SIGSTOP( 进程 进程能 的 进 们 以 的 处理操作 能 进程 内存 (coredump 进程 或 的操作 进程 以 式的 或 处理 将 处理 处理 将 写的 处理 程 将 时 处理 处理程 将 程 给原 的程 的 处 进程间通讯 进程 的 件 操作 的工作 Linux 内 实 的 Unix 的进程间 (IPC System V POSIX 同 的 以及 Linux 自 的 Linux 的进程间 内存 空间 (Futexes 18

33 头文件 Linux 程离 的 文件 内 glibc 程提 文件 文件 C (,<string.h> 以及 Unix 的 献 ( <unistd.h> 错误处理 处理 的 程 的 示 的 errno glibc 对 调 的 errno 提 提及的 的 ( -1 调 的 调 提 的原 errno 的原 <errno.h> extern int errno; erron 的 errno 设 示 ( -1 时间 效, 何 的 以 errno 以 读写 的 (lvalue errno 的 的文 对 处理 #define 同 将 errno 映射 相 的 上 处理 EACCESS 1 示 1-2 上 相 的文 19

34 1 Preprocessor define Description E2BIG EACCESS EAGAIN EBADF EBUSY ECHILD EDOM EEXIST EFAULT EFBIG EINTR EINVAL EIO EISDIR EMFILE EMLINK ENFILE ENODEV ENOENT ENOEXEC ENOMEM ENOSPC ENOTDIR ENOTTY ENXIO EPERM EPIPE ERANGE EROFS ESPIPE ESRCH ETXTBSY EXDEV 20 文件 设备或 子进程 内文件 存 文件 调 效 I/O 文件 文件 出 设备 文件或 式 内存 设备 空间 理 I/O 操作 设备或 操作 读文件 进程文 文件 文件

35 1 C 提 将 errno 对 的文 时 的 处理 操作 以 处理 errno 进 处理 的 perror(): #include <stdio.h> void perror(const char *str); stderr( 出 出以 str 的 间 然 errno 的 的 出 更 的 的 if (close (fd) == -1) perror ( close ); C 提 streeor() strerror r(), 原 #include <string.h> char * strerror (int errnum); #include <string.h> int strerror_r(int errnum, char *buf, size_t len); errnum 的 的 能 程 以 的 perror() streeror() 方 程 (thread-safe) 的 strerror r() 程 的 buf 的 len 的 写 streeror r() 时 0 时 -1 的 时设 errno 对 的 内的 的 errno 调 设 0 调 进 ( 真 时 0 errno = 0; arg = strtoul (buf, NULL, 0); 21

36 1 if (errno) perror ( strtoul ); errno 时 的 调 以 errno 以 的 if (fsync (fd) == -1) { printf (stderr, fsync failed!\n ); if (errno == EIO) fprintf (stderr, I/O error on %d!\n, fd); } 调 errno 的 存 if (fsync (fd) == -1) { int err = errno; fprintf (stderr, fsync failed: \n, strerror (errno)); if (err == EIO) { /* if the error is I/O-related, jump ship */ fprintf (stderr, I/O error on %d!\n, fd); exit (EXIT_FAILURE); } } 的 单 程程 errno 然 程程 程 自 的 errno 程 的 1.5 开始系统编程 Linux 程的 展示 程 的 Linux 将 文件 I/O 然 读 写文件 然 Linux 实 文件相 的 文件 I/O 文件 的 然 的 上 的 时 进 真 的 程 们 22

37 2 文件 I/O 第 2 章 文件 I/O 文件读写的 操作 Unix 的 将 C 的 I/O 更 的 I/O 以文件 操作 文件 I/O 的 对文件进 读写操作 文件 内 进程 文件的 文件 (file table) 文件 (file descriptors)( 写作 fds 的 进 的 文件的 文件备 inode 内存 的 ( 文件 式 ) 空间 内 空间 文件 作 进程的 cookies 文件 文件 的操作 ( 读写 文件 作 子进程 进程的文件 文件 式 文件 的 进程 文件 的 ( 子进程 文件 进程的文件 然 将 的 以 子进程 进程 的文件 ( 程 文件 C 的 int 示 fd t 示 然 上 实 上 Unix 的 Linux 进程 文件 的上 文件 0 上 小 1 的上 1,024 以将 设 1,048,576 的文件 以 -1 示 能 文件 的 进程 的文件 进程 式的 们 文件 0 (stdin 文件 1 出 (stdout 文件 2 (stderr C 提 处理 STDIN FILENO STDOUT FILENO STDERR FILENO 以 对以上 的 的 文件 文件的 设备文件 以及 空间 FIFOs 文件的理 何 能读写的东 以 文件 23

38 2 文件 I/O 2.1 打开文件 的 文件的方 read() write() 调 文件能 open() 或 creat() 调 毕 close() 调 文件 open() 系统调用 open() 调 文件 文件 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open (const char *name, int flags); int open (const char *name, int flags, mode_t mode); open() 调 将 name 给出的文件 的文件 相 文件 设 零 文件 flags 给出的 open() 的 flags 参数 flags 以 O RDONLY O WRONLY 或 O RDWR 自 读 写 读写 式 文件 的 以 读方式 文件 /home/kidd/madagascar int fd; fd = open ( /home/kidd/madagascar, O_RDONLY); if (fd==-1) /* error */ 以 写 式 的文件 能 读 然 进程 的 能调 open() 调 对文件进 flags 以 以 或 进 或 以 文件 的 24

39 2 文件 I/O O APPEND 文件将以 式 写操作 文件 将 文件 即 进程 写操作 文件 进程 写操作 ( 的 式 ) O ASYNC 文件 写或 读时 ( SIGIO 能 文件 O CREAT name 的文件 存 时 将 内 文件 存 效 给出 O EXCL O DIRECT 文件 I/O( 的 I/O O DIRECTORY name open() 调 将 opendir() 内 O EXCL O CREAT 给出的时 name 给 的文件 存 open() 调 文件 时出 O LARGEFILE 给 文件 时将 64 2G 的文件 能 64 文件的 O NOCTTY 给出的 name 设备 ( /dev/tty), 将 进程的 即 进程 O NOFOLLOW name open() 调 文件 给出 的 调 name /etc/ship/- plank.txt plank.txt 调 然 etc 或 ship plank.txt 调 O NONBLOCK 以 文件将 式 open() 调 何 操作 进程 I/O (sleep) 能 FIFO O SYNC 文件 同步 I/O 写 写操作 的读操作 同步的 以 对读操作 POSIX O DSYNC O RSYNC Linux 上 O SYNC 同 ( 的 O SYNC 25

40 2 文件 I/O O TRUNC 文件存 文件 写 将文件的 0 对 FIFO 或 设备 文件 上 文件 写 以 O TRUNC O RDONLY 同时 的 int fd; fd = open ( /home/teach/pearl, O_WRONLY O_TRUNC); if (fd == -1) /* error */ 新文件所有者 新 文件 单的 文件 的 id 文件的进程的 效 id 将 文 件的进程的 id 文件 System V 的 (Linux 以 System V Linux 的处理方 然 的 BSD 自 的 : 文件的 上 的 id Linux 上 实 文件上 设 设 ID (setgid) Linux 的 将 Linux V 的 ( 新文件 进程的 ID BSD ( 新文件 上 id 真 的 chown() 调 设 文件 的 新文件权限 给出的 open() 调 方式 的 新文件 mode O CREAT 给出时 O CREAT 时 提 mode 的 以 O TRUNC O RDONLY 的 Linux (2.6 内 +GCC4.2) 将 同 O TRUNC 对 bsdgroups 或 sysvgroups 26

41 2 文件 I/O 文件 时 mode 提 新 文件的 文件时 以 以进 相 的操作 设 文件 读 文件 进 写操作 mode 的 Unix 集 进 0644( 以读写 能读 POSIX 对 实 的 同的 Unix 设 何自 的 上的 性 POSIX 以进 或操作的 以满 对 mode 的 S IRWXU 读写 S IRUSR 读 S IWUSR 写 S IXUSR S IRWXG 读写 S IRGRP 读 S IWGRP 写 S IXGRP S IRWXO 何 读写 S IROTH 何 读 S IWOTH 何 写 S IXOTH 何 实 上 写 的 mode 文件 的 ( 即 umask) 操作 的 umask 的 open() 给出的 mode 操作时 的 umask 022 将 mode (0666 & 022) 对 程 设 时 umask umask 对 的程 对新文件 时 的 子 的 对文件 file 进 写操作 文件 存 umask 022 将 0644 的文件 ( 即 mode 0664 存 的 0 int fd; 27

42 2 文件 I/O fd = open (file, O_WRONLY O_CREAT O_TRUNC, S_IWUSR S_IRUSR S_IWGRP S_IRGRP S_IROTH); if (fd == -1) /* error */ creat() 函数 O WRONLY O CREAT O TRUNC 以 调 实 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int creat (const char *name, mode_t mode); 的 的 e Ken Thompson Unix 的 设 Unix 的 的 creat() 调 int fd; fd = creat (file, 0644); if (fd == -1) /* error */ int fd; fd = open (file, O_WRONLY O_CREAT O_TRUNC, 0644); if (fd == -1) /* error */ 28

43 2 文件 I/O 即 以 空间上 单 creat() 的 能 Linux 上 creat() 调 int creat (const char *name, int mode) { return open (name, O_WRONLY O_CREAT O_TRUNC, mode); } open() 以 的 creat() 调 性 新 以 glibc 实 creat() 返回值和错误码 open() creat() 调 时 文件 时 -1 将 errno 设 的 ( errno 出 能的 处理文件 的 的 文件操作 处理, 的方式 提示 文件或 程 2.2 用 read() 读取文件 何 文件 我们 何读 的 我们将 写操作 的读 文件的 read() 调 调 POSIX.1 #include <unistd.h> ssize_t read (int fd, void *buf, size_t len); 调 fd 的文件的 读 len buf 时 将 写 buf 的 出 时 -1 设 errno fd 文 调 上 的 i386 creat() 调 Alpha 以 上 creat() 然 能 调 29

44 2 文件 I/O 件 将 的 读 的 文件 ( 设备文件 文件 读操作 单 的 子 fd 的文件 读 存 word 读 unsigned long 的 小 32 Linux 上 时 nr 存读 出 nr -1 unsigned long word; ssize_t nr; /* read a couple bytes into word from fd */ nr = read (fd, &word, sizeof (unsigned long)); if (nr == -1) /* error */ 的实 : 调 能 读 len 能 段 处理的 的 的 我们 何 进 返回值 len 小的 零 对 read() 的 出 能 的原 读 的 len 调 能 能 ( fd 的 调 read() 时 0 的 文件 时 read() 调 0, 文件 (EOF) 然 读 EOF ( -1 示文件 文件 效 何 读 然 调 读 len 读 调 将 ( 以读 ( 设文件 式 读 EOF 时 同 读 同的 EOF 的 文件 的 读操作 更 的 或 设备文件读 的时 30

45 2 文件 I/O 以 的 read() 调 读 何 -1( 0 能 EOF 设 errno EINTR 以 新提 读 对 read() 的调 实 能的 调 len 的 len 读 存 buf 调 零 小 len 的 读 的 存 buf 出 读 程 或 读 效 零 len 时 或 读 len EOF 进 读 ( 更新 buf len 的 将读 buf 的 空间 或 出 的原 调 0 EOF 以读 的 调 的 读 的 式 调 -1 errno 设 EINTR 示 读 以 新进 调 调 -1 errno 设 EAGAIN 示读 的 读 式 调 -1 errno 设 同 EINTR 或 EAGAIN 的 示 更 的 读入所有的字节 处理 的 读 len ( 读 EOF 单的 read() 的 的 件 ssize_t ret; while (len!= 0 && (ret = read (fd, buf, len))!= 0) { if (ret == -1) { if (errno == EINTR) 31

46 2 文件 I/O } } continue; perror ( read ); break; len -= ret; buf += ret; 段 处理 fd 的 文件 读 len buf 读 读 len 或 EOF 读 零 len len 读 buf 相 的 新调 read() 调 -1 errno EINTR 将 新调 更新 调 -1 errno 设 将调 perror() 读 的 的 bug 程 处理 读 的 非阻塞读 时 程 读 时 read() 调 相 们 读 时 调 即 I/O 的 进 I/O 操作 操作 文件时 文件 的 以 errno 的 :EAGAIN 的 给出的文件 (open() 给 O NONBLOCK; open() 的 flags 读 read() 调 -1 设 errno EAGAIN 进 I/O 时 EAGAIN 将 能 的 能 的 char buf[bufsiz]; ssize_t nr; start: nr = read (fd, buf, BUFSIZ); if (nr == -1) { 32

47 2 文件 I/O } if (errno == EINTR) goto start; /* oh shush */ if (errno == EAGAIN) /* resubmit later */ else /* error */ 处理 EAGAIN 时 goto start 能实 上 I/O 即 能 时间 相 更 的 的 其他错误码 的 示 程 或 ( 对 EIO read() 能的 errno [EBADF] 给出的文件 或 读方式 的 buf 调 进程的 空间内 EFAULT EINVAL 文件 对 的对 读 EIO I/O read() 大小限制 size t ssize t POSIX size t 存 小 的 ssize t 的 size t ( 示 32 上 对 的 C unsigned int int ssize t 的 小 给 size t 的 作出 size t 的 SIZE MAX ssize t 的 SSIZE MAX len SSIZE MAX read() 调 的 的 Linux 上 SSIZE MAX LONG MAX 32 上即 0x7fffffff 对 读 的读 作 的读 方式 能 33

48 2 文件 I/O if (len > SSIZE_MAX) len = SSIZE_MAX; len 零的 read() 调 的 即 用 write() 来写 的写文件的 调 write() write() read() 相对 POSIX.1 #include <unistd.h> ssize_t write (int fd, const void *buf, size_t count); write() 调 文件 fd 文件的 将 buf count 写 文件 的文件 ( 设备 写 时 写 更新文件 时 -1 将 errno 设 相 的 write() 以 0 何 示写 零 read() 的 单 const char *buf = My ship is solid! ; ssize_t nr; /* write the string in buf to fd */ nr = write (fd, buf, strlen (buf)); if (nr == -1) /* error */ read() 然相 的 单 调 出 写的 能 unsigned long word = 1720; size_t count; 34

49 2 文件 I/O ssize_t nr; count = sizeof (word); nr = write (fd, &word, count); if (nr == -1) /* error, check errno */ else if (nr!= count) /* possible error, but errno not set */ 部分写相对 read() 的 读的 write() 能 写的 对 write() 调 EOF 对 文件 write() 将 写 的 对 文件 进 写 然 对 真的写 的 的 处 write() 调 能 调 进 写 ( 的示 ssize_t ret, nr; while (len!= 0 && (ret = write (fd, buf, len))!= 0) { if (ret == -1) { if (errno == EINTR) continue; perror ( write ); break; } len -= ret; buf += ret; } 35

50 2 文件 I/O 追加模式 fd 式 时 ( O APPEND 写操作 文件 的 文件 设 进程 同 文件写 式的 进程 文件 写 进程 进程的文件 将 文件 将 文件 进程写 的 的 方 进程 进 式的同步 能进 写操作 们存 件 式 的 文件 文件 的写操作 的 即 写 以 写 的文件 更新操作 原子操作 文件 更新 写 的 write() 调 更新文件 自 的 能 的原 read() 调 式 更新 文件 方 处 非阻塞写 fd 式 时 ( 设 O NONBLOCK ) 的写操作 时 write() 调 -1 设 errno EAGAIN 新 处理 文件时 出 其他错误码 的 EBADF 给 的文件 或 以写方式 的 EFAULT buf 进程 空间内 item [EFBIG] 写操作将 文件 小超 进程的 文件 或 内 实 的 item [EINVAL] 给 的文件 对 的对 能 进 写操作 item [EIO] I/O item [ENOSPC] 文件 的文件 的空间 item [EPIPE] 给 文件 的 或 的读 进程 36

51 2 文件 I/O 将 SIGPIPE SIGPIPE 的 的进程 进程 能 或 处理 时 write() 大小限制 count SSIZE MAX write() 调 的 的 count 零的 write() 调 将 即 write() 的行为 write() 调 时 内 将 提 的 内 写 的文件 write 调 对 的 实 处理 的 异 空间 write() 调 时 Linux 内 进 然 将 内 集 的 将 们 写 上 ( 程 写 write 调 上 调 内 以将写 操作 空 段 将 写操作 处理 写 POSIX 的 read 调 读 写 写 的 将 读 上 的 实 上提 效率 read 内存 存 读 读写 然 提 写 即 对 程 写操作 写 写的 对 写 的 能性 能 的写 以 们将 写 出 性能方 的 内 将 的 新 时 将 写 绝 的 实 上 写 写的 I/O 的 何 写 出 的 I/O 方 理 给 写 的进程 实 上 进程 的 进程 能 更新同 37

52 2 文件 I/O 的 进程 能 写 出 能 写操作 的进程 内 将 写的 小 时写 内 存 时效 将 的 存 们超 给 时效 写 以 /proc/sys/vm/dirty expire centiseconds 以 ( 文件 存写 以的 以将 的写操作同步 将 的 同步 I/O 内 内 将 Linux 内 的 写子 2.4 同步 I/O 同步 I/O 的 写相 的 写 提 的性能 进 以 子的 实 写 然 写 的时间 对 Linux 内 提 性能 同步操作 fsync() 和 fdatasync() 单的 写 的方 fsync() 调 POSIX.1b #include <unistd.h> int fsync (int fd); 调 fsync() 以 fd 对 文件的 写 上 文件 fd 以写方式 的 调 写 以及 的时间 inode 的 属性 写 将 写 存时 fsync() 能 上 能 写 能 的 存上 的 存 的 将 写 Linux 提 fdatasync() 调 #include <unistd.h> 38

53 2 文件 I/O int fdatasync (int fd); 调 的 fsync(), 写 调 同步 上 能 相同的 单 int ret; ret = fsync (fd); if (ret == -1) /* error */ 调 何 更新的 文件的 同步 上 文件 更 文件 能 写 相 的 上 文件 何对 的更新 同步 上 对 调 fsync() 进 同步 返回值和错误码 时 调 0 时 -1 将 errno 设 以 EBADF 给 的文件 以写 的 EINVAL 给 的文件 对 的对 同步 EIO 同步时 I/O 示 真 的 I/O 处 即 相 文件 上实 fdatasync() 实 fsync(), 调 fsync() 时 的 能 fsync() EINVAL 时 fdatasync() 示 if (fsync (fd) == -1) { /* * We prefer fsync(), but let s try fdatasync( ) * if fsync( ) fails, just in case. 39

54 2 文件 I/O } */ if (errno == EINVAL) { if (fdatasync (fd) == -1) perror ( fdatasync ); } else perror ( fsync ); POSIX fsync() 的 fdatasync() 的 fsync() 的 文件的 Linux 文件 实 然 文件 ( 能 同步的文件 或 的文件 或 实 fdatasync() sync() sync() 调 以 对 上的 进 同步, 效率 然 #include <unistd.h> void sync (void); 的 能写 sync() 写 调 将 将 写 的 程即 同步 以 的 的写 然 对 Linux sync() 的 写 调 sync() sync() 真 上 的 方 工 sync 的实 程 fsync() fdatasync() 将文件 的 同步 的 能 的 上 sync() 操作 能 的时间 以, 以 能, 内 写 上 实 上 们 存 40

55 2 文件 I/O O SYNC 标志 O SYNC open() 文件上的 I/O 操作同步 int fd; fd = open (file, O_WRONLY O_SYNC); if (fd == -1) { perror ( open ); return -1; } 读 同步的 同步 将 读 的 效性 然 的 write() 调 同步的 调 写 间 O SYNC 将 write() 调 进 I/O 同步 O SYNC write() 操作 式 fsync() 上 的 Linux 内 实 的 O SYNC 更 效 O SYNC 将 写操作 及内 时间 ( 内 空间 的时间 写 文件的 小 能 的时间 进程的 I/O 时间 ( I/O 的时间 ) 上 时的 O SYNC 时 时间 的 以同步 I/O 的 写 的 以 fsync() 或 fdatasync() 的调 ( 性的操作 相对 O SYNC 更 O DSYNC 和 O RSYNC POSIX open() 同步相 的 O DSYNC O RSYNC Linux 上 O SYNC 同 们 相同的 O DSYNC 写操作 同步 同步 写 式调 fdatasync() O SYNC 提 更 的 以 O DSYNC 时 能 41

56 2 文件 I/O O SYNC 更 的 性能 O RSYNC 读 写 进 同步 能 O SYNC 或 O DSYNC 文 读操作 同步的 给 的时 O RSYNC 何读操作的 作 同步的 读操作 更新 调 写 实 read() 调 文件 时间 更新 上的 inode Linux 将 O RSYNC 设 O SYNC ( O SYNC O DSYNC 的 同 Linux O RSYNC 的 对 的方式 read() 调 调 fdatasync() 实 上 操作 2.5 直接 I/O 操作 内 Linux 内 实 的 存 以及设备 间的 I/O 理的 ( 内 内 性能 能 的 进 的 I/O 理 I/O 实 实上操作 的工 工 更 的性能 然 们自 的 存 以 能的 操作 的 open() O DIRECT 内 小 I/O 理的 时 I/O 操作将 页 存 对 空间 设备进 的 I/O 将 同步的 操作 I/O 时 对 文件 设备 小 ( 512 ) 的 2.6 内 更 2.4 的东 对 文件 小 ( 4KB 性 对 更 的 ( 更 的 小 2.6 关闭文件 程 对 文件的操作 以 close() 调 将文件 对 的文件 #include <unistd.h> 42

57 2 文件 I/O int close (int fd); close() 调 的文件 的 离进程 文件的 给 的文件 效 内 以 将 作 的 open() 或 creat() 调 的 新 close() 调 时 0 时 -1 设 errno 相 单 if (close (fd) == -1) perror ( close ); 的 文件 文件 写 文件 写 同步 I/O 的同步 然 文件的 作 文件的文件 内 示 文件的 时 文件 的 inode 的内存 inode 能 内存 ( 能 内存 内 效率 存 inode 能 文件 上 inode 内存 真的 对 close() 的调 能 的文件 上 错误码 的 close() 的 处理 能 的 操作 的原 能 出 close() 以 出 时 能出 的 errno EBADF( 给 的文件 的 EIO 能 实 的 close 操作 相 的 I/O 出 的 文件 的 的 的 POSIX close() 绝 EINTR Linux 内 们 能 的实 43

58 2 文件 I/O 2.7 用 lseek() 查找 的 文件 的 I/O 性的 读写 的文件 的 式更新 的 然 文件 lseek() 调 能 对给 文件 的文件 设 更新文件 的 何 何 I/O #include <sys/types.h> #include <unistd.h> off_t lseek (int fd, off_t pos, int origin); lseek() 的 以 以 SEEK CUR 文件 fd 设 上 pos pos 以 零或 零的 pos 文件 SEEK END 文件 fd 设 文件 上 pos pos 以 零或 零的 pos 设 文件 SEEK SET 文件 fd 设 pos 零的 pos 设 文件 调 时 新文件 时 -1 设 的 errno 设 文件 fd 1825 off_t ret; ret = lseek (fd, (off_t) 1825, SEEK_SET); if (ret == (off_t) -1) /* error */ 或 设 文件 fd 文件 off_t ret; ret = lseek (fd, 0, SEEK_END); if (ret == (off_t) -1) /* error */ 44

59 2 文件 I/O lseek() 更新 的文件 以 SEEK CUR 零 文件 int pos; pos = lseek (fd, 0, SEEK_CUR); if (pos == (off_t) -1) /* error */ else /* pos is the current position of fd */ 然 lseek() 的 文件的 或 文件 的 文件 文件末尾之后进行查找 lseek() 以 文件 超 文件 进 的 的 将 fd 对 的文件 1688 int ret; ret = lseek (fd, (off_t) 1688, SEEK_END); if (ret == (off_t) -1) /* error */ 对 文件 文件 的读 EOF 然 对 写 新 间 新的空间 零 零 方式 空 (hole Unix 的文件 上 空 何 理上的 空间 示 文件 上 文件的 小 以超 的 理 小 空 的文件 文件 (sparse file 文件 以 的空间 提 效率 操作 空 何 理 I/O 对文件空 的读 将 相 的 进 零 45

60 2 文件 I/O 错误码出 时 lseek() -1 将 errno 设 EBADF 给出的文件 何 的文件 EINVAL origin 的 SEEK SET SEEK CUR 或 SEEK END 或 的文件 实上 出 EIN- VAL 的 的 时的 能 的 时 EOVERFLOW 的文件 能 off t 示 32 上 文件 示 能 ESPIPE 给出的文件 能 操作的对 上 FIFO 或 限制文件 的上 off t 的 小 C 的 long Linux 上 ( 存 的 小 内 实 内 将 存 C 的 long long 处理方 64 上 32 上作相 时 能 EOVERFLOW 2.8 定位读写 Linux 提 read() write() 的 lseek() 调 以 读写的文件 时 文件 读 式的调 pread() #define _XOPEN_SOURCE 500 #include <unistd.h> ssize_t pread (int fd, void *buf, size_t count, off_t pos); 调 文件 fd 的 pos 文件 读 count buf 46

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

ebook15-4

ebook15-4 4 4.1 I / O I / s t a t s t a t ( ) U N I X 4.2 stat fstat lstat s t a t #include #include int stat(const char p a * t h n a m e, struct stat b * u f) ; int fstat(int f i l e

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

ebook15-10

ebook15-10 1 0 10.1 U N I X V 7 4. 3 B S D S V R 3 P O S I X. 1 100 % 10.2 S I G S I G A B RT a b o r t S I G A L R M a l a r m V 7 1 5 S V R 4 4. 3 + B S D 31 < s i g n a l. h > 0 10. 9 k i l l 0 P O S I X. 1 D

More information

第11章 可调内核参数

第11章 可调内核参数 11 11 Unix BSD 4.4 Linux sysctl Unix Linux /proc window /proc /proc/sys /proc/sys sysctl Unix root /proc/sys/vm root /proc/sys sysctl /proc/sys struct ctl_table 18274 struct ctl_tables /proc/sys struct

More information

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO Linux muduo C++ (giantchen@gmail.com) 2012-09-30 C++ TCP C++ x86-64 Linux TCP one loop per thread Linux native muduo C++ IT 5 C++ muduo 2 C++ C++ Primer 4 W. Richard Stevens UNIX Sockets API echo Sockets

More information

ebook15-C

ebook15-C C 1 1.1 l s ( 1 ) - i i 4. 14 - d $ l s -ldi /etc/. /etc/.. - i i 3077 drwxr-sr-x 7 bin 2048 Aug 5 20:12 /etc/./ 2 drwxr-xr-x 13 root 512 Aug 5 20:11 /etc/../ $ls -ldi /. /..... i 2 2 drwxr-xr-x 13 root

More information

智力测试故事

智力测试故事 II 980.00 ... 1... 1... 1... 2... 2... 2... 3... 3... 3... 3... 4... 4... 5... 5... 6... 6... 7... 7... 8... 8... 8... 9... 9...10...10...10 I II...11...11...11...12...13...13...13...14...14...14...15...15...15...16...16...17...17...18...18...19...19...19...19...20...20...21...21...21

More information

-i-

-i- -i- -ii- -iii- -iv- -v- -vi- -vii- -viii- -ix- -x- -xi- -xii- 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-9 1-10 1-11 1-12 1-13 1-14 1-15 1-16 1-17 1-18 1-19 1-20 1-21 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 2-11

More information

Microsoft Word - 强迫性活动一览表.docx

Microsoft Word - 强迫性活动一览表.docx 1 1 - / 2 - / 3 - / 4 - / 5 - I. 1. / 2. / 3. 4. 5. 6. 7. 8. 9 10 11. 12. 2 13. 14. 15. 16. 17. 18. 19. 20 21. 22 23. 24. / / 25. 26. 27. 28. 29. 30. 31. II. 1. 2 3. 4 3 5. 6 7 8. 9 10 11 12 13 14. 15.

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

奇闻怪录

奇闻怪录 ... 1... 1... 2... 3... 3... 4... 4... 5... 5... 6... 8... 9... 10... 10... 11... 11... 13... 13... 14... 14... 15... 16... 17... 21 I ... 22... 23... 23... 24... 25... 25... 26... 27... 28... 29 UFO...

More information

像 客 样 使 命令行 徐 东

像 客 样 使 命令行 徐 东 像 客 样 使 命令行 徐 东 1 1.1................................ 1 1.2................................. 3 1.3............................. 4 1.3.1 Linux............................ 5 1.3.2 macos............................

More information

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def Kaise s 2410 Board setting [1]. Device Driver Device Driver Linux s Kernel ARM s kernel s3c2410_kernel2.4.18_r1.1_change.tar.bz2 /usr/src (1) #cd /usr/src (2) #tar xfj s3c2410_kernel2.4.18_r1.1_change.tar.bz2

More information

1 2 6 8 15 36 48 55 58 65 67 74 76 150 152 1 3 1 2 4 2 2001 2000 1999 12 31 12 31 12 31 304,347 322,932 231,047 14,018 16,154 5,665 (i) 0.162 0.193 0.082 (ii) 0.165 0.227 0.082 (iii) 10.08 13.37 6.47 0.688

More information

30,000,000 75,000,000 75,000, (i) (ii) (iii) (iv)

30,000,000 75,000,000 75,000, (i) (ii) (iii) (iv) 30,000,000 75,000,000 75,000,000 24 (i) (ii) (iii) (iv) # * 1,800,000 1,800,000 15% 3,400,000 3,400,000 15% 4,200,000 4,200,000 10% 8,600,000 8,600,000 10% 12,600,000 12,600,000 88% 10% 16,000,000 16,000,000

More information

I. 1-2 II. 3 III. 4 IV. 5 V. 5 VI. 5 VII. 5 VIII. 6-9 IX. 9 X XI XII. 12 XIII. 13 XIV XV XVI. 16

I. 1-2 II. 3 III. 4 IV. 5 V. 5 VI. 5 VII. 5 VIII. 6-9 IX. 9 X XI XII. 12 XIII. 13 XIV XV XVI. 16 125-0834I/1405/GH I. 1-2 II. 3 III. 4 IV. 5 V. 5 VI. 5 VII. 5 VIII. 6-9 IX. 9 X. 10-11 XI. 11-12 XII. 12 XIII. 13 XIV. 14-15 XV. 15-16 XVI. 16 I. * ++p ++ p ++ ++ * ++p ++ ++ ++p 1 2 ++ ++ ++ ++ ++ I.

More information

新・解きながら学ぶC言語

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc 草 稿 致 省 級 管 理 單 位 之 推 薦 書 二 零 零 九 年 十 月 十 七 日 加 拿 大 中 醫 管 理 局 聯 盟 All rights reserved 序 言 加 拿 大 中 醫 管 理 局 聯 盟, 於 二 零 零 八 年 一 月 至 二 零 零 九 年 十 月 間, 擬 定 傳 統 中 醫 執 業 之 基 礎 文 件 由 臨 床 經 驗 豐 富 之 中 醫 師 教 育 者 及

More information

「香港中學文言文課程的設計與教學」單元設計範本

「香港中學文言文課程的設計與教學」單元設計範本 1. 2. 3. (1) (6) ( 21-52 ) (7) (12) (13) (16) (17) (20) (21) (24) (25) (31) (32) (58) 1 2 2007-2018 7 () 3 (1070) (1019-1086) 4 () () () () 5 () () 6 21 1. 2. 3. 1. 2. 3. 4. 5. 6. 7. 8. 9. ( ) 7 1. 2.

More information

全唐诗28

全唐诗28 ... 1... 1... 1... 2... 2... 2... 3... 3... 4... 4... 4... 5... 5... 5... 5... 6... 6... 6... 6... 7... 7... 7... 7... 8... 8 I II... 8... 9... 9... 9...10...10...10...11...11...11...11...12...12...12...13...13...13...14...14...14...15...15...15...16...16...16...17...17

More information

How to Debug Tuxedo Server printf( Input data is: %s, inputstr); fprintf(stdout, Input data is %s, inputstr); fprintf(stderr, Input data is %s, inputstr); printf( Return data is: %s, outputstr); tpreturn(tpsuccess,

More information

ebook15-2

ebook15-2 2 U N I X 2.1 U N I X C U N I X U N I X 80 U N I X ( ) U N I X 2.2 UNIX 2.2.1 ANSI C 1989 C A N S I X 3. 159-1989 ANSI 1989 ISO/IEC 9899:1990 A N S I ( I S O ) ANSI C C UN I X C ANSI 1989 4 Plauger 1992;Kernighan

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

II II

II II I I II II III 1. 2. 3. III 4. IV 5. 6. 8. 9. 10. 12. IV V V VI VI VII VII VIII VIII IX IX X X XI XI XII XII 1 1 2 2 3 3 4 33 35 4 5 5 6 6 7 ( ) 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17

More information

Microsoft Word - John_Ch_1202

Microsoft Word - John_Ch_1202 新 约 圣 经 伴 读 约 翰 福 音 目 录 说 明..I 序 言 : 圣 经 中 神 圣 启 示 的 三 层.II 按 时 分 粮 的 原 则..VIII 纲 目 XI 第 一 章..1 第 二 章 13 第 三 章 25 第 四 章 37 第 五 章 49 第 六 章 61 第 七 章 73 第 八 章 85 第 九 章 97 第 十 章..109 第 十 一 章..121 第 十 二 章..133

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Linux 操 作 系 统 基 础 介 绍 课 程 目 标 及 要 求 了 解 Linux 操 作 系 统 的 登 入 方 式 掌 握 常 用 命 令 的 基 本 用 法 能 够 熟 练 在 各 个 目 录 转 换 Outline 1. Linux 操 作 系 统 简 介 2. Linux 操 作 系 统 的 登 录 3. Linux 操 作 系 统 的 目 录 结 构 4. 常 用 命 令 5.

More information

ebook15-12

ebook15-12 1 2I / O 12.1 I / O V I / O s e l e c tp o l l r e a d vw r i t e v I / Om m a p 14 15 12.2 I / O 1 0. 5 F I F O F I F O i o c t l 14 I / O I / o p e n, r e a dw r i t e I / O (1) o p e n O _ N O N B L

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 177 [P179] (1) - [P181] [P182] (2) - for [P183] (3) - switch [P184] [P187] [P189] [P194] 178 [ ]; : : int var; : int var[3]; var 2293620 var[0] var[1] 2293620

More information

全唐诗50

全唐诗50 ... 1... 1... 2... 2... 3... 3... 3... 4... 4... 5... 5... 6... 6... 6... 7... 7... 7... 8... 8... 8... 9 I II... 9...10...10...10...11...11...11...12...12...12...13...14...14...15...15...16...16...16...17,...17...18...18...19...19...19

More information

Microsoft PowerPoint - lect01.ppt

Microsoft PowerPoint - lect01.ppt Linux 操 作 系 统 潘 建 瑜 华 东 师 范 大 学 数 学 系 jypan@math.ecnu.edu.cn Linux 操 作 系 统 教 材 : 以 课 堂 讲 义 为 主 上 课 时 间 : 周 五 5 6 7 第 三 教 学 楼 231 上 机 时 间 : 周 五 5 6 7 数 学 楼 200B 机 房 ( 暂 定 于 第 3 7 10 13 16 18 周 ) 课 程 主 页

More information

ebook8-30

ebook8-30 3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis

More information

Microsoft Word - Final Chi-Report _PlanD-KlnEast_V7_ES_.doc

Microsoft Word - Final Chi-Report _PlanD-KlnEast_V7_ES_.doc 九 龍 東 商 業 的 統 計 調 查 - 行 政 摘 要 - 2011 年 5 月 統 計 圖 行 政 摘 要...1 圖 I: 在 不 同 地 區 及 樓 宇 類 別 的 數 目 及 比 例...9 圖 II: 影 響 選 擇 地 點 的 因 素 的 重 要 程 度 對 比 就 現 時 所 在 地 點 各 項 因 素 的 滿 意 程 度...20 圖 III: 影 響 選 擇 樓 宇 的 因 素

More information

一、

一、 ... 1...24...58 - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - i. ii. iii. iv. i. ii. iii. iv. v. vi. vii. viii. ix. x. - 9 - xi. - 10 - - 11 - -12- -13- -14- -15- C. @ -16- @ -17- -18- -19- -20- -21- -22-

More information

509 (ii) (iii) (iv) (v) 200, , , , C 57

509 (ii) (iii) (iv) (v) 200, , , , C 57 59 (ii) (iii) (iv) (v) 500,000 500,000 59I 18 (ii) (iii) (iv) 200,000 56 509 (ii) (iii) (iv) (v) 200,000 200,000 200,000 500,000 57 43C 57 (ii) 60 90 14 5 50,000 43F 43C (ii) 282 24 40(1B) 24 40(1) 58

More information

Microsoft Word - MP2018_Report_Chi _12Apr2012_.doc

Microsoft Word - MP2018_Report_Chi _12Apr2012_.doc 人 力 資 源 推 算 報 告 香 港 特 別 行 政 區 政 府 二 零 一 二 年 四 月 此 頁 刻 意 留 空 - 2 - 目 錄 頁 前 言 詞 彙 縮 寫 及 注 意 事 項 摘 要 第 一 章 : 第 二 章 : 第 三 章 : 第 四 章 : 附 件 一 : 附 件 二 : 附 件 三 : 附 件 四 : 附 件 五 : 附 件 六 : 附 件 七 : 引 言 及 技 術 大 綱 人

More information

南華大學數位論文

南華大學數位論文 1 i -------------------------------------------------- ii iii iv v vi vii 36~39 108 viii 15 108 ix 1 2 3 30 1 ~43 2 3 ~16 1 2 4 4 5 3 6 8 6 4 4 7 15 8 ----- 5 94 4 5 6 43 10 78 9 7 10 11 12 10 11 12 9137

More information

李天命的思考藝術

李天命的思考藝術 ii iii iv v vi vii viii ix x 3 1 2 3 4 4 5 6 7 8 9 5 10 1 2 11 6 12 13 7 8 14 15 16 17 18 9 19 20 21 22 10 23 24 23 11 25 26 7 27 28 12 13 29 30 31 28 32 14 33 34 35 36 5 15 3 1 2 3 4 5 6 7 8 9 10 11

More information

皮肤病防治.doc

皮肤病防治.doc ...1...1...2...3...4...5...6...7...7...9...10... 11...12...14...15...16...18...19...21 I ...22...22...24...25...26...27...27...29...30...31...32...33...34...34...36...36...37...38...40...41...41...42 II

More information

性病防治

性病防治 ...1...2...3...4...5...5...6...7...7...7...8...8...9...9...10...10... 11... 11 I ...12...12...12...13...14...14...15...17...20...20...21...22...23...23...25...27...33...34...34...35...35 II ...36...38...39...40...41...44...49...49...53...56...57...57...58...58...59...60...60...63...63...65...66

More information

中国南北特色风味名菜 _一)

中国南北特色风味名菜 _一) ...1...1...2...3...3...4...5...6...7...7...8...9... 10... 11... 13... 13... 14... 16... 17 I ... 18... 19... 20... 21... 22... 23... 24... 25... 27... 28... 29... 30... 32... 33... 34... 35... 36... 37...

More information

全唐诗24

全唐诗24 ... 1... 1... 2... 2... 3... 3... 4... 4... 5... 5... 6... 6... 7... 7... 8... 8... 9... 9...10...10...10...11...12...12...12...13...13 I II...14...14...14...15...15...15...16...16...16...17...17...18...18...18...19...19...19...20...20...20...21...21...22...22...23...23...23...24

More information

施 的 年 度 維 修 工 程 已 於 4 月 15 日 完 成, 並 於 4 月 16 日 重 新 開 放 給 市 民 使 用 ii. 天 水 圍 游 泳 池 的 年 度 維 修 工 程 已 於 3 月 31 日 完 成, 並 於 4 月 1 日 重 新 開 放 給 市 民 使 用 iii. 元

施 的 年 度 維 修 工 程 已 於 4 月 15 日 完 成, 並 於 4 月 16 日 重 新 開 放 給 市 民 使 用 ii. 天 水 圍 游 泳 池 的 年 度 維 修 工 程 已 於 3 月 31 日 完 成, 並 於 4 月 1 日 重 新 開 放 給 市 民 使 用 iii. 元 地 委 會 文 件 2016/ 第 25 號 ( 於 6.5.2016 會 議 討 論 ) 康 樂 及 文 化 事 務 署 在 元 朗 區 內 舉 辦 的 康 樂 體 育 活 動 及 設 施 管 理 綜 合 匯 報 (2016 年 5 月 號 報 告 ) 目 的 本 文 件 旨 在 向 各 委 員 匯 報 康 樂 及 文 化 事 務 署 ( 康 文 署 ) 於 2016 年 2 月 至 5 月 在

More information

プログラムの設計と実現II

プログラムの設計と実現II UNIX C ls mkdir man http://www.tj.chiba-u.jp/lecture/prog2/ Ctrl+x, Ctrl+s ( )..[4]% gcc Wall o hoge hoge.c..[5]%./hoge 1 : 1 2 : 2 3 : 3 4 : 0 6..[6]% (! )..[4]% gcc Wall o hoge hoge.c..[5]%!g gcc Wall

More information

对联故事

对联故事 980.00 ... 1... 1... 2... 3... 3... 4... 4... 5... 5... 6... 7... 7... 8... 9...10...10...11...12...13...13...14...15...15...16...17 I II...18...18...19...19...20...21...21...22...22...23...24...25...25...26...26...27...28...29...29...30...30...31...32...32...33...34...34...35

More information

兒 童 會 4 摩 爾 門 經 本 教 材 專 為 8-11 歲 的 兒 童 設 計 耶 穌 基 督 後 期 聖 徒 教 會 台 北 發 行 中 心 印 行

兒 童 會 4 摩 爾 門 經 本 教 材 專 為 8-11 歲 的 兒 童 設 計 耶 穌 基 督 後 期 聖 徒 教 會 台 北 發 行 中 心 印 行 兒 童 會 4 摩 爾 門 經 8-11 歲 兒 童 會 4 摩 爾 門 經 本 教 材 專 為 8-11 歲 的 兒 童 設 計 耶 穌 基 督 後 期 聖 徒 教 會 台 北 發 行 中 心 印 行 1997, 1997 by Intellectual Reserve, Inc. 1997 耶 穌 基 督 後 期 聖 徒 教 會 版 權 所 有 台 北 發 行 中 心 印 行 英 語 核 准 日

More information

我 非 常 希 望 该 小 组 的 建 议 尤 其 是 其 执 行 摘 要 能 受 到 将 于 2000 年 9 月 来 纽 约 参 加 千 年 首 脑 会 议 的 所 有 领 导 人 的 注 意 这 次 历 史 性 的 高 级 别 会 议 提 供 了 一 个 独 特 的 机 会 使 我 们 能 够

我 非 常 希 望 该 小 组 的 建 议 尤 其 是 其 执 行 摘 要 能 受 到 将 于 2000 年 9 月 来 纽 约 参 加 千 年 首 脑 会 议 的 所 有 领 导 人 的 注 意 这 次 历 史 性 的 高 级 别 会 议 提 供 了 一 个 独 特 的 机 会 使 我 们 能 够 联 合 国 A/55/305 大 会 安 全 理 事 会 Distr.: General 21 August 2000 Chinese Original: English 大 会 第 五 十 五 届 会 议 临 时 议 程 项 目 87 整 个 维 持 和 平 行 动 问 题 所 有 方 面 的 全 盘 审 查 安 全 理 事 会 第 五 十 五 年 2000 年 8 月 21 日 秘 书 长 给

More information

2. 我 沒 有 說 實 話, 因 為 我 的 鞋 子 其 實 是 [ 黑 色 / 藍 色 / 其 他 顏 色.]. 如 果 我 說 我 現 在 是 坐 著 的, 我 說 的 是 實 話 嗎? [ 我 說 的 對 還 是 不 對 ]? [ 等 對 方 回 答 ] 3. 這 是 [ 實 話 / 對 的

2. 我 沒 有 說 實 話, 因 為 我 的 鞋 子 其 實 是 [ 黑 色 / 藍 色 / 其 他 顏 色.]. 如 果 我 說 我 現 在 是 坐 著 的, 我 說 的 是 實 話 嗎? [ 我 說 的 對 還 是 不 對 ]? [ 等 對 方 回 答 ] 3. 這 是 [ 實 話 / 對 的 附 錄 美 國 國 家 兒 童 健 康 與 人 類 發 展 中 心 (NICHD) 偵 訊 指 導 手 冊 I. 開 場 白 1. 你 好, 我 的 名 字 是, 我 是 警 察 [ 介 紹 房 間 內 的 其 他 人, 不 過, 在 理 想 狀 態 下, 房 間 裡 不 該 有 其 他 人 ] 今 天 是 ( 年 月 日 ), 現 在 是 ( 幾 點 幾 分 ) 我 是 在 ( 地 點 ) 問 你

More information

2015年廉政公署民意調查

2015年廉政公署民意調查 報 告 摘 要 2015 年 廉 政 公 署 周 年 民 意 調 查 背 景 1.1 為 了 掌 握 香 港 市 民 對 貪 污 問 題 和 廉 政 公 署 工 作 的 看 法, 廉 政 公 署 在 1992 至 2009 年 期 間, 每 年 均 透 過 電 話 訪 問 進 行 公 眾 民 意 調 查 為 更 深 入 了 解 公 眾 對 貪 污 問 題 的 看 法 及 關 注, 以 制 訂 適 切

More information

中国石化齐鲁股份有限公司

中国石化齐鲁股份有限公司 2004 2004 3 4 6 9 13 14 15 22 24 26 49 1 2004 9 2 2004 SINOPEC QILU COMPANY LTD. 0533-3583728 lifan@qilu.com.cn 0533-7512530 baoweisong@163.net 0533-3583718 255086 qlsh600002@126.com http://www.qilu.com.cn

More information

_Chi.ps, page Preflight ( _Chi.indd )

_Chi.ps, page Preflight ( _Chi.indd ) on conviction3 5 1. / 2. 14 3. 2 2 3 4. 372 12 5. 6. 1 7. 1 2 i ii iii iv 8. 9. 1 12 2 2 i ii iii i ii iii 3 iv http://www.pcpd.org.hk v i ii iii 4 i ii i / ii 5 1. 2. 3. i ii iii iv v vi 4. 5. 6 6. 7.

More information

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un Linux C July 27, 2016 Contents 1 Linux IDE 1 2 GCC 3 2.1 hello.c hello.exe........................... 5 2.2............................... 9 2.2.1 -Wall................................ 9 2.2.2 -E..................................

More information

C

C C 2017 3 14 1. 2. 3. 4. 2/95 C 1. 3/95 C I 1 // talkback.c: 2 #include 3 #include 4 #define DENSITY 62.4 5 int main(void) 6 { 7 float weight, volume; 8 int size; 9 unsigned long letters;

More information

<4D6963726F736F667420576F7264202D203938BEC7A67EABD7B942B0CAC15AC075B3E6BF57A9DBA5CDC2B2B3B92DA5BFBD542E646F63>

<4D6963726F736F667420576F7264202D203938BEC7A67EABD7B942B0CAC15AC075B3E6BF57A9DBA5CDC2B2B3B92DA5BFBD542E646F63> 98 年 3 月 11 日 依 本 校 98 學 年 度 招 生 委 員 會 第 1 次 會 議 核 定 大 同 技 術 學 院 98 學 年 度 重 點 運 動 項 目 績 優 學 生 單 獨 招 生 簡 章 大 同 技 術 學 院 招 生 委 員 會 編 印 校 址 :600 嘉 義 市 彌 陀 路 253 號 電 話 :(05)2223124 轉 203 教 務 處 招 生 專 線 :(05)2223124

More information

Microsoft Word - Paper on PA (Chi)_2016.01.19.docx

Microsoft Word - Paper on PA (Chi)_2016.01.19.docx 立 法 會 發 展 事 務 委 員 會 二 零 一 六 年 施 政 報 告 及 施 政 綱 領 有 關 發 展 局 的 措 施 引 言 行 政 長 官 在 二 零 一 六 年 一 月 十 三 日 發 表 題 為 創 新 經 濟 改 善 民 生 促 進 和 諧 繁 榮 共 享 的 二 零 一 六 年 施 政 報 告 施 政 報 告 夾 附 施 政 綱 領, 臚 列 政 府 推 行 的 新 措 施 和

More information

(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (i) (ii)(iii) (iv) (v)

(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (i) (ii)(iii) (iv) (v) 1948 12 1 1986 1 1995 1995 3 1995 5 2003 4 2003 12 2015 82015 10 1 2004 2 1 (i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (i) (ii)(iii) (iv) (v) (vi) (vii)(viii) (ix) (x) (xi) 2013 8 15 (i) (ii) (iii)

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

穨學前教育課程指引.PDF

穨學前教育課程指引.PDF i 1 1.1 1 1.2 1 4 2.1 4 2.2 5 2.3 7 2.4 9 2.5 11 2.6 1 2 1 5 3.1 1 5 3.2 1 5 19 4.1 19 4.2 19 4.3 2 1 4.4 29 4.5 38 4.6 4 3 4.7 47 50 5.1 5 0 5.2 5 0 5.3 6 2 5.4 9 4 5.5 1 2 6 ( ) 1 2 7 ( ) 1 31 ( ) 1

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

眼病防治

眼病防治 ( 20 010010) 787 1092 1/32 498.50 4 980 2004 9 1 2004 9 1 1 1 000 ISBN 7-204-05940-9/R 019 1880.00 ( 20.00 ) ...1...1...2...3...5...5...6...7...9... 11...13...14...15...17...18...19...20...21 I II...21...22...23...24...25...27...27...28...29...30...31...33...33...34...36...38...39...40...41...42...43...45

More information

中国南北特色风味名菜 _八)

中国南北特色风味名菜 _八) ( 20 010010) 7871092 1/32 356.25 4 760 2004 8 1 2004 8 1 11 000 ISBN 7-204-05943-3/Z102 1026.00 ( 18.00 ) ...1...2...2...4...6...7...8...9... 10... 11... 12... 13... 13... 14... 15... 17... 18... 19...

More information

國立中山大學學位論文典藏.PDF

國立中山大學學位論文典藏.PDF I II III IV V VI VII VIII IX X 苷 XI XII 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

More information

39898.indb

39898.indb 1988 4 1998 12 1990 5 40 70.................................................. 40.............................................................. 70..............................................................

More information

穨ecr2_c.PDF

穨ecr2_c.PDF i ii iii iv v vi vii viii 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 26 27 2 28 29 30 31 32 33 34 35 36 37 38 39 40 3 4 41 42 43 5 44 45 46 6 47 48 49 50 51 52 1 53 2 54 55 3 56

More information

電腦相關罪行跨部門工作小組-報告書

電腦相關罪行跨部門工作小組-報告書 - ii - - iii - - iv - - v - - vi - - vii - - viii - (1) 2.1 (2) (3) 13.6 (4) 1.6 (5) 21 (6) (7) 210 (8) (9) (10) (11) ( ) ( 12) 20 60 16 (13) ( ) (

More information

i

i i ii iii iv v vi vii viii ===== 1 2 3 4 5 6 7 8 9 10 ==== 11 12 13 14 15 16 17 18 19 ==== ==== 20 .. ===== ===== ===== ===== ===== ======.. 21 22 ===== ===== ===== ===== 23 24 25 26 27 28 29 ==== ====

More information

发展党员工作手册

发展党员工作手册 发 展 党 员 工 作 问 答 目 录 一 总 论...9 1. 发 展 党 员 工 作 的 方 针 是 什 么? 如 何 正 确 理 解 这 个 方 针?... 9 2. 为 什 么 强 调 发 展 党 员 必 须 保 证 质 量?... 9 3. 如 何 做 到 慎 重 发 展?... 10 4. 如 何 处 理 好 发 展 党 员 工 作 中 的 重 点 与 一 般 的 关 系?...11 5.

More information

i

i 9 1 2 3 4 i 5 6 ii iii iv v vi vii viii 1 1 1 2 3 4 2 5 6 2 3 2.10 ( 2.11 ) ( 2.11 ) ( 2.9 ) 7 8 9 3 10 5% 2% 4 11 93% (2001 02 2003 04 ) ( ) 2,490 (100%) 5 12 25% (2.57% 25%) 6 (2001 02 2003 04 ) 13 100%

More information

Microsoft Word - COC HKROO App I _Chi_ Jan2012.doc

Microsoft Word - COC HKROO App I _Chi_ Jan2012.doc 附 錄 I 目 錄 項 目 貨 品 描 述 頁 數 (I) 活 動 物 ; 動 物 1 (II) 植 物 2 (III) 動 物 或 植 物 脂 肪 及 油 及 其 分 化 後 剩 餘 的 ; 經 處 理 可 食 的 脂 肪 ; 動 物 或 植 物 蠟 2 (IV) 經 配 製 的 食 品 ; 飲 料 酒 及 醋 ; 煙 草 及 製 成 的 煙 草 代 替 品 2 (V) 礦 產 5 (VI) 化

More information

untitled

untitled Unix Ka-Lok Ng () Department of Biological Sciences and Biotechnology() Taichung Healthcare and Management University (O) 04-23323456 x1856 3408 Teach the student how to use Linux system using TEXT mode

More information

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows

More information

目 录 院 领 导 职 责... 1 院 长 职 责... 1 医 疗 副 院 长 职 责... 1 教 学 副 院 长 职 责... 2 科 研 副 院 长 职 责... 2 后 勤 副 院 长 职 责... 3 主 管 南 院 区 副 院 长 职 责... 3 党 委 书 记 职 责... 4

目 录 院 领 导 职 责... 1 院 长 职 责... 1 医 疗 副 院 长 职 责... 1 教 学 副 院 长 职 责... 2 科 研 副 院 长 职 责... 2 后 勤 副 院 长 职 责... 3 主 管 南 院 区 副 院 长 职 责... 3 党 委 书 记 职 责... 4 目 录 院 领 导 职 责... 1 院 长 职 责... 1 医 疗 副 院 长 职 责... 1 教 学 副 院 长 职 责... 2 科 研 副 院 长 职 责... 2 后 勤 副 院 长 职 责... 3 主 管 南 院 区 副 院 长 职 责... 3 党 委 书 记 职 责... 4 纪 委 书 记 职 责... 5 院 长 办 公 室... 6 院 长 办 公 室 工 作 职 责...

More information

Microsoft Word - linux命令及建议.doc

Microsoft Word - linux命令及建议.doc Linux 操 作 系 统 命 令 集 1 基 本 命 令 查 看 系 统 信 息 : uname -a 修 改 密 码 : passwd 退 出 : logout(exit) 获 取 帮 助 : man commands 2 文 件 和 目 录 命 令 显 示 当 前 工 作 目 录 : pwd 改 变 所 在 目 录 : cd cd - 切 换 到 上 一 次 使 用 的 目 录 cd 切 换

More information

(b) 3 (a) (b) 7 (a) (i) (ii) (iii) (iv) (v) (vi) (vii) 57

(b) 3 (a) (b) 7 (a) (i) (ii) (iii) (iv) (v) (vi) (vii) 57 (i) (ii) (iii) A. 123 2 3(1) (2) (i) 41 (ii) (iii) 121 4(3) (i) (ii) (iii) 123A 3 (a) 56 (b) 3 (a) (b) 7 (a) (i) (ii) (iii) (iv) (v) (vi) (vii) 57 (viii) (ix) (x) 4B(2)(d) (e) (f) (xi) (xii) (b) (a) (i)

More information

(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) 60.99%39.01%

(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) 60.99%39.01% 48.55% 1998 19986 30%20086 2009 2009 200 (i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) 60.99%39.01% 200820092010 772 928960200820092010 1512928 201 1. 20091222(2009)7267 20042008 16,980,954.02

More information

C/C++ - 字符串与字符串函数

C/C++ - 字符串与字符串函数 C/C++ Table of contents 1. 2. 3. 4. 1 char C 2 char greeting [50] = " How " " are " " you?"; char greeting [50] = " How are you?"; 3 printf ("\" Ready, go!\" exclaimed John."); " Ready, go!" exclaimed

More information

款 及 赔 偿 限 额 及 限 制 给 付 下 述 保 险 金, 但 有 关 医 疗 费 用 及 受 保 服 务 必 须 是 : i. 医 学 上 合 适 及 必 须 的, 及 ii. 由 医 疗 服 务 提 供 者 开 单 收 费 的, 及 iii. 符 合 通 常 惯 性 及 合 理 水 平 的

款 及 赔 偿 限 额 及 限 制 给 付 下 述 保 险 金, 但 有 关 医 疗 费 用 及 受 保 服 务 必 须 是 : i. 医 学 上 合 适 及 必 须 的, 及 ii. 由 医 疗 服 务 提 供 者 开 单 收 费 的, 及 iii. 符 合 通 常 惯 性 及 合 理 水 平 的 富 德 财 产 保 险 股 份 有 限 公 司 留 学 美 国 学 生 医 疗 综 合 保 险 条 款 总 则 第 一 条 合 同 构 成 本 保 险 合 同 由 保 险 条 款 投 保 单 保 险 单 批 单 或 其 他 保 险 凭 证 组 成 凡 涉 及 本 保 险 合 同 的 约 定, 均 应 采 用 书 面 形 式 第 二 条 被 保 险 人 及 被 保 险 资 格 任 何 身 体 健 康

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

飞行模拟设备的鉴定和使用规则

飞行模拟设备的鉴定和使用规则 中 国 民 用 航 空 总 局 民 航 总 局 令 第 141 号 飞 行 模 拟 设 备 的 鉴 定 和 使 用 规 则 (2005 年 3 月 7 日 公 布 ) CCAR-60 中 国 民 用 航 空 总 局 令 第 141 号 飞 行 模 拟 设 备 的 鉴 定 和 使 用 规 则 已 经 2005 年 2 月 5 日 中 国 民 用 航 空 总 局 局 务 会 议 通 过, 现 予 公 布,

More information

<4D6963726F736F667420576F7264202D204C696E7578CFB5CDB3B5F7D3C3C1D0B1ED>

<4D6963726F736F667420576F7264202D204C696E7578CFB5CDB3B5F7D3C3C1D0B1ED> Linux 系 统 调 用 列 表 雷 镇 (leicool@21cn.com) http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html ( 王 伟 注 : 本 文 是 从 作 者 的 博 文 上 拷 贝 来 的, 进 行 了 重 排 版 ) 简 介 : 本 文 列 出 了 大 部 分 常 见 的 Linux

More information

<4D6963726F736F667420576F7264202D205B345DB5D8AE4CACD732303135AECAAFC5C1C9C1DCBDD0AB48A4CEB3F8A657AAED>

<4D6963726F736F667420576F7264202D205B345DB5D8AE4CACD732303135AECAAFC5C1C9C1DCBDD0AB48A4CEB3F8A657AAED> 華 夏 盃 全 國 全 國 數 學 奧 林 匹 克 邀 請 賽 ( 華 南 賽 區 ) 晉 級 賽 比 賽 詳 情 : 一 比 賽 對 象 : 小 學 一 至 六 年 級 中 學 一 二 年 級 二 比 賽 日 期 及 時 間 : 年 2 月 15 日 ( 星 期 日 ) 小 學 組 小 一 級 小 二 級 小 三 級 小 四 級 小 五 級 小 六 級 時 間 13:10~1:20 13:10~1:20

More information

Microsoft Word - NCH final report_CHI _091118_ revised on 10 Dec.doc

Microsoft Word - NCH final report_CHI _091118_ revised on 10 Dec.doc 十 八 區 區 議 會 的 簡 介 會 (1) 東 區 區 議 會 (2008 年 4 月 24 日 ) III. 中 環 新 海 濱 城 市 設 計 研 究 第 二 階 段 公 眾 參 與 ( 東 區 區 議 會 文 件 第 51/08 號 ) 10. 主 席 歡 迎 發 展 局 副 秘 書 長 ( 規 劃 及 地 政 ) 麥 駱 雪 玲 太 平 紳 士 規 劃 署 副 署 長 / 地 區 黃 婉

More information

嵌入式Linux开发课程

嵌入式Linux开发课程 嵌入式 Linux 开发课程 ( 应用程序 ) 主讲人 : David.T 课程安排 1. 初识 Linux 环境下的编程 2. Linux 下的磁盘和文件 I/O 操作 3. 流式文件操作 4. 字符串操作回顾 ( 一 ) 初识 Linux 环境下的编程 1. 你的第一个程序 :Helloworld vi helloworld.c #include int main() { printf(

More information

前 言 根 据 澳 门 特 别 行 政 区 第 11/1999 号 法 律 第 三 条 规 定, 审 计 长 执 行 其 职 责, 已 经 对 财 政 局 提 交 的 2011 年 度 澳 门 特 别 行 政 区 总 帐 目 ( 总 帐 目 ) 进 行 了 审 计 与 2010 年 度 相 同, 本 年 度 的 总 帐 目 由 政 府 一 般 综 合 帐 目 及 特 定 机 构 汇 总 帐 目, 两

More information

群科課程綱要總體課程計畫書

群科課程綱要總體課程計畫書 核 准 文 號 :102 年 4 月 22 日 臺 教 國 署 高 字 第 1020036237 號 國 立 曾 文 高 級 農 工 職 業 學 校 群 科 課 程 綱 要 總 體 課 程 計 畫 書 (102 學 年 度 入 學 學 生 適 用 ) 中 華 民 國 102 年 04 月 22 日 國 立 曾 文 高 級 農 工 職 業 學 校 群 科 課 程 綱 要 總 體 課 程 計 畫 書 核

More information

歡 迎 您 成 為 滙 豐 銀 聯 雙 幣 信 用 卡 持 卡 人 滙 豐 銀 聯 雙 幣 信 用 卡 同 時 兼 備 港 幣 及 人 民 幣 戶 口, 讓 您 的 中 港 消 費 均 可 以 當 地 貨 幣 結 算, 靈 活 方 便 此 外, 您 更 可 憑 卡 於 全 球 近 400 萬 家 特

歡 迎 您 成 為 滙 豐 銀 聯 雙 幣 信 用 卡 持 卡 人 滙 豐 銀 聯 雙 幣 信 用 卡 同 時 兼 備 港 幣 及 人 民 幣 戶 口, 讓 您 的 中 港 消 費 均 可 以 當 地 貨 幣 結 算, 靈 活 方 便 此 外, 您 更 可 憑 卡 於 全 球 近 400 萬 家 特 歡 迎 您 成 為 滙 豐 銀 聯 雙 幣 信 用 卡 持 卡 人 滙 豐 銀 聯 雙 幣 信 用 卡 同 時 兼 備 港 幣 及 人 民 幣 戶 口, 讓 您 的 中 港 消 費 均 可 以 當 地 貨 幣 結 算, 靈 活 方 便 此 外, 您 更 可 憑 卡 於 全 球 近 400 萬 家 特 約 商 戶 簽 賬, 尊 享 種 種 購 物 飲 食 及 娛 樂 消 費 優 惠 如 需 查 詢 滙

More information

中国民用航空规章

中国民用航空规章 135 2004 12 16 CCAR-141 1 135 2 A...5 141.1...5 141.3...5 141.5...5 141.7...5 141.9...6 141.11...6 141.13...6 141.15...7 141.17...7 141.19...8 141.21...8 141.23...8 141.25...8 141.27...9 141.29...9 141.31...9

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

CH01.indd

CH01.indd 3D ios Android Windows 10 App Apple icloud Google Wi-Fi 4G 1 ( 3D ) 2 3 4 5 CPU / / 2 6 App UNIX OS X Windows Linux (ios Android Windows 8/8.1/10 BlackBerry OS) 7 ( ZigBee UWB) (IEEE 802.11/a/b/g/n/ad/ac

More information

RDEC-RES

RDEC-RES RDEC-RES-089-005 RDEC-RES-089-005 VI I II III 6 IV 7 3 V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX 1 2 3 4 5 6 7 8 躰 ( 9 10 躰 11 12 躰 1 13 14 躰 15 16 躰 17 18 19 1 20 21 22 2 23 24 25 26

More information

(譯本)

(譯本) 檔 號 : LD SMW 86-1/2(C) 立 法 會 參 考 資 料 摘 要 最 低 工 資 條 例 ( 第 608 章 ) 僱 傭 條 例 ( 第 57 章 ) 2015 年 最 低 工 資 條 例 ( 修 訂 附 表 3) 公 告 2015 年 僱 傭 條 例 ( 修 訂 附 表 9) 公 告 引 言 A 在 二 零 一 五 年 一 月 六 日 的 會 議 上, 行 政 會 議 建 議, 行

More information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

第 二 輯 目 錄.indd 2 目 錄 編 寫 說 明 附 : 香 港 中 學 文 憑 中 國 語 文 科 評 核 模 式 概 述 綜 合 能 力 考 核 考 試 簡 介 及 應 試 技 巧 常 用 實 用 文 文 體 格 式 及 寫 作 技 巧 綜 合 能 力 分 項 等 級 描 述 練 習 一

第 二 輯 目 錄.indd 2 目 錄 編 寫 說 明 附 : 香 港 中 學 文 憑 中 國 語 文 科 評 核 模 式 概 述 綜 合 能 力 考 核 考 試 簡 介 及 應 試 技 巧 常 用 實 用 文 文 體 格 式 及 寫 作 技 巧 綜 合 能 力 分 項 等 級 描 述 練 習 一 作 出 發 者 : 劉 梓 淩 版 : 精 工 出 版 社 行 : 精 工 印 書 局 香 港 銅 鑼 灣 道 168 號 電 話 :2571 1770 2554 1247 傳 真 :2806 0974 2873 2412 網 二 O 一 一 年 址 :http://www.jingkung.com 初 版 版 權 所 有, 翻 版 必 究 如 未 獲 得 本 公 司 同 意, 不 得 用 任 何

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

Microsoft Word - Panel Paper on T&D-Chinese _as at 6.2.2013__final_.doc

Microsoft Word - Panel Paper on T&D-Chinese _as at 6.2.2013__final_.doc 二 零 一 三 年 二 月 十 八 日 會 議 討 論 文 件 立 法 會 CB(4)395/12-13(03) 號 文 件 立 法 會 公 務 員 及 資 助 機 構 員 工 事 務 委 員 會 公 務 員 培 訓 及 發 展 概 況 目 的 本 文 件 介 紹 公 務 員 事 務 局 為 公 務 員 所 提 供 培 訓 和 發 展 的 最 新 概 況, 以 及 將 於 二 零 一 三 年 推 出

More information