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

来杀死指定的进程

相关文章
|
16天前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
38 0
Vanilla OS:下一代安全 Linux 发行版
|
19天前
|
人工智能 安全 Linux
|
24天前
|
安全 算法 Unix
深入浅出操作系统:从基础概念到实践应用
【10月更文挑战第22天】本文旨在以浅显易懂的语言,为读者揭开操作系统的神秘面纱。我们将从操作系统的基本概念出发,逐步深入其核心功能与设计哲学,并通过具体代码示例,展示操作系统如何在实际中发挥作用。无论你是计算机科学的学生,还是对技术有浓厚兴趣的爱好者,这篇文章都将为你提供一次轻松愉快的操作系统之旅。
36 4
|
1月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。
|
1月前
|
Ubuntu Java Linux
Linux操作系统——概念扫盲I
Linux操作系统——概念扫盲I
43 4
|
2月前
|
存储 算法 安全
深入理解操作系统:从基础概念到代码实践
【9月更文挑战第23天】本文将带领读者深入探索操作系统的奥秘,从基础概念出发,逐步揭示操作系统的工作原理和设计哲学。我们将通过实际代码示例,展示操作系统如何与硬件交互、管理资源以及提供用户界面。无论你是计算机专业的学生还是对操作系统感兴趣的开发者,这篇文章都将为你打开一扇通往操作系统世界的大门。
69 16
|
3月前
|
Linux 调度 芯片
Linux0.11 内核体系结构(八)(下)
Linux0.11 内核体系结构(八)
58 1
|
3月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
113 3
|
3月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
|
4月前
|
人工智能 Unix 物联网
深入理解操作系统:从概念到实践
【7月更文挑战第31天】本文将带领读者深入探索操作系统的世界,从基本概念、发展历程、核心组件,到实际应用场景和未来趋势。我们将揭示操作系统如何作为软件与硬件之间的桥梁,以及它如何影响计算机系统的性能和用户体验。通过本文,您将获得对操作系统设计哲学的深刻理解,并掌握评估不同操作系统特性的能力。
77 7
下一篇
无影云桌面