Linux篇——初识进程

1.冯诺依曼体系

现代计算机的结构大多都是采用的冯诺依曼结构,它对计算机的组成规定了五个核心组成:

1.输入设备:输入设备是指用于向计算机系统输入数据或控制信息的各种设备。
2.存储器:存储器是计算机系统中用于存储数据和程序的设备。在计算机中,存储器通常被分为两种主要类型:主存储器(主内存)和辅助存储器(辅助内存)。
3.运算器:运算器是计算机系统中负责执行算术和逻辑运算的部件或模块。在计算机系统中,通常将运算器与控制器结合起来构成中央处理单元(CPU)。运算器负责执行各种算术运算(如加法、减法、乘法、除法)和逻辑运算(如与、或、非等),是实现计算机数据处理功能的核心部件之一。
4.控制器:控制器是计算机系统中的一个重要组成部分,负责协调和控制整个计算机系统的运行。在中央处理单元(CPU)中,控制器通常与运算器结合在一起,共同构成 CPU。
5.输出设备是计算机系统中用于向用户显示或传递计算结果的设备,主要作用是将计算机处理后的数据、信息或图形等输出给用户或其他设备。

在这里插入图片描述

2.内存

一开始的计算机只有由输入设备、运算器、输出设备组成,运算器的计算效率要远大于输入输出设备,根据木桶原理,计算器的效率很大程度取决于输入输出设备的效率。

冯诺依曼体系结构的诞生,引入了内存插入到输入设备和运算器的中间,输入设备输入的数据,都要先预加载到内存当中,再由内存加载到运算器当中,运算器对数据进行处理完后,再存储到内存中,由内存加载到输出设备上。

而且当CPU闲置的时候,内存还会把近期频繁访问的数据保存起来,叫做缓存,每当CPU需要数据时,就会先从缓存里找,如果有,就直接由内存加载到CPU上,大大提高了计算机的效率。

内存的引入,使得计算机的效率问题取决于内存效率为主,变成了软件问题,取决于操作系统写的好不好,能不能高效的利用内存。

3.操作系统

首先,我们要知道的是,操作系统是管理软硬件资源的一个软件,而且是第一个被加载到内存的软件。
那么,操作系统是如何对我们的软硬件进行管理的呢?
管理一个计算机建模的过程 ,操作系统将硬件的信息用数据模型的形式保存下来,并像数据结构一样进行连接,当要对哪个硬件做操作时,遍历链表,然后通过对应的驱动,对硬件进行操作。把你对数据的管理场景转化为对特定数据结构的增删查改将具体问题,进行计算机级别的建模的过程转成计算机能够认识的问题
先描述,再组织,这句话是Linux操作系统管理的核心)
对下管理好软硬件资源-----手段
对上提供一个良好的运行环境-----目的

4.系统调用

C语言写的库函数,对系统调用接口进行包装,降低了操作系统的使用成本,不需要用户关心在哪个操作系统下,只需要根据需求使用对应的接口(库函数),就可以对操作系统进行操作,这就是为什么C语言具有跨平台性,可移植性。
在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者二次开发。

5.进程控制块

进程=内核数据结构+可执行程序
操作系统管理进程也是先描述再组织,进程信息被放在一个叫进程控制块的数据结构中,可以理解为进程属性的集合。
课本上称之为PCB(process control block),Linux操作系统下的PCB是:task_struct
可执行程序运行需要先加载到RAM(内存),而操作系统要对可执行程序进行管理,要先描述再组织,形成了一个PCB对象,PCB对象对可执行程序进行描述,再将每个PCB对象用数据结构连接起来,从而把对进程的管理变成了对数据结构的增删查改。

6.pid、ppid

pid、ppid都是task_struct的属性
pid(标识符):描述本进程的唯一标识符,用来区别其他进程
ppid:父进程的pid
获取pid的方式:PCB是属于操作系统内核的数据,因此想要得到task_struct的数据,必定要调用系统调用
在编写程序中要获取对应进程的pid,就需要调用系统调用——pid_t getpid(void)
每次启动进程,pid可能都不一样,因为每次启动的进程都是一个新的进程
一般在Linux中,每个普通进程都有一个父进程bash(Linux的shell外壳:命令行解释器)
描述进程的PCB对象里有一个属性专门记录父进程的pid,也就是ppid
获取进程ppid的系统调用——pid_t getppid(void)

7.命令

ps xsj:显示进程状态的命令
grep [选项]… 模式 [文件]:grep在每个文件中查找指定的模式

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值