进程(8)

目录

1、冯诺依曼体系结构

2、理解操作系统

3、如何理解管理?

4、进程

5、pcb的内部构成

1、标示符

2、状态

3、优先级、程序计数器、内存指针、I/O状态信息、记账信息

4、上下文数据

5、命令模式下批量化注释

6、/proc目录


1、冯诺依曼体系结构

输入设备:键盘、话筒、磁盘、网卡等。

输出设备:显示器、磁盘、网卡、显卡等。

存储器(内存)

运算器和控制器(cpu)

注意:运算器是处理算数运算和逻辑运算。

          控制器是执行cpu中的控制逻辑,例如:读取指令。

 有了内存,从数据层面上,cpu就不需要直接和外设打交道。

2、理解操作系统

操作系统是一款进行软硬件资源管理的软件。

为什么设计操作系统?

操作系统对下要管理好软硬件资源,对上给用户提供稳定、高效、安全的运行环境。


为什么会出现系统调用接口?

操作系统不相信任何用户,但还要为用户提供服务。就类似于银行,银行并不信任你,但是还为你提供服务,银行开设了一个个的窗口,来为客户提供服务。因此,操作系统提供了一个个的系统调用接口,来为用户提供服务。

怎么理解系统调用接口?

说人话,就是一个个函数。因为Linux是用C写的,可以理解为就是一个个C函数。


系统调用接口vs上层语言库?

因为系统调用接口比较复杂,就有一些人对系统调用接口进行软件封装,以第三方库的形式出现,或者以语言的形式出现。

3、如何理解管理?

下面将叙述一个小故事:

 站在校长的角度:可以通过一个结构体,里面存放了一名学生的所有信息(数据),再将所有学生的结构体通过一个链表链接起来,这样一来,对学生的管就变成了对链表的管理,也就是对数据结构的增删查改。

上述再总结一下就是:管理:(1)先描述(先描述被管理对象)(2)再组织(将被管理对象使用特定的数据结构组织),对目标的管理转化为对数据的管理。

所以,所谓管理,就是先描述,再组织。

4、进程

为什么会有pcb?

系统中可能会存在大量的进程,所以操作系统要对进程进行管理。管理就要先描述再组织,任何进程在成立之初,操作系统就要为该进程创建pcb(进程控制块)。

pcb是什么?

操作系统上的pcb,从语言上看,就是一个结构体类型。在Linux中,pcb就是struct task_struct,里面存放了进程的所有属性。

ps  axj          查看系统中的所有进程

ps  ajx          查看系统中的所有进程

当一个程序运行起来时,不能再称为程序,应该称为进程。

 有了进程控制块,所有进程管理任务就与进程对应的程序无关了,与进程pcb强相关。

5、pcb的内部构成

1、标示符

标示符:描述本进程的唯一标示符,用来区别其他进程。

#include<sys/types.h>

#include<unistd.h>

pid_t  getpid(void);            获得当前进程id

pid_t  getppid(void);          获得父进程id

ctrl c或kill -9 pid            干掉对应的进程

注意:在命令行上运行的命令,基本父进程都是bash

2、状态

状态: 任务状态,退出代码,退出信号等。

echo  $?          输出最近执行命令的退出码

注意:main函数中的return返回的是进程退出时的退出码

3、优先级、程序计数器、内存指针、I/O状态信息、记账信息

优先级: 相对于其他进程的优先级。

程序计数器: 程序中即将被执行的下一条指令的地址。

内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。

I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。

记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。

4、上下文数据

上下文数据: 进程执行时处理器的寄存器中的数据。

 


5、命令模式下批量化注释

批量化注释:命令模式下:ctrl  v,按j下翻,再按大写I,双斜杠//,再ESC

删批量化注释:ctrl  v,l选中区域,按d

6、/proc目录

进程启动之后,会在proc目录下形成一个目录,以自身pid编号作为目录名,然后形成一个文件夹,当进程退出时,会自动消失。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值