20211128《信息安全系统设计与实现》第三章学习笔记

发布时间 2023-10-22 09:23:06作者: 20211128李杰

一、任务内容

自学教材第10章,提交学习笔记(10分)

1. 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容 (4分)

 “我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”

核心是要求GPT:“请你以苏格拉底的方式对我进行提问”

然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:“你的理解(回答)是什么?”

如果你觉得差不多了,可以先问问GPT:“针对我XXX知识点,我理解了吗?”

 GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:“我的回答结束了,请对我的回答进行评价总结”,让它帮你总结一下。

2. 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图(3分)

3.实践过程截图,代码链接(2分)

4.其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)(1分)

 

二、知识点归纳以及自己最有收获的内容

一)知识点归纳

1、进程概念

进程是对映像的执行。

2、Unix/Linux中的进程

进程标识符(PID):每个进程都有一个唯一的进程标识符(PID),用于在系统中唯一标识该进程。

父进程和子进程:除了初始进程(PID为1)外,每个进程都有一个父进程。创建新进程时,会生成一个与之相关联的子进程。

进程状态:进程在不同的生命周期阶段具有不同的状态,如运行态、就绪态、睡眠态等。

进程调度:操作系统根据调度算法,将CPU的执行时间分配给各个进程,以实现多任务并发执行。

进程间通信(IPC):进程可以通过IPC机制进行通信,包括管道、消息队列、共享内存和信号量等。

进程控制:Linux提供了一系列系统调用(如fork、exec、wait等)来创建、终止、等待和管理进程。

进程资源限制:可以对进程进行资源限制,如文件描述符数目、内存使用量等,以确保系统的稳定性和安全性。

进程组和会话:进程可以组成进程组,进程组又可以组成会话,用于管理多个相关进程的集合。

守护进程:守护进程是在后台运行的无终端会话的进程,常用于执行系统服务。

3、I/O重定向

 标准输入(stdin):默认情况下,程序从标准输入中读取数据。通常标识为文件描述符0。

标准输出(stdout):默认情况下,程序将结果输出到标准输出。通常标识为文件描述符1。

标准错误(stderr):程序的错误输出通常被发送到标准错误流。通常标识为文件描述符2。

输入重定向:使用"<"符号将一个文件的内容作为程序的输入,而不是从标准输入中获取数据。例如,program < input.txt将input.txt文件中的内容作为程序的输入。

输出重定向:使用">"符号将程序的输出结果写入一个文件,而不是输出到标准输出。如果文件不存在,则创建该文件;如果文件已存在,则清空文件内容再写入。例如,program > output.txt将程序的输出写入output.txt文件。

追加输出重定向:使用">>"符号将程序的输出结果追加到一个文件末尾,而不是覆盖原有内容。如果文件不存在,则创建该文件。例如,program >> output.txt将程序的输出追加到output.txt文件末尾。

错误输出重定向:使用"2>"符号将程序的错误输出写入一个文件,而不是输出到标准错误流。例如,program 2> error.txt将程序的  错误输出写入error.txt文件。

合并输出和错误输出:使用">&"符号将标准输出和标准错误合并,然后重定向到文件或设备中。例如,program > output.txt 2>&1将程序的输出和错误输出都写入output.txt文件。

管道:将一个命令的输出作为另一个命令的输入,实现两个命令之间的数据传递。例如,command1 | command2将command1的输出作为command2的输入。

4、管道

 管道是一种特殊的I/O重定向方式,它将一个命令的标准输出作为另一个命令的标准输入,以实现两个命令之间的数据传递。通过管道,我们可以将多个命令组合起来,实现功能更强大的操作。

下面是关于Linux管道的要点总结:

管道是一种单向数据流:数据只能从管道的前端流入到管道的后端。

通过|符号连接多个命令形成管道:例如,command1 | command2将command1的输出作为command2的输入。

管道的使用可以使命令行更加简洁、高效:例如,ls -al | grep test将列出当前目录的所有文件和文件夹,然后筛选出包含“test”字符的项。

管道可以连接多个命令:例如,cat file.txt | grep keyword | sort | uniq将文件file.txt中包含关键字“keyword”的行筛选出来,并按照字母顺序排序,然后去除相邻的重复行。

管道中的每个命令都是一个进程:每个命令都将在一个新的子进程中执行。

管道操作会耗费系统资源:每个管道需要消耗一定的CPU和内存资源。

管道的每个命令都应该是可靠的:如果管道中有某个命令执行失败,整个管道操作将中断。

管道的性能高度依赖于系统的I/O速度:因为管道操作需要对数据进行频繁的I/O操作。

管道可以用在shell脚本中:通过管道连接多个命令,可以实现复杂的数据处理和转换。

二)最有收获的内容

 

 

 

 

 

 

 

 

 

 

、问题与解决思路

 

、实践过程