博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
阅读量:6187 次
发布时间:2019-06-21

本文共 719 字,大约阅读时间需要 2 分钟。

教材总结

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

1.进程。每个逻辑流都是一个进程,由内核来调度和维护。

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

2.C/S编程模型

客户端和服务器都是进程,C/S编程模型由一个服务器进程和一个或多个客户端进程组成

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

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

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

mypwd实现

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

1296592-20181125182047080-1801488072.png

2.使用man命令学习pwd:

1296592-20181125182258829-647504476.png

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

(1)思路:

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

(2)测试:

1296592-20181125182906174-1019548166.png

转载于:https://www.cnblogs.com/zch123456/p/10016578.html

你可能感兴趣的文章
liunx 中普通用户关机的方法
查看>>
LNMP架构应用实战——Nginx配置虚拟主机
查看>>
linux和unix常用快捷键
查看>>
IT职场人生系列之九:消费观(攒钱,继续教育,买房)
查看>>
第八部分 防火墙规则
查看>>
dedecms后台管理搜索到文章正文内容的方法
查看>>
CentOS6服务管理之DNS-本地DNS服务器的搭建
查看>>
win7英文版系统打开txt文本乱码
查看>>
HTML JS 弹层后底部页面禁止滚动处理
查看>>
python session验证用户
查看>>
我的友情链接
查看>>
写点和硬件有关的
查看>>
硬盘/u盘能识别不能打开问题分析
查看>>
Windows服务的手动添加和删除方法
查看>>
AndroidAnnnotations注入框架的工作原理(二)
查看>>
用fail2ban阻止密码尝试***
查看>>
/etc/resolv.conf文件被复写的解决
查看>>
Windows抓127.0.0.1的包
查看>>
Maven 使用profiles 时 值无法替换问题
查看>>
Edraw Office Viewer component教程(三):将MS Word、Excel、PowerPoint嵌入到WPF应用程序中...
查看>>