首页 > 其他分享 >学习笔记6

学习笔记6

时间:2023-10-22 20:16:30浏览次数:31  
标签:文件 系统 笔记 学习 终止 进程 多任务处理 执行

一、任务详情

自学教材第3章,提交学习笔记(10分),评分标准如下

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

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

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

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

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

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

  1. 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图(3分)
  2. 实践过程截图,代码链接(2分)
  3. 其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)(1分)

二、知识点归纳

1.第三章

3.1 多任务处理

多任务处理指的是同时进行几项独立活动的能力,这是所有操作系统的基础,也是并行编程的基础。多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的,即将CPU执行操作从一个任务切换到另一
个任务。

3.2 进程的概念

在操作系统中,任务也称为进程。进程是对映像的执行。
操作系统内核将一些列执行视为使用系统资源的单一实体,包括内存空间、I/O设备以及最重要的CPU时间,每个进程用一个独特的数据结构表示,叫做进程控制块或任务控制块。

3.3 多任务处理系统

多任务处理系统简称MT,由以下几个部分组成。

  • type.h文件
    定义了系统常数和表示进程的简单PROC结构体。
  • ts.s文件
    在32位GCC汇编代码中可实现进程上下切换。
  • queue.c文件
    可实现队列和链表操作函数。enqueue()函数按优先级将PROC输入队列中。在优先级队列中,具有相同优先级的进程按先进先出的顺序排序。dequeue()函数可返回从队列或链表中删除的第一个元素。printList()函数可打印链表元素。
  • t.c文件
    t.c文件定义MT系统数据结构、系统初始化代码和进程管理函数。

3.4 进程同步

程同步是多任务处理中的一个重要问题,它涉及到如何协调多个进程的执行,以避免竞争和冲突。

  • 睡眠模式:当一个进程需要等待某个事件发生时,它可以进入睡眠模式。这是通过将进程的状态设置为休眠,并等待事件的发生来实现的。
  • 唤醒操作:当事件发生时,另一个进程或中断处理程序可以调用唤醒函数,将等待中的进程从休眠状态唤醒,继续执行。
  • 进程终止:进程可以以正常终止或异常终止的方式结束执行。正常终止是通过调用exit()系统调用来实现的,而异常终止可能涉及信号处理。

3.5 进程终止

进程能以两种方式终止:

  • 正常终止:进程调用exit,发出_exit(value)系统调用来执行在操作系统内核中的kexit(value)
  • 异常终止:进程因某个信号而异常终止

进程家族树:进程可以以树状结构组织,其中父进程可以创建子进程,形成家族关系。

3.6 MT系统中的进程管理

  • 用二叉树的形式实现进程家族树
  • 实现ksleep()和kwakeup()进程同步函数
  • 实现kexit()和kwait()进程管理函数
  • 添加“w”命令来测试和演示等待操作

3.7 Unix/linux中的进程

  • 进程来源:当操作系统启动时,操作系统内核的启动代码会强行创建一个PID=0的初始进程。然后系统执行它。在初始化系统后,P0复刻一个子进程P1,并把进程切换为以用户模式运行P1。

  • INIT和守护进程:P1的大部分子进程都是用来提供系统服务的。它们在后台运行,不与任何用户交互。它们被称为守护进程。

  • 登录进程:除了守护进程,P1复刻了许多登录进程,每个终端上一个,用于用户登录。每个登录进程打开三个与自己的终端相关联的文件流(stdin, stdout, stderr).

  • sh进程:用户登录后,通常会启动一个shell进程,它负责解释和执行用户的命令。Shell进程会创建子进程来执行用户命令,然后等待子进程的终止状态。

  • 进程执行模式:进程可以以不同的执行模式运行,包括中断、陷阱和系统调用。中断和陷阱用于响应外部事件和错误条件,而系统调用用于执行内核函数。

