您的位置:首页 > 其它

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能做什么?

每一行代表一个已登录的用户,所显示的内容从左向右依次是:用户名、终端名、登录时间、登陆地址(通常不显示)



who是如何实现的?

who命令通过打开utmp文件,读取信息,关闭文件。



编写who

who1运行结果



who2运行结果



ls命令

ls能做什么

ls:读取文件名和文件属性,按照字典序排序后输出。

包含7个字段:

模式          每行的第一个字符表示文件类型,“-”代表普通文件,“d”代表目录文件。
链接数     指该文件被引用的次数
文件所有者   指出文件所有者的用户名
组           指出文件所有者所在的组
大小          显示文件的字节数
最后修改时间  文件的最后修改时间
文件名     文件名


常用命令:

ls -l   以长格式的形式查看当前目录下所有可见文件的详细属性
ls -a   列出的内容包含以“.”开头的文件
ls -lu  最后访问时间
ls -s   以块为单位的文件大小
ls -t   按时间排序
ls -F   显示文件类型

-ls是如何实现的?

文件树:文件和目录被组织成目录树(tree),节点是目录或者文件。目录是一种特殊文件,文件内容就是目录和文件的名字,与utmp类似,目录不会为空,至少包括
.
..
两项。

编写ls。

ls1.c运行结果



ls2.c运行结果



代码运行结果

cp1.c复制文件



echostate.c用来检查命令行中的提示符是否显示的,如果显示,输入的命令都可见,不显示则表示输入的命令不可见



fileinfo.c显示文件信息



filesize.c显示文件etc/passwd的大小



setecho.c可以改变符号显示状态,no是不显示符号,yes是显示



spwd.c显示到达当前目录的路径



testioctl.c统计当前命令行行数



本周代码托管截图



链接:https://git.oschina.net/20145304/computer-systems

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第五周30/601/510/32
第七周0/1601/78/48
第八周0/1601/85/53
第九周157/3171/97/60
第十周647/9641/106/66

参考资料

《深入理解计算机系统V2》学习指导

别出心裁的Linux系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: