2023-2024-1 20211306 密码系统设计与实现课程学习笔记6

发布时间 2023-10-21 18:41:13作者: 20211306丁文博

20211306 密码系统设计与实现课程学习笔记6

任务详情
自学教材第3章,提交学习笔记

  1. 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容
    “我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”
    核心是要求GPT:“请你以苏格拉底的方式对我进行提问”
    然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:“你的理解(回答)是什么?”
    如果你觉得差不多了,可以先问问GPT:“针对我XXX知识点,我理解了吗?”
    GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:“我的回答结束了,请对我的回答进行评价总结”,让它帮你总结一下。
  1. 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图
  2. 实践过程截图,代码链接
  3. 其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)

一、第三章学习总结

摘要:本章讨论了Unix/Linux中的进程管理;阐述了多任务处理原则;介绍了进程概念;并以一个编程示例来说明多任务处理、上下文切换和进程处理的各种原则和方法。

多任务处理

一般来说,多任务处理指的是同时进行几项独立活动的能力。在单处理器(单CPU)系统中,一次只能执行一个任务。多任务处理是通过在不同任务之间多路复用 CPU 的执行时间来实现的,即将 CPU执行操作从一个任务切换到另一个任务。不同任务之间的执行切换机制称为上下文切换,将一个任务的执行环境更改为另一个任务的执行环境。如果切换速度足够快,就会给人一种同时执行所有任务的错觉,这种逻辑并行性称为“并发”。在有多个CPU或处理器内核的多处理器系统中,可在不同CPU上实时、并行执行多项任务。

进程的概念

操作系统时一个多任务处理系统,任务也叫进程。

进程是对映像的执行

草错系统内核将一系列执行视为使用系统资源的单一实体。系统资源包括内存空间I/0设备以及最重要的CPU时间。在操作系统内核中,每个进程用一个独特的数据结构表示,叫作进程控制块(PCB)或任务控制块(TCB)等。与包含某个人所有信息的个人记录一样,PROC 结构体包含某个进程的所有信息。在实际操作系统中,PROC结构体可能包含许多字段,而且数量可能很庞大。首先,我们来定义一个非常简单的PROC结构体来表示进程。

多任务处理系统

type.h文件

type.h文件定义了系统常数和表示进程的简单PROC结构体

ts.s文件


queue.c文件
queue.c文件可实现队列和链表操作函数。enqueue0 函数按优先级将 PROC输入队列中在优先级队列中,具有相同优先级的进程按先进先出(FIFO)的顺序排序。dequeue0函数可返回从队列或链表中删除的第一个元素。printList0函数可打印链表元素。

t.c文件

t.c文件定义MT系数数据结构、系统初始化代码和进程管理函数





多任务处理系统代码介绍





Unix/Linux中的进程

进程来源

当操作系统启动时,操作系统内核的启动代码会强行创建一个PID=0的初始进程,即通过分配PROC结构体(通常是 proc[0])进行创建,初始化PROC内容,并让运行指向proc[0]。然后,系统执行初始进程PO。大多数操作系统都以这种方式开始运行第一个进程。PO继续初始化系统,包括系统硬件和内核数据结构。然后,它挂载一个根文件系统,使系统可以使用文件。在初始化系统之后,PO 复刻出一个子进程P1,并把进程切换为以用户模式运行 P1。

INIT和守护进程

登陆进程

sh进程

当用户成功登录时,LOGIN进程会获取用户的gid 和 uid,从而成为用户的进程。它将目录更改为用户的主目录并执行列出的程序,通常是命令解释程序sh。现在,用户进程执行sh,因此用户进程通常称为 sh 进程。它提示用户执行命令。一些特殊命令,如cd( 更改目录)、退出、注销等,由sh自己直接执行。其他大多数命令是各种 bin目录(如/bin、/sbinusr/bin/usr/local/bin等)中的可执行文件。对于每个(可执行文件)命令,sh会复刻一个子进程,并等待子进程终止。子进程将其执行映像更改为命令文件并执行命令程序。子进程在终止时会唤醒父进程sh,父进程会收集子进程终止状态、释放子进程PROC结构体并提示执行另一个命令等。除简单的命令之外,sh 还支持 /0重定向和通过管道连接的多个命令。

进程的执行模式


二、苏格拉底提问GPT










三、Linux代码实现

ls

man ls

ls -a/i

ls -R

ls -l

r可读w可写x可执行

chmod+-可执行权限