首页 > 其他分享 >第六周学习笔记20211303

第六周学习笔记20211303

时间:2023-10-22 21:55:33浏览次数:40  
标签:函数 MT int 系统 笔记 第六周 GPT 20211303 进程

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

一、课本第三章内容总结

进程的概念

  进程是对映像的执行

              每个进程用一个独特的数据结构表示,叫做进程控制块(PCB)或任务控制块(TCB)。该结构体中包含某个进程的所有信息。其中有

    int *ksp

    int pid

    int status

    等内容。ksp位指向下一个结构体的指针。

  多任务处理系统

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

    ts.s文件在32位GCC汇编代码中可实现进程上下文切换。

    queue.c文件可以实现队列和链表操作函数。

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

    MT系统基本代码介绍

    (1)gcc -m32 t.c ts.s

      然后运行a.out,可以让整个MT系统在用户模式下作为Linux进程运行。

    (2)init()

      初始化系统。

    (3)kfork()

      创建优先级位1的子进程。

    后续还有五个步骤,持续完成多任务处理系统。

  进程同步

    睡眠模式

      某进程需要某些目前没有的东西时,会进入休眠,为实现休眠,可以通过添                    加event字段,并实现ksleep(int event)函数。

    唤醒操作

      kwakeup(event)

MT系统的进程管理

   实现MT系统的进程管理函数

      (1)用二叉树形式实现进程家族树

      (2)实现ksleep()和kwakeup()进程管理函数

      (3)实现kexit()和kwait()进程管理函数

      (4)添加“w”命令

进程管理的系统调用

    fork()

                       int pid = fork() fork()

      创建子进程并返回子进程的pid。 在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。

    wait()

      int wait(int *status)

          如果父进程调用了wait就阻塞自己,然后wait来分析某个子进程是否已经退                   出,并收集其信息然后彻底销毁。

    exec()

      用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其main函数开始执行

    exit()

               int atexit(void (*func)(void));

进程的执行模式

    中断:中断是外部设备发送给 CPU的信号,请求CPU服务。

    陷阱:陷阱是错误条件,例如无效地址、非法指令、除以0等、这些错误条件被CPU识别为异常,使得CPU进入 Kmode 来处理错误。

    系统调用:系统调用(简称syscall)是一种允许Umode 进程进入Kmode 以执行内核函数的机制。如果发生错误,外部全局变量 errno(在errno. h中)会包含一个ERROR代码,用于标识错误。用户可使用库函数perror( "error message");

 

二、苏格拉底挑战

 

 

 

 三、学习代码

 

 

 



 

标签:函数,MT,int,系统,笔记,第六周,GPT,20211303,进程
From: https://www.cnblogs.com/liTCabcAbc/p/17781231.html

相关文章

  • 学习笔记6
    学习笔记6:多任务管理和进程管理3.1多任务管理多任务处理是指同时执行多项独立活动的能力,它是操作系统的基础,也是并行编程的基础。3.2进程的概念操作系统是一个多任务处理系统,任务也称作进程。正式定义中,进程是对映像的执行。操作系统内核将一系列执行视为使用系统资源的单一......
  • 学习笔记6
    Unix/Linux进程管理多任务处理一般来说,多任务处理指的是同时进行几项独立活动的能力。在计算机技术中,多任务处理指的是同时执行几个独立的任务。在单处理器(单CPU)系统中,一次只能执行一个任务。多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的,即将CPU执行操作从......
  • 学习笔记6
    目录学习笔记6知识点归纳第3章Unix/linux进程管理苏格拉底挑战问题与解决方案学习笔记6知识点归纳第3章Unix/linux进程管理多任务处理Unix/Linux操作系统支持多任务处理,即同时运行多个程序或任务。每个任务都是一个进程,独立运行,互不干扰。进程的概念:进程是操作系统中......
  • Python学习笔记(一)
    Python中一切皆对象,函数和类也是对象,属于Python的一等公民。对象可以赋值给一个变量对象可以添加到集合对象中对象可以作为参数传递给函数对象可以当做函数的返回值对象的三个特征:1、身份(id());2、类型;3、值type->int>1type>class->objobject是最顶层基类type也是一个......
  • 学习笔记6
    一、任务详情自学教材第3章,提交学习笔记(10分),评分标准如下知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”核心是要求GPT:“......
  • 20211314王艺达学习笔记6
    Unix/Linux进程管理进程是Unix操作系统抽象概念中最基本的一种。进程管理是所有操作系统的心脏所在。一、进程进程是处于执行期的程序。除了可执行程序代码,还包括打开的文件、挂起的信号、内核内部数据、一个或者多个执行线程等多种资源线程是在进程活动中的对象;内核调度的......
  • 2023-2024-1 20211211 第三章学习笔记
    一、多任务处理多任务处理指的是同时进行几个独立活动的能力在单处理器(单CPU)系统中,一次只能执行一个任务。而多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的,即将CPU执行操作从一个任务切换到另一个任务。不同任务之间的执行切换机制称为上下文切换,将一个任务的......
  • 《信息安全系统设计与实现》第七周学习笔记
    一、课程内容第十一章学习1、多任务处理指的是同时进行几项独立活动的能力逻辑并行性称为“并发”2、进程操作系统是一个多任务处系统在操作系统中,任务也称为进程。在第2章中,我们把执行映像定义为包含执行代码、数据和堆栈的存储区。定义一个PROC结构体:next:指向下一个P......
  • 第三章Unix/Linux进程管理—学习笔记六
    〇.本章思维导图1.最近刚好操作系统也学习到进程相关部分,因此再看这些知识更易懂了2.思维导图3.本章简介本章讨论了Unix/inux中的进程管理;阐述了多任务处理原则;介绍了进程概念;并以一个编程示例来说明多任务处理、上下文切换和进程处理的各种原则和方法。多任务处理系统......
  • 学习笔记6
    知识点总结多任务处理多任务处理是操作系统的一个关键特性,允许多个进程并发运行。多任务处理提供了更好的系统利用率,可以在同一时间内运行多个进程。多任务处理有助于提供更好的响应时间,允许用户交互并同时运行多个应用程序。进程进程是正在执行的程序的实例,包括程序......