2017-2018-1 20155327 《信息安全系统设计基础》课堂测试&课下作业
2017-2018-1 20155327 《信息安全系统设计基础》课堂测试&课下作业
学习使用stat(1),并用C语言实现
- 提交学习stat(1)的截图
- man -k ,grep -r的使用
- 伪代码
- 产品代码 mystate.c,提交码云链接
测试代码,mystat 与stat(1)对比,提交截图
问题分析
stat命令
- 定义
1.用来显示文件的详细信息,包括inode, atime, mtime, ctime
2.相比ls而言,stat还可以看到设备号,环境等信息。
-常用命令
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
-help:显示指令的帮助信息;
-version:显示指令的版本信息。
来自: http://man.linuxde.net/stat
问题解决过程以及学到知识点
学习stat(1)
man 1 stat
man -k ,grep -r的使用
使用man -k stat | grep 2查找相关函数
C语言实现stat,mystat 与stat(1)截图对比
实践二
1 理解test.c, 说出程序功能
2 编译运行程序,提交运行截图
程序功能
先打印输入的前三行文本,然后读入data文档中的数据,打印其中的前三行文本。
程序如下:
````#include <stdio.h>include <stdlib.h>
include <fcntl.h>
include <unistd.h>
main()
{
int fd;
int newfd;
char line[100];
fgets(line,100,stdin);
printf("%s",line);
fgets(line,100,stdin);
printf("%s",line);
fgets(line,100,stdin);
printf("%s",line);
fd=open("data",O_RDONLY);
newfd=dup2(fd,0);
if(newfd!=0)
{
fprintf("stderr","Could not duplicate fd to 0\n");
exit(1);
}
close(fd);
fgets(line,100,stdin);
printf("%s",line);
fgets(line,100,stdin);
printf("%s",line);
fgets(line,100,stdin);
printf("%s",line);
}
````
截图
问题解决过程以及学到知识点
- fgets函数
fgets(line, n, file) 函数功能:从 目标文件流 file 中读取 n-1 个字符,放入以 line 起始地址的内存空间中。
程序中用于采集三次用户输入并打印出来
课上试卷
由于自己疏忽了时间导致没有交上
( 单选题 | 1 分)
下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为()
Image 5.png
A .
1
B .
1/4
C .
1/2
D .
3/4
正确答案: D 你的答案: 未作答
解析:因为填充消除了冲突不命中,所以答案等于(8-2)/8
2
( 多选题 | 1 分)
有关高速缓存的说法正确的是()
A .
高速缓存的容量可以用C=SEB 来计算
B .
高速缓存容量为2048,高速缓存结构为( 32 ,8,8,32)
C .
直接映射高速缓存要:组选择、行匹配、字抽取
D .
当程序访问大小为2的幂的数组时,直接映射高带缓存中常发生冲突不命中
正确答案: A C D 你的答案: 未作答 查看知识点 | 查看解析
解析:高速缓存结构为(( 32 ),8,8,32)
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)
Image 4.png
A .
第三行S为1
B .
第一行t为24
C .
第二行b为5
D .
第三行s的值为0
正确答案: A C D 你的答案: 未作答 查看知识点 | 查看解析
解析:第二行的t为24
4
( 多选题 | 1 分)
有关缓存的说法,正确的是()
A .
LRU策略指的是替换策略的缓存会选择最后被访问时间距现在最远的块
B .
不同层之间以字节为传送单元来回复制
C .
缓存不命时,决定哪个块是牺牲块由替换策略来控制
D .
空缓存的不命中叫冲突不命中
正确答案: A C 你的答案: 未作答 查看知识点 | 查看解析
b.不同层之间不是以字节为传送单元来回复制,而是以块为大小传输单元在层与层之间复制。
d.空缓存的不命中叫强制性不命中或冷不命中
5
( 多选题 | 1 分)
下面说法正确的是()
Image 3.png
A .
存储层次结构中最小的缓存是寄存器
B .
存储层次结构的中心思想是每一层都缓存来自较低一层的数据对象
C .
L4主存可以看作是L5:本地磁盘的缓存
D .
L4主存可以看作是L6的缓存
正确答案: A B C 你的答案: 未作答 查看知识点 | 查看解析
每一层都缓存来自较低一层的数据,L4主存可以看作L5:本地磁盘的储存,但是不能看作是L6的缓存。
6
( 单选题 | 1 分)
下面代码的步长是()
Image 2.png
A .
1
B .
N
C .
NN
D .
NNN
正确答案: C 你的答案: 未作答 查看知识点 | 查看解析
解析:步长值是循环体中计数器每次的增量值,因为sum += a[k][i][j]所以步长为NN。
7
( 单选题 | 1 分)
下面代码中()局部性最差
1 #define N 1000
2 3
typedef struct {
4 int vel[3];
5 int acc[3];
6 } point;
7 8
point p[N];
A .
1 void clear1(point p, int n)
2 {
3 int i, j;
4 5
for (i = 0; i < n; i++) {
6 for (j = 0; j < 3; j++)
7 p[i].vel[j] = 0;
8 for (j = 0; j < 3; j++)
9 p[i].acc[j] = 0;
10 }
11 }
B .
1 void clear2(point p, int n)
2 {
3 int i, j;
4 5
for (i = 0; i < n; i++) {
6 for (j = 0; j < 3; j++) {
7 p[i].vel[j] = 0;
8 p[i].acc[j] = 0;
9 }
10 }
11 }
C .
1 void clear3(point *p, int n)
2 {
3 int i, j;
4 5
for (j = 0; j < 3; j++) {
6 for (i = 0; i < n; i++)
7 p[i].vel[j] = 0;
8 for (i = 0; i < n; i++)
9 p[i].acc[j] = 0;
10 }
11 }
D .
不确定
正确答案: C 你的答案: 未作答 查看知识点 | 查看解析
解析:C只有时间局部性。
8
( 单选题 | 1 分)
程序中()语句具有良好的局部性
A .
顺序
B .
分支
C .
循环
D .
以上都是
正确答案: C 你的答案: 未作答 查看知识点 | 查看解析
解析:循环体越小,循环迭代次数越多,局部性越好。
9
( 单选题 | 1 分)
下面代码,()具有差的空间局部性。
A .
1 int sumvec(int v[N])
2 {
3 int i, sum = 0;
4
5 for (i = 0; i < N; i++)
6 sum += v[i];
7 return sum;
8 }
B .
1 int sumarrayrows(int a[M][N])
2 {
3 int i, j, sum = 0;
4 5
for (i = 0; i < M; i++)
6 for (j = 0; j < N; j++)
7 sum += a[i][j];
8 return sum;
9 }
C .
1 int sumarraycols(int a[M][N])
2 {
3 int i, j, sum = 0;
4 5
for (j = 0; j < N; j++)
6 for (i = 0; i < M; i++)
7 sum += a[i][j];
8 return sum;
9 }
D .
以上都不对
正确答案: C 你的答案: 未作答 查看知识点 | 查看解析
解析:C中按照列的顺序来扫描数组,而不是按照行的顺序,因此它是使用步长为N的引用模式来扫描。
10
( 多选题 | 1 分)
有关局部性原理,说法正确的是()
A .
程序访问一个向量,步长越小或短,空间局部性越好
B .
局部性有两种形式:空间局部性,时间局部性
C .
程序访问一个向量,步长越大空间局部性越好。
D .
硬件、OS,应用程序都会用到局部性原理
正确答案: A B D 你的答案: 未作答 查看知识点 | 查看解析
解析:程序访问一个向量,步长越小空间局部性越好。
11
( 多选题 | 1 分)
下面说法正确的是()
A .
CPU通过内存映射I/O向I/O设备发命令
B .
DMA传送不需要CPU的干涉
C .
SSD是一种基于闪存或Flash的存储技术
D .
逻辑磁盘块的逻辑块号可以翻译成一个(盘面,磁道,扇区 )三元组。
正确答案: A B C D 你的答案: 未作答 查看知识点 | 查看解析
解析:全选
12
( 单选题 | 1 分)
下面()是I/O总线
A .
USB
B .
PCI
C .
网卡
D .
图形卡
正确答案: B 你的答案: 未作答 查看知识点 | 查看解析
解析:目前PC机中采用的I/O总线是PCI总线,传输速率较高可以有多个设备共享(比如USB)总线上有三类信号,数据信号,地址信号,控制信号,用于连接外存与外设,注意I/O总线与CPU总线的区别,CPU总线用于连接主存与CPU(也可说高速缓存即Cache)
13
( 单选题 | 1 分)
图中磁盘一个扇区的访问时间约为()ms
A .
10
B .
5
C .
6
D .
8
E .
12
正确答案: A 你的答案: 未作答 查看知识点 | 查看解析
解析:平均磁盘访问时间 = 平均寻道时间 + 平均旋转延时 + 传输时间 + 控制器延时
14
( 多选题 | 1 分)
有关磁盘操作,说法正确的是()
A .
对磁盘扇区的访问时间包括三个部分中,传送时间最小。
B .
磁盘以字节为单位读写数据
C .
磁盘以扇区为单位读写数据
D .
读写头总处于同一柱面
正确答案: A C 你的答案: 未作答 查看知识点 | 查看解析
解析:
B.磁盘以扇区大小的块来读写数据
D.在任何时刻,所有的读/写头都位于同一个柱面上。
15
( 单选题 | 1 分)
计算下面磁盘的容量():4个盘片,100000个柱面,每条磁道400个扇区,每个扇区512个字节
A .
81.92GB
B .
40.96GB
C .
163.84
D .
327.68GB
正确答案: C 你的答案: 未作答 查看知识点 | 查看解析
解析:磁盘容量 = 字节数/扇区 X 平均磁盘数/磁道 X 磁道数/表面 X 表面数/盘片 X 盘片数/磁盘
16
( 多选题 | 1 分)
有关磁盘,说法正确的是()
A .
磁盘的读取时间为毫秒级
B .
每张磁盘有一个表面
C .
表面由磁道组成
D .
每个扇区的面积不同,包含的数据位的数量也不一样
正确答案: A C 你的答案: 未作答 查看知识点 | 查看解析
博客园首页新随笔联系管理订阅
随笔- 49 文章- 0 评论- 57
2017-2018-1 20155323 《信息安全系统设计基础》第10周学习总结
2017-2018-1 20155323 《信息安全系统设计基础》第10周学习总结
课堂测试CH06
答案: D
解析:因为填充消除了冲突不命中,所以答案等于(8-2)/8
答案: A C D
解析:高速缓存结构为(( 32 ),8,8,32)
解析:第二行的t为24
解析:
b.不同层之间不是以字节为传送单元来回复制,而是以块为大小传输单元在层与层之间复制。
d.空缓存的不命中叫强制性不命中或冷不命中
解析:每一层都缓存来自较低一层的数据,L4主存可以看作L5:本地磁盘的储存,但是不能看作是L6的缓存。
解析:步长值是循环体中计数器每次的增量值,因为sum += a[k][i][j]所以步长为N*N。
解析:C只有时间局部性。
解析:对于取值令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。
解析:函数sumarraycols()按照列的顺序来扫描数组,而不是按照行的顺序,因此它是使用步长为N的引用模式来扫描。
解析:程序访问一个向量,步长越小空间局部性越好。
解析:PCI是I/O总线。
解析:
B.磁盘以扇区大小的块来读写数据
D.在任何时刻,所有的读/写头都位于同一个柱面上。
解析:存储容量C=柱面(磁道)数T x 磁盘面(磁头)数H x 扇区数S x 字节数 =4x2x100000x400x512=163.84GB。
解析:
B.每个盘片有两面或者称为表面。
D.每个扇区所包含的数据位的数量是一样的。
17
( 多选题 | 1 分)
根据携带信号不同,总线可分为()
A .
系统总线
B .
数据总线
C .
内存总线
D .
地址总线
E .
控制总线
正确答案: B D E 你的答案: 未作答 查看知识点 | 查看解析
解析:总线分为数据总线、地址总线、控制总线。
18
( 多选题 | 1 分)
关于非易失性存储器,下面说法正确的是()
A .
DRAM是非易失性存储器
B .
SRAM是非易失性存储器
C .
PROM只能编程一次
D .
EEPROM可以用紫外线进行擦除
E .
存在ROM中的程序通常被称为固件
正确答案: C E 你的答案: 未作答 查看知识点 | 查看解析
解析:DRAM、SRAM是易失的。
D:EEPROM不可以用紫外线进行擦除,EPROM可以。
19
( 单选题 | 1 分)
通过使用两个时钟沿作为控制信号,对DRAM进行增强的是()
A .
FPM DAM
B .
SDRAM
C .
DDR SDRAM
D .
VRAM
E .
EDO DRAM
正确答案: C 你的答案: 未作答 查看知识点 | 查看解析
解析:双倍数据速率同步DRAM(DDR SDRAM)使用两个时钟沿作为控制信号,使DRAM速度翻倍。
20
( 多选题 | 1 分)
有关RAM的说法,正确的是()
A .
SRAM和DRAM掉电后均无法保存里面的内容。
B .
DRAM将一个bit存在一个双稳态的存储单元中
C .
一般来说,SRAM比DRAM快
D .
SRAM常用来作高速缓存
E .
DRAM将每一个bit存储为对一个电容充电
F .
SRAM需要不断刷新
G .
DRAM被组织为二维数组而不是线性数组
正确答案: A D E G 你的答案: 未作答 查看知识点 | 查看解析
21
( 多选题 | 1 分)
有关计算机存储系统,下面说法正确的是()
A .
程序具有良好的局部性表现在倾向于从存储器层次结构中的较低层次处访问数据,这样节省时间
B .
存储层次涉用不同容量,成本,访问时间的存储设备
C .
存储层次设计基于局部性原理
D .
“存储山”是时间局部性和空间局部性的函数
正确答案: B C D 你的答案: 未作答 查看知识点 | 查看解析
2017-2018-1 20155327 《信息安全系统设计基础》课堂测试&课下作业的更多相关文章
- 2017-2018-1 20155330 《信息安全系统设计基础》第10周课堂测试&课下作业
2017-2018-1 20155330 <信息安全系统设计基础>第10周课堂测试&课下作业 stat命令的实现-mysate 学习使用stat(1),并用C语言实现 提交学习st ...
- 20155229 《信息安全系统设计基础》 week10 课上测试ch06
1( 单选题 | 1 分) 下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为() A . 1 B . 1/4 C . 1/2 D . 3/4 正确答案: D 解析:填充消除 ...
- 课堂练习&课下作业----用户场景分析
典型用户1 ·小明---一名普通大学生生 名字 小明 性别.年龄 男,19岁 职业 大学生 收入 无 知识层次和能力 石家庄铁道大学学生,善于交际. 生活/工作情况 成绩优异,各方面技能突出 动机,目 ...
- 课堂练习&课下作业
设计思路: 列举出买十本的所有情况:1.一本的时候不打折扣 2.两本的时候买两本价最低 3.三本的时候买三本价最低 4.四本的时候买四本价最低 5.五本的时候买五本价最低 6.六本的时候分一本和五本价 ...
- 软件工程课堂练习&课下作业
题目:返回一个整数数组中最大子数组的和.一.设计思路按顺序定义子数组的和,如果为负,则选下一位数为子数组的和,反之则两个相加为子数组的和.二.源代码 package test;import java. ...
- 20155326 2017-2018-1 《信息安全系统设计基础》第2周学习及课堂总结myod
20155326 2017-2018-1 <信息安全系统设计基础>第1次学习及课堂总结myod 虚拟机之前出了一些问题,然后我重新弄了一个新的虚拟机. 先在虚拟机里面安装了git. 安完以 ...
- 20155308《信息安全系统设计基础 嵌入式C语言课堂考试补博客
20155308<信息安全系统设计基础 嵌入式C语言课堂考试补博客 知识点 置位 ?bits = bits | (1 << 7) ; /* sets bit 7 */ bits |= ...
- 20155217 《信息安全系统设计基础》week16课堂测试
20155217 <信息安全系统设计基础>week16课堂测试 在作业本上完成附图作业,要认真看题目要求并提交作业截图. 在set的过程中,我们需要将hour部分进行赋值,赋值我们采用&q ...
- 2017-2018-1 20155232 《信息安全系统设计基础》第十周课堂测试(ch06)补交
# 2017-2018-1 20155232 <信息安全系统设计基础>第十周课堂测试(ch06)补交 上课时完成测试后在提交的时候,没有提交成功,进行补交. 1.下面代码中,对数组x填充后 ...
随机推荐
- Java.lang 包 (包装类、String类、Math类、Class类、Object类)
Java 的核心 API(Application Programming Interface)是非常庞大的,这给开发者带来了很大的方便. java.lang 包是 Java 的核心类库,它包含了运行 ...
- Save and read double array in a binary file
;} 32 bytes read 9.5 -3.4 1 2.1 "
- 使用loader打包静态文件-样式2
这篇我们了解下css-loader常用的配置项,要配置的话,use里面就不再是一个字符串了 // 打包模块不知道该怎么办,就去模块配置里面该怎么办 module: { // 规则 rules: [{ ...
- Python - if-else 的多种简洁写法
本博客原文来自:http://www.cnblogs.com/xiexiaoxiao/p/7772441.html,对原作者表示感谢,此处个人转载. 1. 常用 if ... else写法 # 语法 ...
- Odoo中报表PDF样式出错的解决办法
如果发现生成的pdf样式不对,那可能是wkhtmltopdf没办法访问web服务器导致的.wkhtmltopdf进程使用web.base.url作为根url来生成对应文件路径,但这个地址是每次管理员登 ...
- jQuery .attr()和.removeAttr()方法操作元素属性示例
今天主要和大家一起分享一下如何使用jQuery的.attr()和.removeAttr()方法读取,添加,修改,删除元素的属性.大家在平时的Web页面制作中都有碰到如何动态的获取元素的属性和属性值,或 ...
- QT 简单 TCP 通信,发送数据到服务器
1.首先 添加头文件 #include <QtNetwork/QTcpSocket> 并且 在 xxx.pro(xxx指工程的名称) 中QT += core gui下面,添加 下面两句句话 ...
- IQueryable和IEnumerable
使用EF你必须知道这两个的区别,可以帮助我们的提升性能. 表达树:Linq 表达 ①IQueryable和IEnumerable IQueryable 延时执行:扩展方法接受的是Expression( ...
- 每天to do list
至少写一页书 写代码做一个实验 读10+页专业书 一年时间,如果经济状况没有改善的话,回归企业.
- Lua库-string库
string.len(s) string.rep(s,n) string.lower(s) string.upper(s) string.sub(s,i);//截取s第i个开始的后缀 string.s ...