您的位置:首页 > 其它

学号20145220《信息安全系统设计基础》第10周学习总结

2016-11-20 17:46 246 查看

学号20145220《信息安全系统设计基础》第10周学习总结

教材学习内容总结

第十章 系统级I/O

附录A中主要讲了这本书中的错误处理方式,有一个方法——错误处理包装函数,这个思想很有意思,相当于给基本函数再套上一层皮,然后run这个皮,发现了错误就终止,完全正确的话就跟没有这层皮一样。

错误处理

1.错误处理风格

(1)Unix风格

遇到错误后返回-1,并且将全局变量errno设置为指明错误原因的错误代码;

如果成功完成,就返回有用的结果。

(2)Posix风格

返回0表示成功,返回非0表示失败;

有用的结果在传进来的函数参数中。

(3)DNS风格

有两个函数,gethostbyname和gethostbyaddr,失败时返回NULL指针,并设置全局变量h_errno。

(4)错误报告函数

void unix_error(char msg) / unix-style error /

{

fprintf(stderr, "%s: %s\n", msg, strerror(errno));

exit(0);

}

/ $end unixerror */

void posix_error(int code, char msg) / posix-style error */

{

fprintf(stderr, "%s: %s\n", msg, strerror(code));

exit(0);

}

void dns_error(char msg) / dns-style error */

{

fprintf(stderr, "%s: DNS error %d\n", msg, h_errno);

exit(0);

}

void app_error(char msg) / application error */

{

fprintf(stderr, "%s\n", msg);

exit(0);

}

2.错误处理包装函数

Unix风格

成功时返回void,返回错误时包装函数打印一条信息,然后退出。

void Kill(pid_t pid, int signum)

{

int rc;

if ((rc = kill(pid, signum)) < 0)
unix_error("Kill error");

}

Posix风格

成功时返回void,错误返回码中不会包含有用的结果。

void Pthread_detach(pthread_t tid) {

int rc;

if ((rc = pthread_detach(tid)) != 0)
posix_error(rc, "Pthread_detach error");

}

DNS风格

struct hostent Gethostbyname(const char name)

{

struct hostent *p;

if ((p = gethostbyname(name)) == NULL)
dns_error("Gethostbyname error");
return p;

}

视频学习内容总结

ls命令

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

常用的命令行选项:

ls -l 以长格式的形式查看当前目录下所有可见文件的详细属性

ls -a 列出的内容包含以“.”开头的文件

ls -lu 最后访问时间

ls -s 以块为单位的文件大小

ls -t 按时间排序

ls -F 显示文件类型

ls -l

ls -l 的输出每行都包含7个字段

模式 每行的第一个字符表示文件类型,“-”代表普通文件,“d”代表目录文件。

链接数 指该文件被引用的次数

文件所有者 指出文件所有者的用户名

组 指出文件所有者所在的组

大小 显示文件的字节数

最后修改时间 文件的最后修改时间

文件名 文件名

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/5002/418/38
第三周500/10003/722/60
第四周300/13002/930/90

参考资料

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

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