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

学习笔记6

时间:2023-10-21 15:55:58浏览次数:34  
标签:fork int pid 笔记 学习 终止 进程 PROC

第三章.Unix/Linux进程管理

多任务处理:

  指的是同时几项独立活动的能力

  是所有操作系统的基础,是并行编程的基础

进程的概念:

  进程是对映像的执行

  在操作系统中,每个进程用一个独立的数据结构表示,叫进程控制块(PCB)和任务控制块(TCB)。本书中称为PROC

typedef struct proc{
    struct proc *next;  //下一个PROC结构体的指针
    int *kcp;    //保存的堆栈指针
    int pid;        //进程ID编号
    int ppid;    //父进程的ID编号
    int status;    //当前状态
    int priority;       //进程调度优先级
    int kstack[1024];    //进程执行时的堆栈
}PROC;

进程同步

  是指控制和协调进程交互以确保其正确执行所需的各项规则和机制

  睡眠模式/等待:ksleep(int event)

  唤醒操作:kwakeup(event)

进程终止:

  分为正常终止和异常终止

  进程家族树:

PROC *child,*sibling,*parent;

    子进程,兄弟进程,父进程

  等待子进程终止:

    无论何时,进程都能调用内核函数kwait等待僵尸子进程

pid = kwait(int *status)

进程管理中的系统调用:fork()、wait()、exec()、exit()

  fork():

    Usage:int pid = fork();

    fork创建子进程并返回子进程的pid,失败则返回-1。

I/O重定向

管道

标签:fork,int,pid,笔记,学习,终止,进程,PROC
From: https://www.cnblogs.com/dkyzhouyikai/p/17778671.html

相关文章

  • 学习笔记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/......
  • 2023-2024-1 20231404高伟光 《计算机基础与程序设计》第四周学习总结
    作业信息所属班级计算机基础与程序设计作业要求要求作业目标学习并总结课本,通过测试作业正文本博客教材学习内容总结1.学习了门与电路的相关知识,了解了相关运算与图解2.知道大多计算机为冯-诺伊曼体系3.学习了强转,了解计算机赋值逻辑和晕算符号教材学......
  • TCL脚本语言学习
    前言  TCL(ToolCommandLanguage)命令的格式是命令+字符串,第一个是命令,后面都是字符串,tcl的解释器(逐行执行)会根据命令去对后面的字符串进行相关操作。注释符号:#一、安装启动tcl命令行,以%开头sudoaptinstalltcl//安装tcltclsh//启动tcl%二、变量列表1、置换subtitutio......
  • Unix/Linux系统编程自学笔记-第三章:Unix/Linux进程管理
    Unix/Linux系统编程自学笔记-第三章:Unix/Linux进程管理1、概念介绍多任务处理计算机技术概念中的多任务处理指的是同时执行若干独立任务。无论是在多处理机系统还是单处理机系统都可以实现多任务处理。对于单处理机系统,多任务处理的实现依靠着多路复用技术,通过上下文的快速......
  • MySQL学习(7)连接的原理
    什么是连接连接就是把各个表中的记录都取出来进行依次匹配。若无过滤条件,连接查询的结果集中包含一个表中的每一条记录与另一个表中的每一条记录相互匹配的组合,这样的结果集称为笛卡尔积。测试数据:CREATETABLEt1(m1INT,n1char(1));CREATETABLEt2(m2INT,n2char(1));......