教材内容总结
Unix I/O
- 打开文件:一个应程序通过要求内核打开相应的文件。
- Linux shell:创建的每个进程,开始都有三个打开的文件:标准输入(描述符为0),标准输出(描述符为1),标准错误(描述符为2)
- 关闭文件:通知内核关闭文件,作为响应,内核释放文件打开时创建的数据结构。
文件
- 文本文件是只含ASCII或Unicode字符的普通文件。二进制文件是所有其他文件。
- 目录:是包含一组链接的文件,其中每个链接都将文件名映射到一个文件。
- 绝对路径:以一个斜杠开始,表示从根节点开始的路径。
- 相对路径: 以文件名开始,表示从当前工作目录开始的路径。
- Linux目录层次:
打开文件和关闭文件
- mode参数指定了新文件的访问权限,每一个进程都有一个umask,通过调用umask来设置的,当前进程通过某个mode参数的open函数来创建新的文件时,文件的访问权限设置为mode&~umask。
读和写文件
- 在X86-64系统中size_t被定义为:unsigned long。ssize_t被定义为long。
- read_lineb:它从一个内部读缓冲区复制一个文本行,当缓冲区变空时,会自动的调用read函数重新填满患缓冲区。从文件rp读出下一个,将它复制到内存位置usrbuf,并且调用NULL来结束这个文件。
- read 和 wirte传送字节不足的问题有:1.读时遇到EOF。2.从终端读文本行。3.读和写网络套接字。
共享文件
- 典型的打开文件的内核数据结构:
- 文件共享
上周错题总结
3( 多选题 | 1 分)
The following table gives the parameters for a number of different caches. For
each cache, determine the number of cache sets (S), tag bits (t), set index bits (s),
and block offset bits (b)
A .第三行S为1
B .第一行t为24
C .第二行s为5
D .第三行b的值为5
正确答案: A C D 你的答案: A C
14( 多选题 | 1 分)
有关磁盘操作,说法正确的是()
A .对磁盘扇区的访问时间包括三个部分中,传送时间最小。
B .磁盘以字节为单位读写数据
C .磁盘以扇区为单位读写数据
D .读写头总处于同一柱面
正确答案: A C D 你的答案: A C
20( 多选题 | 1 分)
有关RAM的说法,正确的是()
A .SRAM和DRAM掉电后均无法保存里面的内容。
B .DRAM将一个bit存在一个双稳态的存储单元中
C .一般来说,SRAM比DRAM快
D .SRAM常用来作高速缓存
E .DRAM将每一个bit存储为对一个电容充电
F .SRAM需要不断刷新
G .DRAM被组织为二维数组而不是线性数组
正确答案: A C D E G 你的答案: A D E G