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

学习笔记6

时间:2023-10-21 16:57:35浏览次数:26  
标签:P1 int cmd 用户 笔记 学习 进程 执行

第三章学习总结

多任务处理

  • 一般指的是同时进行几项独立活动的能力,这种逻辑并行性称为“并发”。

进程的概念

  • 进程是对映像的执行
  • 每个进程用一个独特的数据结构表示,称为进程控制块(PCB)或任务控制块(TCB),本书称为PROC结构体。如下是一个非常简单的PROC结构体:
  • next:指向下一个PROC结构体的指针
  • ksp:保存的堆栈指针
  • pid:一个进程的进程编号
  • status:表示当前状态
  • priority:进程调度优先级
  • kstack:进程执行时的堆栈

多任务处理系统

type.h文件

  • 文件定义了系统常熟和表示进程的简单PROC结构体
#define FREE 0
#define READY 1
#define SLEEP 2
#define ZOMBIE 3
typedef struct proc
{ 
   struct proc *next;
   int *ksp;
   int pid;
   int ppid;
   int status;
   int priority;
   int kstack[SSIZE];
}

ts.s文件

  • 在32位GCC汇编代码中可实现进程上下文切换

queue.c文件

  • 可实现队列和链表操作

t.c文件

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

Unix/Linux中的进程

进程来源

  • 当操作系统启动时,操作系统内核的启动代码会强行创建一个PID=0初始进程。执行初始进程P0

INIT和守护进程

  • 当进程P1开始运行时,它将其执行映像更改为INIT程序。因此,P1通常被称为INIT进程,因为它的执行映像是init程序。P1 开始复刻出许多子进程。
  • P1的大部分子进程都是用来提供系统服务的。它们在后台运行,不与任何用户交互。

登录进程

  • P1复刻了许多LOGIN进程,每个终端上一个,用于用户登录。

sh进程

  • 当用户成功登录时,LOGIN进程会获取用户的gid和uid,从而称为用户的进程。他将目录更改为用户的主目录并执行列出的程序,通常是命令解释程序sh。

进程的执行模式

  • 在Unix/Linux中进程以两种不同的模式执行,即内核模式和用户模式,简称Kmode和Umode。在每种执行模式下,一个进程有一个执行映像。

编程项目:sh模拟器

带有I/O重定向的单命令

  • 提示用户输入命令行,其形式为:
    cmd arg1 arg2 arg3…argn
  • 处理简单命令:
cmd = "cd"  : chdir(arg1) OR chdir(HOME) if no arg1;
cmd = "edit": exit(0) to terminate;
  • 对于所有其他命令:
    • 创建子进程;
    • 等待子进程终止;
    • 打印子进程的退出状态;
    • 继续执行步骤1;
  • 子进程
    • 处理I/O重定向
    • 执行cmd,传递参数

带有管道的命令

ELF可执行文件与sh脚本文件

苏格拉底挑战






遇到的问题

标签:P1,int,cmd,用户,笔记,学习,进程,执行
From: https://www.cnblogs.com/gao0818/p/17779196.html

相关文章

  • 《信息安全系统设计与实现》第七周学习笔记
    《信息安全系统设计与实现》第七周学习笔记第三章Unix/Linux进程管理多任务处理多任务处理简单说,就是同一时间给多个程序运行处理数据。即使在系统中通常有许多其他的程序在运行,但进程也可以向每个程序提供一种假象,仿佛它在独占地使用处理器。但事实上进程是轮流使用处理器的......
  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第六周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第六周学习笔记一、任务要求1.自学教材第3章,提交学习笔记(10分),评分标准如下1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X......
  • # 20211301 学习笔记6
    20211301郑润芃学习笔记6第三章教材知识总结3.1多任务处理多任务处理:指同时进行几项独立活动的能力单CPU:一次只能执行一个任务多任务处理:通过不同任务之间多路复用CPU的执行时间上下文切换:不同人物之间的执行切换机制并发:逻辑并行性3.2进程的概念进......
  • 学习笔记6
    第三章.Unix/Linux进程管理多任务处理:指的是同时几项独立活动的能力是所有操作系统的基础,是并行编程的基础进程的概念:进程是对映像的执行在操作系统中,每个进程用一个独立的数据结构表示,叫进程控制块(PCB)和任务控制块(TCB)。本书中称为PROCtypedefstruct......
  • 学习笔记6
    第3章Unix/Linux进程管理一、知识点归纳多任务处理同时进行几项独立活动的能力通过在不同任务之间多路复用CPU的执行时间来实现,即将CPU执行操作从一个任务切换到另一个任务“并发”所有操作系统的基础并行编程的基础进程的概念进程是对映像的执行。PROC结构体U......
  • 《Unix/Linux系统编程》教材学习笔记第三章
    chapter3多任务处理一般来说,多任务处理指的是同时进行几项独立活动的能力。在计算机技术中,多任务处理指的是同时执行几个独立的任务。在单处理器(单CPU)系统中,一次只能执行一个任务。多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的,即将CPU执行操作从一个任务切换到......
  • 开发笔记
    开发笔记环境配置类0.杂项配置M1Mac的python环境:M1miniconda,需要用哪些包先去https://anaconda.org/查询是否只是M1芯片,不支持的貌似安装不了(比如pygame)直接用Pycharm的新建环境,不过不知道下载的是M1版本的还是通过Rosetta转译的。关于jupyternotebook:在base环境......
  • 捡起ctf学习 day1 Linux Labs
    1.把忘记密码的kali重置了密码进入GRUB启动程序,修改命令,重置密码(参考https://www.cnblogs.com/wh0915/p/17153270.html) 2.做题,ssh连接命令ssh-p端口用户名@网址然后输入密码即可连接 cd命令:切换当前目录百至其它目录,比如进入/etc目录,则执行cd/etccd/:在Linux系......
  • 学习笔记6
    知识点归纳多任务处理系统多任务处理系统是一种计算机操作系统,可以同时执行多个任务或进程,从而提高计算机的效率和吞吐量。它允许用户在一个系统中运行多个程序,并且这些程序可以并行执行,互不干扰。多任务处理系统有两种类型:协作型和抢占式。在协作型系统中,多个任务共享CPU的时......
  • 2023-2024-1 20231317《计算机基础与程序设计》第四周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2023-2024-1计算机基础与程序设计第四周作业)这个作业的目标<《C语言程序设计第三章》>作业正文...本博客链接https://www.cnblogs.com/......