20155236 《信息安全系统设计基础》第11周学习总结

20155236 《信息安全系统设计基础》第11周学习总结

教材学习内容总结

  • ls -l:可以显示当前目录下目录或文件的详细属性信息
  • 1
  • 详细属性说明:
    • 第一位表示类型,-代表文件,d代表目录;
    • 二至四位代表文件创建者权限,-代表无权限,r代表具有读权限,w代表具有写权限,x代表具有执行权限;
    • 五至七位代表同组用户权限;
    • 八至十位代表其他用户权限。
  • 第二列为文件硬链接数,或目录、子目录数。若为目录的,该字段至少是2,表示该目录下至少有两个子目录
  • 第三列为所有者
  • 第四列为所属用户组
  • 第五列为文件大小
  • 第六列为文件最后修改时间
  • 第七列为文件名
  • 编写ls三大问题
    • 1、如何列出目录内容
    • 2、如何读取文件属性
    • 3、如何判断目录名与文件名
  • 目录文件永远不会为空,因为每一个目录会表示当前文件夹,以及他的父文件夹,所以每个目录至少包含两个特殊项...,其中.表示当前目录,..表示上一级目录

echostate.c

  • 功能:查看在命令行中输入命令时是否可见,可见返回1,否则返回0

    • echo is on:命令可见
    • echo is off:命令不可见

setecho.c

  • 功能:设置echo的状态,用来改变输入指令是否可见。

    • 输入y(或是以y开头的一串字符),命令可见
    • 否则(即输入不以y开头的字符),命令不可见

fileinfo.c

  • 功能:查看文件信息
  • 其中各变量的含义是:(通过grep -nr XXX /usr/include可查询)
    • mode:st_mode 文件的类型和存取的权限
    • links:st_nlink 连到该文件的硬链接数目,刚建立的文件值为1
    • user:st_uid 用户ID
    • group:st_gid 组ID
    • size:st_size 文件字节数
    • modtime:st_mtime 最后一次修改时间

ls1.c

  • 功能:显示指定目录下的所有文件(默认为当前目录)

ls2.c

  • 显示指定目录下的文件详细信息(默认为当前目录)

spwd.c

  • 功能:显示当前目录路径

testioctl.c

  • 查看窗体大小信息

教材学习中遇到的问题

who.c

cp1.c

  • 第一遍的输入是错误的,第二遍的输入正常
  • 2
  • 通过错误提示,我们可以观察其报错部分的代码,调用了oops()自定义函数
void oops(char *s1, char *s2)
{
    fprintf(stderr, "Error: %s ", s1);
    perror(s2);
    exit(1);
}
  • 经查找相关资料可以得到,perror(s)用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno(这里的说法不准确,errno是一个宏,该宏返回左值) 的值来决定要输出的字符串。
  • 在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你调用"某些"函数出错时,该函数已经重新设置了errno的值。perror函数只是将你输入的一些信息和现在的errno所对应的错误一起输出。
  • 这就是函数自动输出错误信息的原因。

结对学习

1、页表:是一个数据结构,存放在物理存储器中,将虚拟页映射到物理页,就是一个页表条目的数组。

页表就是一个页表条目PTE的数组。

PTE:由一个有效位和一个n位地址字段组成的,表明了该虚拟页是否被缓存在DRAM中。 页表的组成:有效位+n位地址字段

2、如果设置了有效位:

地址字段表示DRAM中相应的物理页的起始位置,这个物理页中缓存了该虚拟页。

如果没有设置有效位:

空地址:表示该虚拟页未被分配

不是空地址:这个地址指向该虚拟页在磁盘上的起始位置。

其他(感悟、思考等,可选)

  • 本周主要是对上一周学习的精进,通过实验和代码实践,能帮助我们更好理解本章内容;并使我们通过亲身的编译链接执行,慢慢体会Linux的运作,强大的系统调用,可以帮助我们完成更多的事情,有一种通过C语言通过代码“操控”系统的感觉。但这种体验是要建立在熟悉使用各种Linux查询指令的基础上的,只有学会怎样搜索有用信息、学会思考分析,才能应对更多的陌生的指令。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 20/20
