Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)(上)

简介: Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)

要了解进程,我们首先要先了解两大知识点:

1.冯诺依曼体系结构(从硬件的角度来谈)

2.操作系统(从软件的角度来谈)

一.冯诺依曼体系结构

1.冯诺依曼体系结构的说明

2.冯诺依曼体系结构的价值

要了解冯诺依曼体系结构的价值,首先我们要先明确两点:

1.冯诺依曼之前的计算机的局限

可是在基于冯诺依曼体系结构设计的计算机出现之前

计算机有两大不足之处:

1.效率低

2.贵

为什么会这样呢?

这是从网上找的一张计算机的存储金字塔

它详细的说明了一个道理:

当时的计算机只有CPU和输入设备,输出设备

而且大家可能都听说过木桶原理

2.为什么在计算机体系结构当中要存在内存?

因此内存的引入使得我们的计算机的整体效率还不错,而且还比较便宜,这也就利于计算机的传播

使用计算机的人越来越多,因此才出现了互联网

至此,我们就将理解进程前冯诺依曼体系结构相关的前置知识介绍完毕

下面我们来谈一下第二个前置知识:操作系统

二.操作系统

1.什么是操作系统

这里的驱动程序是指:

操作系统可以通过调用对应底层硬件对应的驱动程序的接口来实现对底层硬件的访问与控制

因此把操作系统可以通过驱动程序来保证对硬件管理的高效性和成功率

2.操作系统如何进行管理

至此,我们就了解了操作系统是如何进行软硬件资源管理的了

那么接下来的问题是:

操作系统跟用户之间是什么关系呢?

下面我们就说明操作系统跟用户之间的关系:

3.为什么要有操作系统

4.系统调用接口和用户操作接口

至此,大家对于这张图片的理解就会更加深刻了

我们将理解进程前操作系统相关的前置知识介绍完毕了

下面我们正式进入进程的学习当中

三.进程理解

1.进程的概念

我们大家应该都知道我们windows系统当中的任务管理器

程序被加载到内存变成进程的时候,操作系统会给每一个进程分配一个用来存放该进程的结构体对象的数据,方便操作系统对进程进行管理!

下面这个就是描述进程信息的结构体

至此操作系统成功将进程的属性用PCB对象描述好了,

因此操作系统对于进程的管理就变成了对PCB对象的管理

因此:

进程=内核数据结构(不仅仅是PCB对象)+可执行程序

因此,所有对进程的控制和操作都只和进程的PCB对象有关,和进程的可执行程序无关

只要你愿意,你可以把PCB对象放入任何数据结构中进行管理!

2.task_struct结构体独特的链接方式

请注意:

一个task_struct可以被连入多种数据结构中!!!

这一点很重要,因为我们以后还要介绍运行队列,

这就是在不改变task_struct已经形成的链表结构的同时

还可以将其放入队列当中的原因

3.task_struct内容分类(粗略的谈一下)

那么task_struct里面都是什么呢?

我们先来粗略的谈一下

关于这里的这个pc指针或者eip寄存器

我们介绍一下它的作用

这些内容我们以后会详细介绍的

你说了这么多,总得让我们见一见进程吧

下面我们先来看一下进程基础的相关操作

四.进程基础的相关操作

1.查看进程

先生成一个process可执行程序

ps ajx | head -1 && ps -ajx | grep 可执行程序名字
• 1

在这里我们先执行了一个可执行程序:process

然后查看这个进程

ps ajx | head -1 && ps -ajx | grep 可执行程序名字 | grep -v grep

2.杀死进程

刚才我们说了ctrl+c退出一个进程

有些时候ctrl+c并不可行(下面我们就会见到这种情况的)

此时就需要我们去使用

kill -9 进程的PID

来杀死指定的进程

相关文章
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
59 0
Vanilla OS:下一代安全 Linux 发行版
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
1月前
|
人工智能 安全 Linux
|
2月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。
|
2月前
|
Ubuntu Java Linux
Linux操作系统——概念扫盲I
Linux操作系统——概念扫盲I
53 4
|
5月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
5月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
192 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
4月前
|
存储 缓存 Linux
在Linux中,文件系统概念是什么?
在Linux中,文件系统概念是什么?
|
4月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
143 3
|
4月前
|
Linux Shell 调度
【在Linux世界中追寻伟大的One Piece】Linux进程概念
【在Linux世界中追寻伟大的One Piece】Linux进程概念
48 1