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

教材总结

1.构造并发程序的方法有三种:

1.进程。每个逻辑流都是一个进程,由内核来调度和维护。
2.I/O多路复用。在这种形式中,应用程序在一个进程的上下文中显式地调度它们自己的逻辑流。逻辑流被模型化为状态机。因为程序是一个单独的进程,所以所有的流都共享同一个地址空间。
3.线程。线程是运行在单一进程上下文中的逻辑流,由内核进行调度

2.C/S编程模型

客户端和服务器都是进程,C/S编程模型由一个服务器进程和一个或多个客户端进程组成
服务器进程管理某种资源,通过操作这种资源来为它的客户端提供某种服务。基本操作为事务,一个客户端-服务器事务由四步组成:
客户端向服务器发送请求,发起一个事务;
服务器收到请求,操作资源;
服务器给客户端发送一个响应,并等待下一个请求。
客户端收到响应并处理它。

3.线程控制及相关系统调用

线程:运行子进程上下文中的逻辑流

mypwd实现

1.实际操作使用pwd命令:

2.使用man命令学习pwd:

3.实现mypwd(借鉴了一下学长学姐的经验教训)

(1)思路:
调用stat函数获得当前目录文件的iNode值,以及父辈目录的iNode;
判断当前目录iNode值与父目录iNode值是否相等,如果相等则打印出存有路径的字符串;
判断此时的iNode是否使用chdir进入上一层父目录;
调用opendir打开当前目录文件,并使用readdir读取所有文件的iNode值并与之前iNode值对比,如果一致,则将文件名存入字符数组中;
返回第一步;
打印出存有路径的字符串;

(2)测试:

原文地址:https://www.cnblogs.com/zch123456/p/10016578.html