第二周 79/279 1/2 30/50
第三周 182/461 1/3 25/75
第四周 36/497 1/4 3/78
第五周 194/691 1/5 28/106
第六周 520/1211 2/7 27/133
第七周 85/1296 1/8 21/153
第八周 0/1296 2/10 20/173
第九周 234/1530 1/11 30/203
第十周 453/1983 2/13 20/223
第十一周 200/2183 1/14 10/234

参考资料

时间: 2025-01-14 12:57:04

20155236 《信息安全系统设计基础》第11周学习总结的相关文章

20145309信息安全系统设计基础第11周学习总结后篇

进程 异常是允许操作系统提供进程的概念所需要的基本构造块. 进程:一个执行中的程序的实例. 上下文是由程序正确运行所需要的状态组成的,这个状态包括存放在存储器中的程序的代码和数据,它的栈.通用目的寄存器的内容.程序计数器.环境变量以及打开文件描述符的集合. 进程提供给应用程序的关键抽象: 一个独立的逻辑控制流,独占地使用处理器: 一个私有的地址空间,独占地使用存储器系统. 并发流:一个逻辑流的执行在时间上与另一个流重叠. 并发:多个流并发地执行的一般现象. 多任务:一个进程和其他进程轮流运行的概

20145309信息安全系统设计基础第11周学习总结前篇

教材学习内容总结 异常 异常:处理器中的变化(事件)触发从应用程序到异常处理程序的突发的控制转移 异常处理程序:在任何情况下,当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表进行一个间接过程调用,到一个专门处理这类时间的操作系统子程序 当 exception handler处理结束之后,会有三种结果: ·处理程序将控制返回给事件发生的时候正在执行的指令 ·处理程序将控制返回给如果没有发生异常将会执行的下一条指令 ·处理程序终止被终端的程序 所有的到Linux系统调用的参数都是通过寄存

20145216史婧瑶《信息安全系统设计基础》第九周学习总结

20145216史婧瑶<信息安全系统设计基础>第九周学习总结 教材内容总结 第十章 系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 第一节 Unix I/O 这一节涉及到操作系统的基本抽象之一--文件.也就是说,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读/写.相关的执行动作如下: 1.打开文件: 应用程序向内核发出请求→要求内核打开相应的文件→内核返回文件描述符 文件描述符:一个小的非负整数,用来在后续对此文件的所有操作中标识这个文件.有

2017-2018-1 20155227 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155227 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 第六章 随机访问存储器 随机访问存储器分为:静态RAM(SRAM)和动态RAM(DRAM),静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多. (1)静态RAM SRAM将每个位存储在一个双稳态的存储器单元里,每个单元是用一个六晶体管电路来实现的. 属性:它可以无限制地保持在两个不同的电压配置或状态之一.其他任何状态都是不稳定的. 特点:由于SRAM的双稳态特性,只要有电,它就会永

2017-2018-1 20155334 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155334 <信息安全系统设计基础>第九周学习总结 学习目标: 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 理解局部性原理 理解缓存思想 理解局部性原理和缓存思想在存储层次结构中的应用 高速缓存的原理和应用 教材学习内容总结 一.常见的存储技术: 基本的存储技术包括随机存储器(RAM).非易失性存储器(ROM)和磁盘. 1. RAM分静态RAM(SRAM)和动态RAM(DRAM). 2. SRAM快些,主要用做CPU芯片上的高速缓存,也可以用作芯片下的

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

20145311 《信息安全系统设计基础》第二周学习总结

20145311 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 重新学习了一下上周的一部分命令:grep main wyx.c(grep的全文检索功能)ls > ls.txt :ls内容输出到文本find pathname -mtime -n/+nfind -size -n/+n (find的功能还是比较强大) 简单地学习了一下vim编辑器,跟着vimtutor简单地学了一些,在linux bash中使用vim能够极大地提高效率, vim的用法比较多,只学习了其中简单的一部分

20145339《信息安全系统设计基础》第一周学习总结

20145339顿珠达杰<信息安全系统设计基础>第一周学习总结 ◆ Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 物理机系统上可以通过使用[Ctrl]+[Alt]+[F1]-[F6]进行终端和图形界面切换,在线实验环境中按下[Ctrl]+[Alt]+[F7]来完成切换.普通意义上的 Shell 就是可以接受用户输入命令的程序,Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的

2017-2018-1 20155228 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每