3.9 I/O重定向

  • 文件流和文件描述符:每个文件流对应Linux内核中一个打开文件。它们都用一个文件描述符表示。
    stdin、stdout、stderr的文件描述符分别为0、1、2。

  • 管道与管道命令:管道是用于进程交换数据的单向进程间同此你通道。有一个读取端和一个写入端。
    在Unix/Linux中,命令行cmd1|cmd2包含一个管道符号“|”。Sh将通过一个进程运行cmd1,另一个运行cmd2

2.苏格拉底挑战

image
image
2.
image
image

二、问题与解决思路

问题

(1)I/O重定向和管道通信的联系和区别是什么?

解决思路

image
image

三、实践过程截图

标签:文件,系统,笔记,学习,终止,进程,多任务处理,执行
From: https://www.cnblogs.com/Euyq123/p/17780958.html

相关文章

  • 20211316郭佳昊 《信息安全系统设计与实现(上)》 第七周学习总结
    一、任务要求[1]知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题核心是要求GPT:请你以苏格拉底的方式对我进行提问然后GPT就会......
  • 20211314王艺达学习笔记6
    Unix/Linux进程管理进程是Unix操作系统抽象概念中最基本的一种。进程管理是所有操作系统的心脏所在。一、进程进程是处于执行期的程序。除了可执行程序代码,还包括打开的文件、挂起的信号、内核内部数据、一个或者多个执行线程等多种资源线程是在进程活动中的对象;内核调度的......
  • 2023-2024-1 20231405 《计算机基础与程序设计》第四周学习总结
    2023-2024-120231405《计算机基础与程序设计》第四周学习总结作业信息作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13009作业的目标自学《计算机科......
  • 2023-2024-1 20211211 第三章学习笔记
    一、多任务处理多任务处理指的是同时进行几个独立活动的能力在单处理器(单CPU)系统中,一次只能执行一个任务。而多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的,即将CPU执行操作从一个任务切换到另一个任务。不同任务之间的执行切换机制称为上下文切换,将一个任务的......
  • 《信息安全系统设计与实现》第七周学习笔记
    一、课程内容第十一章学习1、多任务处理指的是同时进行几项独立活动的能力逻辑并行性称为“并发”2、进程操作系统是一个多任务处系统在操作系统中,任务也称为进程。在第2章中,我们把执行映像定义为包含执行代码、数据和堆栈的存储区。定义一个PROC结构体:next:指向下一个P......
  • 第三章Unix/Linux进程管理—学习笔记六
    〇.本章思维导图1.最近刚好操作系统也学习到进程相关部分,因此再看这些知识更易懂了2.思维导图3.本章简介本章讨论了Unix/inux中的进程管理;阐述了多任务处理原则;介绍了进程概念;并以一个编程示例来说明多任务处理、上下文切换和进程处理的各种原则和方法。多任务处理系统......
  • 2023-2024-1 20231302 《计算机基础与程序设计》第4周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第4周作业这个作业的目标门电路,组合电路,逻辑电路,冯诺依曼结构,CPU,内存,IO管理,嵌入式系统,并行结构,物理安全作业正文https://www.cnblogs.com/9q2......
  • 学习笔记6
    知识点总结多任务处理多任务处理是操作系统的一个关键特性,允许多个进程并发运行。多任务处理提供了更好的系统利用率,可以在同一时间内运行多个进程。多任务处理有助于提供更好的响应时间,允许用户交互并同时运行多个应用程序。进程进程是正在执行的程序的实例,包括程序......
  • 信息安全系统设计与实现第四章学习笔记
    一、知识点归纳1.并发计算导论在早期,大多数计算机只有一个处理组件,称为处理器或中央处理器(CPU)。受这种硬件条件的限制,计算机程序通常是为串行计算编写的。要求解某个问题,先要设计一种算法,描述如何一步步地解决问题,然后用计算机程序以串行指令流的形式实现该算法。在只有一个CPU......
  • 学习笔记6
    第三章Unix/Linux进程管理多任务处理多任务处理指的是同时进行几项独立活动的能力这种逻辑并行性称为“并发”多任务处理是所有操作系统的基础进程的概念进程是对映像的执行如下是一个非常简单的PROC结构体:next是指向下一个PROC结构体的指针ksp保存的堆栈指针pid是......