20145304 《信息安全系统设计基础》第十周学习总结
2016-11-20 10:32
288 查看
20145304 《信息安全系统设计基础》第十周学习总结
教材学习内容总结
别出心裁的Linux系统
操作系统通过三抽象概念完成了「管家婆」的功能:通过「文件」对I/O设备进行了抽象
通过「虚存」对主存和I/O设备进行了抽象
通过「进程」对CPU、主存和I/O设备进行了抽象
一般来说,操作系统通过三个服务完成了「服务生」的概念:
GUI:为小白用户提供服务,你只会用鼠标就可以使用操作系统
Shell: 为高级用户提供服务,你要记忆系统命令,更多通过键盘使用操作系统
系统调用:为专业用户程序员提供服务,你可以创建自己的工具让大家更好的使用操作系统
使用系统调用的三种方法:
1.通过 int 指令陷入:通过软中断指令int 0x80 来陷入内核态
2.使用 syscall 直接调用, glibc没有封装某个系统调用时可以
3.通过 glibc 提供的API调用,最方便的方法
学习系统调用可通过解决以下三个问题来实现:
1.它能做什么?
2.它是如何实现的?
3.能不能自己编写一个?
who命令
who能做什么?每一行代表一个已登录的用户,所显示的内容从左向右依次是:用户名、终端名、登录时间、登陆地址(通常不显示)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/da339c08497de9211e05f4f5b66963da.png)
who是如何实现的?
who命令通过打开utmp文件,读取信息,关闭文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/024c38abedb06134f5320cd5bb1ec2d9.png)
编写who
who1运行结果
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/6dc787080402e57bbd8186d237c5afd0.png)
who2运行结果
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/7bd2032869517555c5b9c4767bb190a5.png)
ls命令
ls能做什么ls:读取文件名和文件属性,按照字典序排序后输出。
包含7个字段:
模式 每行的第一个字符表示文件类型,“-”代表普通文件,“d”代表目录文件。 链接数 指该文件被引用的次数 文件所有者 指出文件所有者的用户名 组 指出文件所有者所在的组 大小 显示文件的字节数 最后修改时间 文件的最后修改时间 文件名 文件名
常用命令:
ls -l 以长格式的形式查看当前目录下所有可见文件的详细属性 ls -a 列出的内容包含以“.”开头的文件 ls -lu 最后访问时间 ls -s 以块为单位的文件大小 ls -t 按时间排序 ls -F 显示文件类型
-ls是如何实现的?
文件树:文件和目录被组织成目录树(tree),节点是目录或者文件。目录是一种特殊文件,文件内容就是目录和文件的名字,与utmp类似,目录不会为空,至少包括
.和
..两项。
编写ls。
ls1.c运行结果
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/4ad7ab9542d730591ea55f39f5e87f20.png)
ls2.c运行结果
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/1532cf1f4507494bc9d2aa7fc4ee441a.png)
代码运行结果
cp1.c复制文件![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/3afaa2ece6743855d42a6ad3cb2132da.png)
echostate.c用来检查命令行中的提示符是否显示的,如果显示,输入的命令都可见,不显示则表示输入的命令不可见
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/809ca64fadf35a1fa6b3d7f24b1b068e.png)
fileinfo.c显示文件信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/dc8801bd376d9989fa54f88568e55666.png)
filesize.c显示文件etc/passwd的大小
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/fe05e4951b8e60a57e0141214d5c15d0.png)
setecho.c可以改变符号显示状态,no是不显示符号,yes是显示
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/ca7fafe2dec14a087ff7d97dbecb8b34.png)
spwd.c显示到达当前目录的路径
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/aece04140041dd77515fe4800fcfa1f9.png)
testioctl.c统计当前命令行行数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/63315e44d47fa96bd28f66e8830778c2.png)
本周代码托管截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/f5e29578f7b4d22f092ccf7cb92038cf.png)
链接:https://git.oschina.net/20145304/computer-systems
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第五周 | 30/60 | 1/5 | 10/32 | |
第七周 | 0/160 | 1/7 | 8/48 | |
第八周 | 0/160 | 1/8 | 5/53 | |
第九周 | 157/317 | 1/9 | 7/60 | |
第十周 | 647/964 | 1/10 | 6/66 |
参考资料
《深入理解计算机系统V2》学习指导别出心裁的Linux系统
相关文章推荐
- 20145304 《信息安全系统设计基础》第三周学习总结
- 20145315 《信息安全系统设计基础》第十周学习总结
- 20145227《信息安全系统设计基础》第十周学习总结
- 20145228 《信息安全系统设计基础》第十周学习总结 (2)
- 20145216史婧瑶《信息安全系统设计基础》第十周学习总结
- 20145304 《信息安全系统设计基础》第五周学习总结
- 20145238《信息安全系统设计基础》第十周学习总结
- 20145215《信息安全系统设计基础》第十周学习总结
- 20145311 《信息安全系统设计基础》第十周学习总结
- 20145329 《信息安全系统设计基础》第十周学习总结
- 20145316 《信息安全系统设计基础》第十周学习总结
- 20145304 《信息安全系统设计基础》第七周学习总结
- 20145207《信息安全系统设计基础》第十周学习总结
- 20145304 《信息安全系统设计基础》第六周学习总结
- 20145304 《信息安全系统设计基础》第1周学习总结
- 20145304 《信息安全系统设计基础》第九周学习总结
- 20145218 《信息安全系统设计基础》第十周学习总结
- 20145337 《信息安全系统设计基础》第十周学习总结
- 20145319 《信息安全系统设计基础》第十周学习总结
- 20145326蔡馨熠《信息安全系统设计基础》第十周学习总结